Electronics hobbyists, engineers and developers looking for an automatic way to create KiCAD schematics may be interested in your project created by Nick Bild, capable of analyzing your physical breadboard and automatically generating a KiCAD schematic. Although it is worth mentioning that the script is have some limitations such as many ICs either don’t have internal continuity for every pin or only have internal continuity in certain states. Watch the demonstration video below to learn more about the project and how it can help you automatically generate KiCAD schematics directly from your breadboard project or prototype.
Schematic-o-matic automatically creates KiCAD schematics
“A breadboard is, at its core, a series of connectors. This script’s purpose is to identify every connection and associate it with the corresponding pin on a component. It is able to do that using a special breadboard that has every row of pins connected to an Arduino Due board I/O pin. A Python script running on a connected PC then checks every row for continuity. The user then inputs the component located at connection, and the script will draw a KiCAD schematic with wires between every component’s pins.”
The first step in the process is to use a specially instrumented breadboard to build your circuit on. Each continuous conductive region on the breadboard has a wire soldered to it on the underside of the breadboard. This allows for a methodical test for electrical continuity between each region, which was accomplished by using an Arduino Due. Because certain components (e.g. ICs) can cause false positives for connections between regions due to internal conductances, they must be removed from the board before running the Arduino code. The output of the code is a map of the electrical connections between regions (i.e. wire placements).”
“To determine the location of all component pins (with respect to the specified pin 1) on the breadboard, the script parses the associated KiCad library file. The components are added to a KiCad schematic (EESchema Schematic File Version 4 format), after which the wires are then added, according to the connections information collected through continuity testing, with the help again of KiCad library files to determine the locations of all pins to place wires in the correct locations. The plain text, open formats used by KiCad made this integration possible.”