Skip to content

tinkrmind/electrical-schematic-recognizer

Repository files navigation

Electronic Schematic Recognizer

Electronics becomes a lot easier if you can simulate circuits before making them. But there is a large learning curve to getting started with simulation, nit the least being learning a new software to make the schematic in. One of the most common and best circuit simulation tools is Spice with variants from various electronics companies, e.g. LTSpice from Linear Technologies.

LTSpice Interface

As you can see from the image above, the LTSpice interface leaves a lot wanting. And it is not really going to change anytime soon.

Electronic Schematic Recognizer is an attempt to reduce the barrier to entry to circuit simulation by digitizing hand drawn schematics which can later be converted to spice models. Here are some of the results from the project:

Circuit Result 1

Circuit Result 2

Process

To start with, I reduced the scope of the problem to recognize capacitors, resistors, batteries, current supplies, voltmeters, and leds. I then hand drew hundreds of symbols of these elements on paper and scanned them. The original scans are in assets folder on the github. I wrote an openCV python script to segment the individual symbols into separate square images. Finally I used this excellent repo to convert the images into an MNIST database that can be used for training a CNN model.

Segmenting individual Circuit elements

Given a new circuit, I use the same openCV script to segment the electrical symbols and then recognize the symbols using the trained CNN model.

About

Recognizing hand drawn electrical schematics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages