# Holy Stone H120D: reconstructing drone Wi-Fi control and video traffic

> Holy Stone H120D research maps the drone’s Wi-Fi command, camera and video exchanges using APK decompilation, packet captures and ARM library disassembly. It documents UDP 8080 control frames, UDP 8088 camera commands and H.264 video on TCP 8888, with Python clients and an Arduino controller sketch.

- Type: Case study
- Targets: Binary · Firmware · 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/zturner1/h120d-protocol>
- Primary source: <https://github.com/zturner1/h120d-protocol/blob/b323d78a7d0afa5a879c8ce0ae57a0d8f3eaec65/README.md>
- Catalog page: <https://awesomerea.org/resources/h120d-protocol-case/>
- Record JSON: <https://awesomerea.org/resources/h120d-protocol-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/h120d-protocol-case/index.md)

## Requirements & limits

- **Prerequisites:** A Holy Stone H120D drone and connection to its Wi-Fi network; Python 3.8+ for the scripts.
- **Prerequisites:** ffplay is required for the live video example; Arduino Nano 33 IoT is used by the autonomous controller sketch.
- **Limits:** Variable joystick-axis control over Wi-Fi remains untested at high confidence.
- **License:** No licence file in the repository.

## Primary sources

1. <https://github.com/zturner1/h120d-protocol/blob/b323d78a7d0afa5a879c8ce0ae57a0d8f3eaec65/README.md>
2. <https://github.com/zturner1/h120d-protocol/blob/b323d78a7d0afa5a879c8ce0ae57a0d8f3eaec65/PROTOCOL.md>
3. <https://github.com/zturner1/h120d-protocol/blob/b323d78a7d0afa5a879c8ce0ae57a0d8f3eaec65/docs/NATIVE_LIB.md>

## More in Firmware and hardware

- [Nokia E7-00 Linux: reconstructing the boot chain and device interfaces](https://awesomerea.org/resources/nokia-e7-00-linux-case/index.md) · Case study
- [CTS Strasbourg Ticket Reader: mapping SRI512 ticket memory](https://awesomerea.org/resources/cts-strasbourg-reader-case/index.md) · Case study
- [Chronos Revived: an Android client for the recovered smart disc BLE protocol](https://awesomerea.org/resources/chronos-revived-case/index.md) · Case study
- [PS2 Floating-point: reconstructing console arithmetic behavior](https://awesomerea.org/resources/ps2-floating-point-case/index.md) · Case study
- [CD Changer Robot: rebuilding a Nistec ALW-501 controller](https://awesomerea.org/resources/cd-changer-robot-case/index.md) · Case study
- [open-ssd: reconstructing SM2263XT SSD initialization](https://awesomerea.org/resources/open-ssd-sm2263xt-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.
