# Thermal Master P3: a browser client for the vendor USB protocol

> A browser viewer for the Thermal Master P3, which speaks a vendor USB protocol over vendor USB control transfers. tests/test_webusb.mjs compares built commands with captured 18-byte transfers, including read_name, and parses a captured status buffer.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-03
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/ferrolho/thermal-master-viewer>
- Primary source: <https://github.com/ferrolho/thermal-master-viewer/blob/39024dd148e9e1c9b5f03ace8cbb81f84563b59b/README.md>
- Catalog page: <https://awesomerea.org/resources/thermal-master-p3-protocol-case/>
- Record JSON: <https://awesomerea.org/resources/thermal-master-p3-protocol-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/thermal-master-p3-protocol-case/index.md)

## Requirements & limits

- **Scope:** The browser viewer targets Thermal Master P3 USB ID 3474:45a2 and 256 × 192 frames. The README reports P1 as untested.
- **Testing evidence:** Captured 18-byte vendor-control commands and a 192-byte status buffer are checked in tests/test_webusb.mjs.
- **License:** License: Apache-2.0.

## Primary sources

1. <https://github.com/ferrolho/thermal-master-viewer/blob/39024dd148e9e1c9b5f03ace8cbb81f84563b59b/README.md>
2. <https://github.com/ferrolho/thermal-master-viewer/blob/39024dd148e9e1c9b5f03ace8cbb81f84563b59b/tests/test_webusb.mjs>
3. <https://github.com/ferrolho/thermal-master-viewer/blob/39024dd148e9e1c9b5f03ace8cbb81f84563b59b/LICENSE>

## More in Protocols

- [SNX-VPN: reconstructing Check Point browser login for SNX](https://awesomerea.org/resources/snxvpn-case/index.md) · Case study
- [OpenDS: reconstructing an FRC Driver Station client](https://awesomerea.org/resources/opends-frc-case/index.md) · Case study
- [CO/Tech power plugs: reproducing captured radio commands](https://awesomerea.org/resources/cotech-remote-control-case/index.md) · Case study
- [ts3j: a Java implementation of the TeamSpeak 3 client protocol](https://awesomerea.org/resources/ts3j-protocol-case/index.md) · Case study
- [WCH BLE Analyzer Pro: reconstructing its USB capture protocol for Linux](https://awesomerea.org/resources/wch-ble-analyzer-pro-linux-case/index.md) · Case study
- [eoip: a Linux implementation of MikroTik EoIP tunnelling](https://awesomerea.org/resources/eoip-protocol-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.
