Firmware and hardwareWorksSource available
Target: Digital Concepts DGF6Y treadmill display board (ATmega64)

Decoding a scrapped treadmill display board and writing new AVR firmware with Claude

Platform
AVR (ATmega64) with an ESP32 programmer
Outcome
Works

Evidence at a glance

Based on the linked sources. The author's reported result and independent confirmation are separate checks.

AI involvement
Reported models: Claude Sonnet 5.5. Tools: avrdude, arduino-cli, ESP32 ArduinoISP, Python. The writeup below describes the work attributed to AI.
Reported result
Works. This is the directory's source-based outcome classification.
Independent confirmation
Not reported.
Human work and limitations
The README credits the board's owner, Michael (lifetreelee), with supplying the hardware and photos, soldering and live testing, and says the project took about a day and a half as a pair effort with Claude. One LED (silkscreen LED 13) is still unmapped.

Original sources

What was done

A human and Claude mapped every row, column, segment and LED of a scrapped treadmill display board in about a day and a half. Claude wrote the replacement firmware and host software, and an ESP32 programs the chip and feeds it live data.

The board is the display and keypad console of a scrapped treadmill, dated 2006, with an ATmega64, a 74HC154 row decoder and three chains of 74ACT164 shift registers driving a 20 by 8 red and green dot matrix, six seven-segment digit groups, a nine-bar graph and a set of LEDs. The treadmill brand is unknown.

According to the README, the mapping was worked out from photographs and multimeter readings. The photo-decoding scripts live in the analysis directory, and the full mapping is in docs/HARDWARE_MAP.md. The original chip flash was read and backed up first, and the backup is not published because it is the manufacturer's code. The board had no crystal, so a 1 MHz clock was injected from an ESP32 pin until a 13.824 MHz crystal from an old cordless phone replaced it on 4 November 2026. The same ESP32 runs an ArduinoISP sketch to program the chip, then a UART bridge.

Claude wrote the AVR firmware, the host software and the decoding analysis, and drove the experiments. The five commits all carry a Claude Sonnet 5.5 trailer. The README lists one LED as unmapped and says button behaviours, a speaker output and a systemd unit are not done.

Reproduce it

setup

Wire an ESP32 to the board's ISP header as described in docs, then run host/flash_chip_xtal.sh with avrdude and arduino-cli installed, and start host/blinky.py. You need the same board; the original firmware is not included.

Community

Ask a question, share what worked, or follow the next milestone.

Your library