# CH899: reconstructing the clock's MM32–ESP exchange

> CH899 firmware research reconstructs the UART exchange between the clock's MM32 movement controller and ESP8285 Wi-Fi module. It records wake, time and reset messages from stock behavior and implements replacement ESP firmware that adds Wi-Fi setup and timekeeping options while retaining the original movement controller.

- Type: Case study
- Targets: 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/maddenste/Chouchin-CH899-Firmware>
- Primary source: <https://github.com/maddenste/Chouchin-CH899-Firmware/blob/aaf649283633ce3a081879c90a691af2897b1e1b/docs/PROTOCOL.md>
- Catalog page: <https://awesomerea.org/resources/chouchin-ch899-firmware-case/>
- Record JSON: <https://awesomerea.org/resources/chouchin-ch899-firmware-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/chouchin-ch899-firmware-case/index.md)

## Requirements & limits

- **Prerequisites:** The older CH899 clock board whose main chip is marked MM32.
- **Scope:** Replacement applies to the ESP8285 Wi-Fi firmware; the MM32 movement firmware remains in place.
- **License:** GPL-3.0-or-later license.

## Primary sources

1. <https://github.com/maddenste/Chouchin-CH899-Firmware/blob/aaf649283633ce3a081879c90a691af2897b1e1b/docs/PROTOCOL.md>
2. <https://github.com/maddenste/Chouchin-CH899-Firmware/blob/aaf649283633ce3a081879c90a691af2897b1e1b/README.md>
3. <https://github.com/maddenste/Chouchin-CH899-Firmware/blob/aaf649283633ce3a081879c90a691af2897b1e1b/docs/REVERSE_ENGINEERING.md>

## More in Firmware and hardware

- [telink-usb-ota: reconstructing Telink USB-HID firmware updates](https://awesomerea.org/resources/telink-usb-ota-case/index.md) · Case study
- [K2 OpenKlipper: reconstructing the Creality K2 control stack](https://awesomerea.org/resources/k2-openklipper-case/index.md) · Case study
- [ThinkCentre Fan Control: recovering fan telemetry and modes from the M70t Gen 6](https://awesomerea.org/resources/thinkcentre-fan-control-case/index.md) · Case study
- [strix-890m-macos: investigating Radeon 890M display bring-up](https://awesomerea.org/resources/strix-890m-macos-case/index.md) · Case study
- [Twin Famicom: reconstructing the console power board](https://awesomerea.org/resources/twin-famicom-case/index.md) · Case study
- [EasyRazer: reconstructing Razer analog keyboard controls](https://awesomerea.org/resources/easyrazer-keyboard-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.
