0

I am starting to learn how to write mobile programs and came with an idea.

I was wondering if there is already a smartphone program that enables you to take a picture of the circuit and it automatically generates the schematic diagram or PCB and export it, then would run a basic check of the wiring. It would label the components in the prototyping board or breadboard with image recognition.

Of course something like this is intended for hobbysts, makers, Arduino fans. No way a PCB factory would need it.

I was wondering if it already exists. Otherwise I am willing to explore the posibility of building this.

JRE
  • 67,678
  • 8
  • 104
  • 179
  • 2
    Opinion-based questions are specifically off-topic here. From the close-vote reasons: "This question is likely to be answered with opinions rather than facts and citations. It should be updated so it will lead to fact-based answers." – brhans Apr 11 '22 at 08:38
  • I don't know of one, but how would you deal with multi layer pcbs? – Colin Apr 11 '22 at 08:38
  • 4
    Sure, it would be useful, but most likely impossible. A camera cannot see through the components or inside the PCB to know how components are connected, unless you have an X-ray camera. Even if you had an X-ray camera and could determine how each component is connected to each other, no AI could make a sensible schematic out of that, it could likely just make a schematic which would require a human to move parts around that make sense. – Justme Apr 11 '22 at 08:40
  • @Justme I'm pretty sure an AI could make a sensible schematic given enough development efforts, but it would be a lot of work for sure. – DamienD Apr 11 '22 at 08:46
  • 1
    @DamienD I'm pretty sure it could make a sensibly-*looking* schematic, but it can't make a correct one. AI isn't magic. You can't see through an IC which of its pads are connected under its package, and an AI can't either. – Marcus Müller Apr 11 '22 at 09:11
  • Hey, Ramiro, welcome here! You're asking for an opinion here, really, and that's explicitly off-topic on this site. Not a big deal, but still! So, from a bit of experience: You could use Neural Networks to improve a system's ability to recognize traces in a camera picture, but the problem you're actually thinking about is one that will require *a lot* of data preparation, to say the least. So much that I don't think a single human will do that in a very reasonable timeframe (a couple of years): this is a very unforgiving problem. A method that delivers 80% correct schematics is still useless! – Marcus Müller Apr 11 '22 at 09:16
  • 1
    @MarcusMüller I was only commenting on the need for a human to move parts around afterwards. – DamienD Apr 11 '22 at 09:16
  • @DamienD ahhh, sorry then :) – Marcus Müller Apr 11 '22 at 09:17
  • @MarcusMüller no worries. I should have said that an AI could be trained to turn netlists into nice-looking schematics :) – DamienD Apr 11 '22 at 09:19

1 Answers1

2

As others have said, it'd be really difficult (or impossible) to create a circuit diagram from an arbitrary PCB, however if you impose some constraints, the project becomes more plausible - but still not easy.

For example, start with a high-quality photo of a simple neatly-wired project on a breadboard. The regular grid of holes will simplify the detection of the interconnect points, and you can start by just showing the ICs as black-boxes, with wires between them.

Once that works, try making the circuit layout a bit less tidy, then make poorer-quality photos with uneven lighting, or oblique camera angle. If that works, then try your image-recognition on some of the weird-and-wonderful breadboard photos on this site; if you can decode those, then you really have acquired impressive skills at image recognition - many are impossible for a human to decode.

Image processing is a really interesting subject; there are various sophisticated techniques you could use, though personally I've found the combination of OpenCV & Python to be remarkably powerful.

jayben
  • 1,247
  • 2
  • 5