CircuitDoctor
A circuit wiring inspection tool based on a graph database that parses KiCad netlists to build a component-pin-net graph structure, used to detect wiring errors such as power shorts and voltage conflicts before hardware connection.
Timeline (last 90 days)
Developer Nayanjyoti built CircuitDoctor at the Graph Hacks hackathon, which uses the FalkorDB graph database to help users check wiring problems in KiCad circuits before connecting hardware.
CircuitDoctor models circuits in FalkorDB as a graph structure of Component ──HAS_PIN──> Pin ──ON_NET──> Net.
Each uploaded circuit generates a separate graph in FalkorDB, enabling version comparison before and after modifications.
For supported two-pin resistors, CircuitDoctor creates THROUGH relationships between the pins, enabling path queries to trace connections through resistors.
The .net files CircuitDoctor handles are netlist files in EDA that describe components and the connections between pins in text, and do not include physical layout or footprint details.
CircuitDoctor can only verify logical connections and cannot know actual PCB routing or a component's internal circuitry.
CircuitDoctor uses Cypher's shortestPath query to search for a path between two pins over ON_NET and THROUGH relationships, and highlights it once found.
CircuitDoctor uses algo.WCC (weakly connected components) to identify isolated groups in the circuit structure graph; an isolated group is not necessarily a fault.
CircuitDoctor provides additional checks for supported development boards and displays, covering power, ground, and I2C connections.
The development boards CircuitDoctor currently supports include the Arduino Uno R3 and the classic Nano, as well as some displays.
8 more timeline events
All Facts (18)
Developer Nayanjyoti built CircuitDoctor at the Graph Hacks hackathon, which uses the FalkorDB graph database to help users check wiring problems in KiCad circuits before connecting hardware.
50%UnverifiedCircuitDoctor models circuits in FalkorDB as a graph structure of Component ──HAS_PIN──> Pin ──ON_NET──> Net.
50%UnverifiedEach uploaded circuit generates a separate graph in FalkorDB, enabling version comparison before and after modifications.
50%UnverifiedFor supported two-pin resistors, CircuitDoctor creates THROUGH relationships between the pins, enabling path queries to trace connections through resistors.
50%UnverifiedThe .net files CircuitDoctor handles are netlist files in EDA that describe components and the connections between pins in text, and do not include physical layout or footprint details.
50%UnverifiedCircuitDoctor can only verify logical connections and cannot know actual PCB routing or a component's internal circuitry.
50%UnverifiedCircuitDoctor uses Cypher's shortestPath query to search for a path between two pins over ON_NET and THROUGH relationships, and highlights it once found.
50%UnverifiedCircuitDoctor uses algo.WCC (weakly connected components) to identify isolated groups in the circuit structure graph; an isolated group is not necessarily a fault.
50%UnverifiedCircuitDoctor provides additional checks for supported development boards and displays, covering power, ground, and I2C connections.
50%UnverifiedThe development boards CircuitDoctor currently supports include the Arduino Uno R3 and the classic Nano, as well as some displays.
50%UnverifiedGemini provides conversational exploration in CircuitDoctor: when a user asks about a pin connection or requests an explanation of a warning, Gemini calls tools to query the circuit in FalkorDB and then explains the result based on the returned evidence.
50%UnverifiedCircuit simulation tools (such as SPICE) predict voltage, current, and timing behavior by solving component equations and require component model parameters and excitation signals; connectivity checking only verifies whether the connections in a netlist conform to design rules or the expected topology and involves no numerical computation.
50%UnverifiedCircuitDoctor does not simulate current, measure resistance, or model component timing, and therefore cannot detect problems such as a wrong resistor value, insufficient power supply, or signal timing conflicts.
50%UnverifiedThe structural errors CircuitDoctor can detect include power-to-ground shorts, reversed pins, and missing power nets.
50%UnverifiedClearing a warning means the corresponding check no longer finds that problem in the revised file, but it does not guarantee that the complete physical circuit will work, nor that the circuit function is correct.
50%UnverifiedThe development of CircuitDoctor used AI coding assistants such as Codex and Claude Code, and the implementation was verified through automated tests and browser checks.
50%UnverifiedThe CircuitDoctor website provides a pair of downloadable sample files, letting users experience the complete workflow without first creating a KiCad project.
50%UnverifiedCircuitDoctor plans to expand component coverage in the future, but the current version focuses on the workflow of uploading a circuit, understanding connections, checking for problems, and verifying the revised file.
50%