Does anyone have any past experience reverse
engineering an existing
de-populated PCB into a scan, netlist, or similar? Any lessons learned
positive or negative?
I've always done it by hand (and you don't need to depopulate the board).
What you need is a continuity tester (which is not fooled by diode junctions),
a pen and paper, and a lot of (pleasant) time.
Start by removing anything that might fool the continuity tester. Switches,
obviously, inductors, low value resistors, relays, etc. For 2-lead axial
components, I just lift one end.
Then make a list of all the ICs and sections on the board. So you end up with
a list something like
U1 a b c d e f '04
U2 6264
U3 '138
U4 6809E
U5 a b c d '02
...
Now start from something that is either recognisable, or which is going to be used in one
way. Obviously
find power and ground first. Then, in the case of the above list of ICs, I would start
with the 6809E CPU,
since that will find address and data buses. Trace from there to the clock and reset
circuits, on to
bus buffers and memory. As you find each IC/section, cross it off the list so you
don't do the same bit
twice.
Boards with recognisable LSI ICs (microprocessors, I/O devices, etc) are relatively easy
in that such
devices are used in essentially one way so you don't have too much to think about. Big
boards of
TTL or worse big boards of diodes/transistors are a lot worse. A 7400 NAND gate or a
2N3904
transistor can be used in so many different ways.
I find that you get about 5 ICs (no matter what the complexity) on an A4 sheet of paper on
average.
It's relatively easy to trace connections (just buzz them out with the continuity
tester), the trick is
producing a readable schematic. This means (a) drawing bits so they are recognisable (a
trivial
example being a pair of cross-coupled NANDs making an SR flip-flop) and (b) using
sensible
names for signals. I find you have to really understand the unit to do this, which helps a
lot with
future repairs. So the time is invested rather than wasted.
Anyway, when you have finished, feel free to make the schematic unreadable by redrawing it
in a CAD
system.
-tony