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.