Intel released images of the schematic for the MCS-4 family of microprocessor chips from 1971. They are available under the CC-BY-NC license. A team of fans then converted the original schematics to a simple B&W BMP image for use in a simulator. The simulator can export a verified netlist containing component references, positions, and connections.
I used the BMP image and netlists as input to a Java program which converted the output to Cadsoft Eagle schematic scripts to recreate the schematic as an Eagle project. This is a greatly reduced version of the problem you’re tackling.
Maybe this would help get you started.
The original investigative project is documented at 4004.com
My re-creation project is described in my blog at insanity4004.blogspot.com
You may also want to look at a presentation James Lewis gave at KiCon 2019 entitled “Preserving history with KiCad”.
Well, again: An image-to-netlist pipeline is exactly what we are focusing on right now. Basically, all the necessary steps are working (at least for simple circuits). Training on more complex and realistic sample circuits should help to boost the recognition performance. Likewise, it should help to face aspects we didn’t captured before. So for example, some circuits with buses would help. The same for circuits with complex switches and relays.
I think you have missed the true calling of your project. It will be useful not in inputting schematics by hand but for reconstructing schematics from possibly degraded machine generated plans. There must be heaps of plans in archives which have no usable schematic files because they have been lost or are in an unreadable format. If you can get hold of a substantial corpus of such plans, you can ditch the camera.
I hardly ever do any schematics on paper now except for simple subcircuits. Some of those I even do in my head, a skill honed through tuning out of sermons as a kid. For anything substantial I need to input a schematic, reason the operation of the circuit on that, modify and repeat.
Well, i would love to include such printed schematics as well. So are you aware of a large corpus (yes, ideally one single) of printed schematics for which the ower would be fine with republishing them along with the annotations we would create?
Sorry I worked on software most of my life. You’re welcome to use any schematics of my amateur PCB projects which I generally publish under MIT license, but it’s a very small collection: retiredfeline / Repositories · GitHub Generally they are the projects called something-board.
PS: In the retrocomputing world there are lots of designs involving old CPUs whose schematics would have features like buses. Some of those designs are released under liberal licenses. Here’s one site: Sitemap [RetroBrew Computers Wiki]
Your idea of having a tool for reverse-engineering circuit schematics from PCB layouts sounds like a very nice idea!
I currently have a student dealing with the matter of “transforming” circuits and this might be a very interesting point for him!
The only problem again is to have enough data we can use. As mentioned, we need pairs of circuits plus their corresponding schematics which we can use to train our models on. Can you provide such samples? I want to ask explicitly for permit since we need to re-publishing them…
If anyone here can contribute, his/her work would definitely be appreciated. We would like to use this for scientific publications and if the performance is good enough also to turn it into an open-source tool.