# HT-203U: reconstructing thermal camera capture on Linux

> HT-203U Linux tools reconstruct video and temperature capture for the HT-203U USB thermal camera. Protocol notes document its UVC frame layout, USB control sequence and calibrated mode 8 temperature encoding; the supplied scripts display live video, read summaries and save per-pixel temperature frames.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/Krastanov/ht-203u-linux>
- Primary source: <https://github.com/Krastanov/ht-203u-linux/blob/7d9eebabf0a04d6171c5b89ca4f26b3577bdadb6/README.md>
- Catalog page: <https://awesomerea.org/resources/ht-203u-linux-case/>
- Record JSON: <https://awesomerea.org/resources/ht-203u-linux-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/ht-203u-linux-case/index.md)

## Requirements & limits

- **Prerequisites:** Python 3.11+, Linux video-device access, v4l-utils and FFmpeg with ffplay are required for live viewing.
- **Prerequisites:** Direct USB calibrated capture requires one HT-203U, libusb, PyUSB and access to its USB node.
- **Testing evidence:** The author reports testing one camera with firmware 4.09; temperature accuracy was not calibrated against a reference instrument.
- **License:** CC0-1.0 license.

## Primary sources

1. <https://github.com/Krastanov/ht-203u-linux/blob/7d9eebabf0a04d6171c5b89ca4f26b3577bdadb6/README.md>
2. <https://github.com/Krastanov/ht-203u-linux/blob/7d9eebabf0a04d6171c5b89ca4f26b3577bdadb6/THERMOMETRY.md>
3. <https://github.com/Krastanov/ht-203u-linux/blob/7d9eebabf0a04d6171c5b89ca4f26b3577bdadb6/thermometry/sdk-reverse-notes.md>

## More in Protocols

- [Pair-Raught: bridging Steam Controller RF to Switch 2 USB](https://awesomerea.org/resources/pair-raught-case/index.md) · Case study
- [SPORTident SRR: reconstructing the short-range radio link](https://awesomerea.org/resources/sportident-srr-protocol-case/index.md) · Case study
- [Tapo V4: reconstructing C510W local control and media protocols](https://awesomerea.org/resources/tapo-v4-protocol-case/index.md) · Case study
- [Omni Tray: reconstructing Arctis Nova Pro Omni USB control](https://awesomerea.org/resources/omni-tray-arctis-protocol-case/index.md) · Case study
- [tapo-local: reconstructing local control of the Tapo P110](https://awesomerea.org/resources/tapo-local-case/index.md) · Case study
- [castty: reconstructing Mionix Castor control on Linux](https://awesomerea.org/resources/castty-mionix-castor-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
