{"slug": "digital-concepts-dgf6y-treadmill-display-board-atmega64-decoding-a-scrapped-and", "title": "Digital Concepts DGF6Y treadmill display board (ATmega64): Decoding a scrapped treadmill display board and writing new AVR firmware with Claude", "summary": "A human collaborator and Claude Sonnet 5.5 reverse-engineered a scrapped 2006 treadmill display board built around 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 LEDs, completing the mapping in about a day and a half. Claude wrote the replacement AVR firmware, host software and photo-decoding analysis, and all five commits carry a Claude Sonnet 5.5 trailer, with an ESP32 running an ArduinoISP sketch programming the chip and then acting as a UART bridge to feed it live data. 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 was fitted on 4 November 2026; one LED (silkscreen LED 13) remains unmapped, and button behaviours, a speaker output and a systemd unit are unfinished.", "body_md": "## Evidence at a glance\n\nBased on the linked sources. The author's reported result and independent confirmation are separate checks.\n\n- AI involvement\n- Reported models: Claude Sonnet 5.5. Tools: avrdude, arduino-cli, ESP32 ArduinoISP, Python. The writeup below describes the work attributed to AI.\n- Reported result\n- Works. This is the directory's source-based outcome classification.\n- Independent confirmation\n- Not reported.\n- Human work and limitations\n- 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.\n\n### Original sources\n\n## What was done\n\nA 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.\n\nThe 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.\n\nAccording 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.\n\nClaude 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.\n\n## Reproduce it\n\nWire 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.\n\n## Community\n\nAsk a question, share what worked, or follow the next milestone.\n\n[Your library](https://reversedwithai.com/library)", "url": "https://wpnews.pro/news/digital-concepts-dgf6y-treadmill-display-board-atmega64-decoding-a-scrapped-and", "canonical_source": "https://reversedwithai.com/p/treadmill-display-board-claude-avr-firmware", "published_at": "2026-11-10 08:56:57+00:00", "updated_at": "2026-11-10 12:23:22.552776+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "developer-tools"], "entities": ["Claude Sonnet 5.5", "ATmega64", "ESP32", "74HC154", "74ACT164", "Michael (lifetreelee)", "avrdude", "arduino-cli"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/digital-concepts-dgf6y-treadmill-display-board-atmega64-decoding-a-scrapped-and", "markdown": "https://wpnews.pro/news/digital-concepts-dgf6y-treadmill-display-board-atmega64-decoding-a-scrapped-and.md", "text": "https://wpnews.pro/news/digital-concepts-dgf6y-treadmill-display-board-atmega64-decoding-a-scrapped-and.txt", "jsonld": "https://wpnews.pro/news/digital-concepts-dgf6y-treadmill-display-board-atmega64-decoding-a-scrapped-and.jsonld"}}