PinPal
Inspiration
We love using Claude Code as our go-to coding agent for building software, and we wanted to keep using the agent we love when building and debugging our hardware projects too. The problem: Claude Code lives in our IDE and terminal, with no idea what's happening on the breadboard and microcontroller in front of us. So we built PinPal, an MCP server that gives your Claude Code instance real context about your circuits: how components are wired together, which GPIO pins they connect to, and even the code running on the microcontrollers inside the circuit.
What it does
PinPal bridges your coding agent and the physical world. Once connected, Claude Code can "see" your circuit, understand its wiring as a netlist, read the firmware running on it, and reason about it, so you can debug real hardware the same way you'd debug code, all from your terminal.
How we built it
We set up a persistent MCP server running on a Raspberry Pi 4B. Your Claude Code instance connects to it over a Tailscale SSH tunnel, so the link is secure and works from anywhere.
A Pi Camera is pointed at your circuit and snaps a picture whenever Claude Code asks for context. That image is streamed over the SSH tunnel to a Claude Code subagent, which runs computer vision on it to extract the circuit's netlist, essentially recovering the schematic of components and connections from the photo.
Because computer vision is never perfect, we kept a human in the loop. Before the netlist ever enters your context window, a UI renders so you can fix any mistakes the CV made and confirm the circuit is correct, guarding against errors even if the model powering the agent hallucinates. From there, you can run simulations with ngspice or let Claude Code troubleshoot directly with the new context in hand.
Challenges we ran into
- Designing the system end-to-end and getting the processing pipeline (camera → CV → netlist → context) to flow cleanly.
- Designing the human-in-the-loop so it caught CV and hallucination errors without getting in the user's way.
- Cracking the SD card that stored the Pi OS and all of our code, right before submission, while we were mounting everything into our 3D-printed case.
Accomplishments that we're proud of
We got a full end-to-end pipeline working: a real photo of a real breadboard becomes a verified netlist inside Claude Code, ready to simulate. We're especially proud of the human-in-the-loop correction step that keeps the agent honest, and of recovering from a cracked SD card with the clock running.
What we learned
Hardware is messy, and that's exactly why an imperfect CV pipeline needs a human checkpoint rather than blind trust. We also learned how powerful MCP is as a layer for connecting agents to the physical world, and that the last 10% of a hardware demo (mounting, casing, cabling) can break you faster than the code ever will.
What's next for PinPal
We want to support more microcontrollers and richer firmware introspection, improve the CV so the netlist needs less correction, and let Claude Code close the loop, proposing fixes and re-checking the circuit automatically after each change.
Built With
- 3dprint
- cad
- camera
- claude
- mcp
- netlist
- python
- raspberry-pi
- react
- spice
- subagent
- typescript
Log in or sign up for Devpost to join the conversation.