Reverse Engineering PCB to Schematic

Table of Contents


PCBs are the backbone of electronic devices. They’re used to connect electronic components and are found in everything from cell phones to computers. If you’re interested in understanding how electronic devices work, you need to know how to reverse engineering PCB to schematic.

In this article, we’ll give you a complete guide to reverse engineering a PCB. We’ll explain what you need to get started, how to identify the different components on a PCB, and how to create a schematic from a PCB.

Tools for Reverse Engineering a PCB

  • Camera

Taking photograph the front and back of the circuit board, record the position of the components;

  • Scanner

Scanning the circuit board with the components removed, as a base map to draw the PCB against;

  • Photoshop

Processing the pcb images;

  • Protel2.8

Making device library, QuickPCB only supports Protel2.x version of the device library;

  • QuickPCB2005 V3.0

Drawing your PCB;

  • QuickPCB device library.LIB

The device library already contains commonly used packages;

  • Altium Designer 09

Generating Netlist and draws schematics based on PCB;

Complete Tutorial

1. Taking pictures of PCB

Take pictures of the front and back of the circuit board to record the components.

2. Scan the board with a scanner

In this step, you need to scan the front and back of the board at the same time. In order to obtain a clear circuit image, it is recommended that the scanner be set to 600DPI pixels horizontally and vertically. Save in jpeg format and use Photoshop to remove excess. In addition, when scanning, ensure that the size of the front and back sides are the same, and the positions of the vias in the picture are basically aligned.

front of circuit board
back of the circuit board

3. Convert pictures to PCB files

3.1. Make device package

  • 3.1.1. Run Protel, refer to the menu display in the picture (Advanced PCB 2.5 opens the Protel interface as shown on the right side of the picture);
  • 3.1.2. Click [File>>New] to create a new PCB file, and then the library can be opened;
  • 3.1.3. Click [Library>>Components] to open the library, see the figure below:
Protel Library
Protel Library
  • 3.1.4. There are two ways to add a device: one is to click “New” , the other is to click “Edit As” to modify the existing device to generate a new device. Either method will open a new window behind the Browse Libraries window to display the newly created device. At this time, close Browse Libraries to edit the new device, and save it after editing;
  • 3.1.5. Note down the location of the device library (C:\ADVPCB\PFW.LIB);

3.2. Place the device package on the PCB file

  • 3.2.1. Reload the device library in QuickPCB (the modified library must be deleted and added again to see the new device package): F10 or the menu bar [Library >> Device] can open the Browser libraries window.
  • 3.2.2. Run QuickPCB to open the front image as the base image: File >> Open Base Image >> Select the front image of the circuit board, and set the pixel size in the horizontal and vertical directions in the pop-up window (must be consistent with the scanning settings, otherwise Pictures vary in size).
  • 3.2.3. Place and route the device against the background picture (the device is selected from the library) as follows:
pcb layout - QuickPCB
front side pcb layout - QuickPCB

When drawing, place the SMD devices and connecting lines on the Top Layer layer, and place the vias on the Multi-Layer layer;

There are the following shortcut keys in QuickPCB:

pt: (press the p and t letters in sequence): place the connecting line;

pv: place vias;

pp: place the pad;

F10 key: place the device;

Ctrl+A: select all devices;

Click a character (such as C3) when all devices are selected: the character can be moved individually;

Shift+click: to exclude the selection of the clicked object;

Tab key: Press the Tab key when placing an element to open the properties dialog box, the most commonly used is to set the layer here;

  • 3.2.4. Save 8 kinds of files as top.b2p;
  • 3.2.5. Re-open the reverse image as the base image;
  • 3.2.6. Open the top.b2p file. The difference between this time and the picture in step 7 is that the base image has changed;
  • 3.2.7. Select [Option>>Layer Setting] in the menu bar or F11 key to open the Layer Setting dialog box, remove the top layer in the circuit layer and silk screen layer, and return to the main window when the top layer device and silk screen are hidden but Vias are not hidden;
  • 3.2.8. Place the devices on the bottom layer, and then select the top layer in the circuit layer and silk screen layer in the layer settings, the effect is as follows:
back side pcb layout - QuickPCB

Note: The bottom layer devices should be placed in the Bottom Layer; the front and back devices and vias should be aligned;

  • 3.2.9. Save the file drawn in 12 as “Instance Operation.b2p”.

3.3. Export PCB file

 select [File>>Export as PCB file] in turn; the exported file is “Instance Operation.pcb”;

4. Generating Netlist according to PCB

4.1. Import the PCB file into Altium Designer

Import pcb into Altium Designer

The unadjusted wiring and layout in QuickPCB can be adjusted here. (To turn off the Clearance check at this time: press the d and r keys in turn to open the setting dialog box, and uncheck the back of Clearance, as shown in the figure below.)

pcb rules and constraints editor

4.2. Generate a netlist

Select [Design>>Netlist>>Creat Netlist From Connected Copper] in the menu bar, and save the generated file as “netlist_file.html”.
There are two main parts in the network table:

1. Device definition;

“[]” represents the start and end of the device definition, respectively;
“R1” is the device name;
“0603” is the package name;

2. Network connection relationship;

“()” is the name of a network, followed by all the connection points on the network, such as the network connected to the 2Pin of P1 and the 5Pin of U1.

4.3. Configure the Netlist of the PCB

Select the menu bar [Design>>Netlist>>Configure Physical Nets] in turn. The components and lines in the PCB appear to be connected before configuration, but the actual electrical relationship is not connected. So, they can they be truly connected together after be manipulated. At this time, a thin line can be seen by moving the components, as indicated by the yellow arrow in the following picture.

configure the netlist

5. Drawing the schematic

5.1. Create a new schematic file, place all devices and modify their names, packages, etc. to be consistent with the corresponding devices in “Instance Operation.pcb”;

5.2. Connect the schematic diagram in step 4.3 against the netlist generated in step 4.2;

5.3. Create a PCB project and add both “Instance Operation.pcb” and “Instance Operation.sch” to the project;

5.4. Execute [Design>>Update Sch…] in “Instance Operation.pcb” to check whether the names, comments, packages, etc. of the components in the PCB and SCH files are consistent (if they are inconsistent, the schematic diagram needs to be modified);

5.5. Use Altium Designer 09 software to automatically compare the network connection relationship between PCB and SCH. If there is a difference, modify the schematic diagram until the two are the same.

5.6. Divide modules by function and readjust schematic layout. Congratulations! You have completed the whole process!


In this post, we show you the tutorial about how to convert a PCB into a schematic. And the necessary tools need in the process. We hope it’ll be helpful for you, if any questions or needed PCB Reverse Engineering Services, please contact us directly.



Leave a Comment

Your email address will not be published.

About Author

Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.


Most Popular

Get The Latest Updates

Subscribe To Our Weekly Newsletter

No spam, notifications only about new products, updates.

Related Posts

welldone pcb manufacturer

Start to Achieve Your PCB Project

Open chat
Scan the code
Hello 👋
Can we help you? Chat with us on WhatsApp↓, or send an email to us: