
Occasionally when a device breaks, the defect is obvious. Whether it is a blown fuse or a defective capacitor, generally the easy to see stuff is easy to fix. When a problem is more subtle, or when doing some more advanced tasks like adding functionality to a device, greater knowledge about a circuit board is required. While there might be details hidden in lower levels of PCB, often just knowing the mounted components and layout of the outside layers can be enough to create a rough schematic of a device. [Throbscottle] has put together an excellent guide for procedurally breaking down a photo of a board and turning it in to something useful. The guide utilizes some open source image processing software such as the GIMP, Inkscape, and Dia, all of which are widely available. Keep in mind this reverse engineering can be a time consuming process, but will almost definitely reward those patient enough to work through it.
[Thanks to everyone who sent this in!]
Subscribe for weekly videos
Sweet! Btw here is a instructabliss link :>
http://daid.mine.nu/instructabliss/?url=http://www.instructables.com/id/How-to-reverse-engineer-a-schematic-from-a-circuit/
Daidified
http://daid.mine.nu/instructabliss/?url=http://www.instructables.com/id/How-to-reverse-engineer-a-schematic-from-a-circuit/
There was a talk at 27C3 (CCC) about reverse engineering PCBs. They are developing software, called dePCB, which is based on the transistor level tool degate -> http://degate.org/.
@d : degate is for reversing integrated circuits (IC’s) from pictures of the die.
Very nice article. Here is a tip though, use morphological operators to trace the track it needs less manual work:
http://en.wikipedia.org/wiki/Erosion_%28morphology%29
It is pretty simple:
1) convert the image to black and white.
2) Use a dilatation operation followed by a erosion operation to connect broken tracks
3) Use the dilatation operator, then make a inverted copy of the image, then subtract the image with the inverted copy. You will get the tracks.
4) Post-process by hand the remaining…
Also, putting the circuit over a light source can help you a lot getting a better picture of the tracks..
I was actually most interested in what the flaw turned out to be, not just the happy note that he solved it.
@MrCung @Philip Thanks for the links!
instructables BOOOOOOOO!
Isn’t it much easier to scan the whole pcb using a scanner? I don’t know how well it works with the components still on the pcb though…
This isn’t reverse Engineering – it’s drawing a schematic from a PCB. Drawing a schematic is hardly the same as reverse Engineering especially when it comes to higher frequency, oscillators or circuits that are timing sensitive.
When you reverse Engineer something you fully understand the design including impacts on timing, etc. There are designs out there with specifically designed center planes designed to impact data flow through the board. Some designs even have their own internal tuned coax etched into inner layers.
I did something similar recently, I grinded down the pcb of a phone and took pictures of every layer with a flatbed scanner. Then I used GIMP to trace the stuff I needed, worked great:
http://www.steve-m.de/pictures/pirelli_dpl10/
http://bb.osmocom.org/trac/wiki/PirelliDPL10
Holy carp Philip – that Daid thing is AMAZING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I can actually rear it now! It’s like I’ve re-discovered the internet!
carp=crap & rear=read
(sorry for the spelling – I was a little excited)
I’m using it from now on! WooT!
http://daid.mine.nu/instructabliss/
what about multilayer boards?
can anyone post a link to the pdf ?
There is one article which give out a description of
the general process of pcb reverse engineering.
You can view it at http://www.instructables.com/id/How-to-reverse-engineering-pcb/
multilayer boards are impossible to reverse engineer even manually