Benchy: Giving AI a Real Bench to Debug We were inspired by a familiar frustration: firmware can say a sensor is connected or a signal is working, while the real circuit tells a different story. A successful build or a reassuring serial log cannot prove that a voltage is present, a wire is on the right pin, or a PWM signal has the right timing. We wanted an AI coding assistant to check the hardware itself before deciding what to fix. Benchy connects a local coding assistant to an ESP32-S3 instrument through Python tools. The S3 measures real circuit voltages and signal timing; a separate ESP32-C6 runs the project firmware. Benchy presents readings alongside the declared wiring map and device reports, helping the assistant compare what the circuit does with what the firmware claims. We built the project around a ParcelGuard demo: a light sensor detects an opened lid, a water sensor detects a leak, and an LED signals an alarm. To show how Benchy handles real faults, we swapped the sensor inputs and separately changed the alarm timing. In the swapped-input run, Benchy measured the light and water signals independently and exposed that the C6’s reports disagreed with the physical readings. In the timing run, it measured a 10 Hz alarm signal where the intended rate was 2 Hz. After the firmware was corrected and flashed, a new measurement confirmed 2 Hz. Along the way, we learned to treat every claim as a different kind of evidence. A DUT’s serial output is useful, but it is still the DUT reporting about itself. An independent probe can confirm a physical voltage or signal rate. We also learned how important it is to make the wiring map explicit: Benchy can compare a measurement with a declared net, but it cannot infer where every breadboard wire goes. The hardest part was making the demo trustworthy. Measurements depend on the probe circuit, grounding, and sampling window, so a reading needs context and known limits. We built the probes for known 0–3.3 V signals, added named harness declarations and timestamped readings, and used longer frequency measurements for pass/fail checks. We also rehearsed the fault and repair sequence on the actual hardware, because compiling or flashing successfully was never enough to call the circuit fixed. Benchy is an early step toward an AI assistant that can debug across software and hardware. Today, it can inspect selected electrical signals and use those measurements to guide firmware debugging. We hope to keep expanding what it can safely observe, while keeping the core idea: verify the physical behavior before trusting the explanation.

Built With

  • arduino
  • codex
  • electronics
  • embedded-systems
  • esp32-c6
  • esp32-s3
  • hardware-debugging
  • iot
  • mcp
  • physical-measurements
  • pwm
  • python
  • sensors
  • serial-communication
Share this project:

Updates

Submission history