# Digital Concepts DGF6Y treadmill display board (ATmega64): Decoding a scrapped treadmill display board and writing new AVR firmware with Claude

> Source: <https://reversedwithai.com/p/treadmill-display-board-claude-avr-firmware>
> Published: 2026-11-10 08:56:57+00:00

## 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

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](https://reversedwithai.com/library)
