Inspiration

Every intro EE student has been there: you wire up a breadboard, power it on, and something's wrong — but nothing tells you what. Most circuit tools either simulate ideal circuits from scratch or just OCR a schematic into a picture. None of them actually review your circuit the way a senior engineer would — checking the electrical math, catching the beginner mistakes, and flagging the security gaps nobody thinks to look for until it's too late. We wanted to build that reviewer.

What it does

CircuitSense takes a circuit — either a photo of a breadboard/schematic or manually entered components — and turns it into a structured netlist. From there it runs two layers of analysis:

  • Correctness checks, done with real deterministic circuit math: Ohm's law verification, voltage divider calculations, floating input detection, reversed polarity on diodes/LEDs, missing current-limiting resistors, and short-circuit detection.
  • Security analysis, powered by an LLM acting as a hardware security reviewer: exposed debug/programming pins (JTAG/SWD/UART), missing reset/brown-out protection, missing over-current/over-voltage protection, and other physical attack surface a beginner wouldn't think to check.

The output is a clean report with a visual circuit diagram, severity-ranked findings, and concrete fix suggestions — like a linter, but for hardware.

How we built it

  • Backend: FastAPI (Python), with Pydantic models defining the Component/Netlist/Finding schema and SQLAlchemy + SQLite for persistence.
  • LLM integration: OpenRouter, using a vision-capable model to extract netlists from circuit photos, and a separate reasoning pass for the security review — both constrained to return strict structured JSON.
  • Correctness engine: a set of pure, independently-testable Python functions that run real electrical math — no LLM involved — so the correctness layer is deterministic and explainable.
  • Frontend: React + Tailwind, with a manual entry flow, a netlist review/edit step (to correct any vision extraction mistakes before analysis), and a report page rendering findings alongside a simple circuit diagram.

Challenges we ran into

Getting the vision model to reliably extract a clean, structured netlist from a messy breadboard photo was the hardest part — we added a review/edit step so users can correct extraction mistakes before analysis runs, rather than letting bad data silently break the report. Keeping the correctness layer fully deterministic (rather than leaning on the LLM for circuit math) also took discipline, but it was important to us that we could point to real code, not a hallucination, for every correctness finding.

Accomplishments that we're proud of

Building a system where the "boring but reliable" deterministic checks and the "flexible but fuzzy" LLM reasoning work together cleanly, each doing the part it's actually good at, instead of asking one AI call to do everything.

What we learned

How to combine structured, verifiable logic with LLM reasoning in a way that plays to the strengths of each — and how much a small amount of "let the user confirm/correct the AI's output" goes a long way toward making an AI-powered tool trustworthy.

What's next for CircuitSense

Expanding the correctness checks to cover more component types (transistors, op-amps), adding support for full schematic files (not just breadboard photos), and building a proper interactive schematic renderer instead of a simplified box-and-line diagram.

Built With

Share this project:

Updates

Submission history