Reverse Engineering a PCB

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!]

16 thoughts on “Reverse Engineering a PCB

  1. 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..

  2. 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…

  3. 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.

  4. Holy carp Philip – that Daid thing is AMAZING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    I can actually rear it now! It’s like I’ve re-discovered the internet!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s