# hantek-dso: reconstructing Hantek DSO5000P USB control

> hantek-dso reconstructs USB control of Hantek DSO5000P oscilloscopes in a Linux Python client with GUI, CLI and API. Its protocol reference combines REA and Ghidra analysis of scope firmware, inspection of the original Windows Scope application and live DSO5102P tests. The client reads waveforms and settings, changes controls and retrieves screenshots over the recovered command framing.

- Type: Case study
- Targets: Firmware · Protocol
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-11-07
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/kooscode/hantek-dso5000p-linux>
- Primary source: <https://github.com/kooscode/hantek-dso5000p-linux/blob/b0facf139fb1b3da0a8c3ad0fa77a9eda76e1c46/protocol/PROTOCOL.md>
- Catalog page: <https://awesomerea.org/resources/hantek-dso5000p-linux-case/>
- Record JSON: <https://awesomerea.org/resources/hantek-dso5000p-linux-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/hantek-dso5000p-linux-case/index.md)

## Requirements & limits

- **Prerequisites:** Linux, libusb 1.0, Python 3.10 or later and a DSO5000P-series scope connected through its rear USB device port.
- **Testing evidence:** The documented hardware test used a DSO5102P with firmware 3.40.0.
- **Limits:** Some settings writes can crash or freeze the scope; the client restricts writes to tested fields unless force is requested.
- **License:** MIT.

## Primary sources

1. <https://github.com/kooscode/hantek-dso5000p-linux/blob/b0facf139fb1b3da0a8c3ad0fa77a9eda76e1c46/protocol/PROTOCOL.md>
2. <https://github.com/kooscode/hantek-dso5000p-linux/blob/b0facf139fb1b3da0a8c3ad0fa77a9eda76e1c46/README.md>

## More in Firmware and hardware

- [flipper-telink: replacement firmware for Tuya Zigbee remotes](https://awesomerea.org/resources/flipper-telink-tuya-remote-firmware-case/index.md) · Case study
- [Supermodel: initial Real3D Pro-1000 image-generator emulation](https://awesomerea.org/resources/supermodel-real3d-pro1000-emulation-case/index.md) · Case study
- [OpenDMCUFirm: a reimplemented Wii U DMCU display firmware](https://awesomerea.org/resources/opendmcufirm-wii-u-dmcu-firmware-case/index.md) · Case study
- [reflecticon-224: running Lexicon 224 reverb firmware on emulated hardware](https://awesomerea.org/resources/reflecticon-224-lexicon-emulation-case/index.md) · Case study
- [TeddyCloud: a self-hosted replacement for the Toniebox cloud](https://awesomerea.org/resources/teddycloud-toniebox-server-case/index.md) · Case study
- [Valetudo: local replacement for robot-vacuum vendor clouds](https://awesomerea.org/resources/valetudo-robot-cloud-replacement-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.
