BuildBB-0120Build of the week

Claude Code agents build a tilt maze game on a PIC24 Curiosity board and debug its I2C driver

Ori Grossman built a tilt maze game on a PIC24FJ256GA705 Curiosity board with Claude Code agents, an ADXL345 accelerometer and a 96x96 OLED. One agent drove the board's debugger through MPLAB's mdb command line and traced an I2C driver bug that dropped queued bytes. The README has a photo of the game running.

Open original source github.com · Ori Grossman

Shown working
Why this evidence label?

README photo shows the maze game running on the Curiosity board's OLED; the author describes photo checks of the panel after each flash.

How we check entries
Preview image for Claude Code agents build a tilt maze game on a PIC24 Curiosity board and debug its I2C driver
The source's own preview image, from github.com.

Briefing

The bug was in the course template's I2C driver. Its status polling let queued bytes drop with a write collision in I2C1STAT, so the ADXL345 never left standby. The agent first dumped I2C1STAT at breakpoints. When the debugger's halts hid the race, it logged full-speed status traces into RAM and read them out afterward.

Host-side tests compiled the game logic against the real OLED driver and found a template bug that never drew vertical walls. A fuzzer checked that every generated maze was solvable for the ball's footprint. Two review agents on different models read the code cold, and photos of the panel went back to the agent after each flash. The firmware is bare-metal C built with XC16 in MPLAB X, for a course final project.

“When the debugger's own halts masked the race, the agent switched tactics and captured full-speed I2C1STAT traces into RAM instead”

Ori Grossman, in the source on github.com

From the GitHub API

Repository facts

Repository facts for grossmanori/pic24-maze-agentic-workflow, from the GitHub API
Repositorygrossmanori/pic24-maze-agentic-workflow
Stars1
LicenseMIT Permissive
LanguageC
Last push28 Jul 2026 3 mo ago

Tags

Interface

Report a problem with this entry