top | item 39501418

(no title)

tubetime | 2 years ago

great project! i ran into it the other day and was impressed with the number of wires.

i've been reverse engineering PCBs (mostly 2-4 layers) for a few years now and this is a part of the problem that i've been thinking about how to solve. best i can think of is a flying probe station cobbled together from 3d printers. basically you'd 1) scan the top and bottom of the board 2) generate a list of test points and pads 3) feed the coordinates into the flying probe system to generate the netlist

the other way to handle multilayer boards (and the most accurate, imo, because it captures exact ground plane designs, guard traces, and structures like that) is the scan-sand-scan approach. you'll get exact artwork--unfortunately the dust it generates is pretty nasty stuff.

discuss

order

uSoldering|2 years ago

I think with the Image->CAD data you could hack together something resembling a die-bond machine to automate the process. A flying probe would need two heads on both sides for full coverage of continuity, and some algorithms to probe multiple times with micro-offsets to deal with near-hits and bad connection hits. You could also monitor the probe heads for changes in capacitance to infer the quality of the probe hit.

archi42|2 years ago

I was also surprised not to see a flying probe system - I would expect this to be viable with modern 3D printer motion & control systems, but obviously this is highly non-trivial and has lots of mean details in the mechanical, electronics and software domains to solve.

I did not think of a die-bond machine (I suppose it bonds a wire to each pad instead of you doing it by hand?), but of course that also makes sense. And at least the motion system is much simpler.

A first step/experiment could be to automate creation of the gnd net. For that you only need a single tool head, meaning you can repurpose mostly any 3D printer motion system; for small increments, this could (later) happen during the die-bond process or become a precursor to a flying probe tool head. Of course I can not judge if that's a worthy investment of your time, or if you would enjoy building something like this ;)

Anyway, the effort, skill and dexterity are amazing! Spending 3 weeks soldering 1917 tiny leads seems to be just the icing on the cake :)

MuffinFlavored|2 years ago

What can be done with the reverse-engineered data about the PCB? You have a working one, you reverse-engineer it, and then ultimately you can make your own?

nyanpasu64|2 years ago

PCB information is useful for, among other things, doing board-level diagnostics and repairs of broken electronics to avoid turning it into e-waste.

MegaDeKay|2 years ago

It can be used to find connection points to signals that would otherwise be inaccessible or at least hard to get to. This has come in pretty handy for the latest wave of Nintendo Switch hacks like Picofly. The scan-sand-scan approach [0] has the advantage over this hack where you can do something like the "kamikaze mod" [1] on the OLED Switch since you know where stuff is, not just what is connected to what.

[0] https://balika011.hu/switch/lite/

[1] https://www.youtube.com/watch?v=LMnS7yfu3Qk (not for the faint of heart)

cinntaile|2 years ago

Why do you reverse-engineer PCBs? What resources did you use to get started?

willis936|2 years ago

Is there an automated tool for generating netlists from scanned PCB layers?

alright2565|2 years ago

Looks like the answer is yes, for money. Nothing I can quickly find that is FOSS.

It doesn't seem like this problem requires anything crazy, just traditional computer vision, but of course the devil is in the details.

kayson|2 years ago

There are automated tools for generating a netlist from scanned IC layers (nm thick). They're proprietary trade secrets of course, but it's done all the time.