PCB Reverse Engineering Services

Professional pcb reverse engineering technology capabilities, expert one-to-one service, good reputation, and innovative solutions.

what is PCB reverse engineering?

PCB reverse engineering is the process of circuit analysis to determine how it is manufactured and how it works. This can be done for a variety of reasons, such as understanding a board’s design so that it can be duplicated, or to find out how to improve its performance.

In the situation that there are already electronic devices with physical circuit boards, reverse engineering technology is used to reversely examine the circuit boards and extract the PCB file like BOM list, schematic and Gerber file. Based on these engineering files, PCB clone, component soldering, flying probe testing, circuit board repair are accomplished to recreate the entire circuit board as a reference sample.

pcb reverse engineering procedure
pcb reverse engineering procedure

Why Reverse Engineering is Required?

There are many reasons why you require reverse engineering for printed circuit boards. For example, if a circuit board is damaged and the original design files are not available, reverse technology can be helpful for copying. Additionally, if a company wants to replicate or improve upon a competitor’s product, they may reverse engineer the PCB to understand how it works and make modifications as needed. Keep reading more about the benefits below:

1. PCB Design & Development:

Reverse engineering is a technique that allows you to recover a PCB design, circuit diagram, and a parts list for an existing or future electronic device. Reverse research technology can cut the time required to develop a new product down from two or three years to a few months.

 2. Modify And Refine Design

It’s important to find any design flaws and refine them before manufacturing your boards. This is especially important for high-volume products, where any inconsistencies will have a significant impact on your company’s invest.

3. Clone an existing product:

You can use this technology to get pcb clone service for coping a product that is no longer sold or is no longer available. This process can also be used to create lower-cost parts for mass production. The PCB is reverse engineered in order to create a schematic representation of the electrical components that are used within the board. This schematic is then used to create a 3D model of the board with the desired electrical components.

4. Assess a competitor's product:

You can get an in-depth view of a competitor’s product by reverse engineering it. This will help you analyze the product and see what features are most popular with customers. You can also see how the product is built and what technologies are used to create it. This can help you to decide whether to partner with this company to source your products or to work on your own product to compete with it.

Our PCB Reverse Engineering Services

Over the past 10 years, we have accumulated rich experience of reverse technology. Combined with the latest PCB reverse schematic software, our experienced engineers will guarantee to make 100% accurate schematic diagrams according to your circuit board. 

Support industries

Ready to Start Your Project?

Contact us to get price for your circuit board project, our experts will get back to you within 24 hours.

how to reverse engineer a circuit board?

Before the development of PCB reverse engineering software, you could only rely on drawing and measuring with a caliper for reverse engineering multi-layer plated through-hole boards. It might be a time consuming process and the accuracy was poor. Nowadays, it is efficient to reverse engineer PCBs using reverse engineering software. It involves X-Ray computed tomography, draw the layout and then using reverse-engineering software and programs to do so. After that, you’ll know exactly how a board works, which will help you with any goal. We will outline the basic steps for reverse engineering a multi-layer plated through hole board.

Step1: Prepare Tools and Software

Below are the hardware and software that electronic engineers usually use for reverse engineering. You can also read our other post about the best pcb reverse engineering tools.

  • A computer with good processing power;
  • A digital camera – to document the process;
  • Gimp – a free and open-source graphics editor for image editing, converting between different image formats;
  • Inkscape –  a free and open-source vector graphics editor used for creating and editing vector illustrations;
  • AutoTrace – a program that automatically converts bitmap images to vector images;
  • Protel or Altium Designer – helps you to generate a schematic from a board;
  • Multimeter – to measure voltage, current, and resistance so that you can identify the components ;
  • A hot air rework station – to remove and replace components;
  • A soldering iron and solder – to attach and detach wires;
  • Microscope – to inspect the board and components;
  • A magnifying glass – to identify components with printed symbols on the board;

Step2: Scan or Photograph the Circuit Board

Next, it’s critical to photograph both sides of the PCB in pictures or to scan them. Because your board may have holes, you should photograph it on a dark background. To avoid any confusion about the PCB’s construction, you must shoot high resolution pictures with digital cameras, or phone. Alternatively, you can use industrial computed tomography (CT) scanning to get the best result. Remember that the areas to be photographed should be well lit. After finishing the scanning or photographing, you need to do image editing.

PCB scanner
PCB Scanner

Step3: Get BOM list

Next, trace the components on the board to get Bill Of Materials (Bom) list. This may seem like common sense, but a lot of reverse engineers don’t do it. By tracing components, you can figure out what components the board has, what their specifications are, and what their prices are. You can even use a multimeter to read the traces and determine what they do.

Bom (Bill of Materials) List
Bom (Bill of Materials) List

Step4: Construct PCB Layout

Reverse engineering involves creating a 3D layout of the circuit board. This helps to visualize the electromagnetic field distribution and how different circuits behave. Additionally, it shows other aspects of the PCB that cannot be observed in a schematic, such as components, conductive elements, trace arrangement, and planes for each layer. For simple boards, you can upload them to a program like AutoTrace to generate a layout. It can invert the bitmap into vector graphics to help you get the board’s schematic quickly. For complex boards, It’s going to require a lot of work and expertise to create a schematic. 

PCB reverse engineering 3D Layout
PCB 3D Layout

4.1 insert the image into AUTOCAD

At first, we need to insert the image (from scanning) into AUTO CAD software. When the insert image dialog box appears, select 1:1 as the ratio in the dialog box.

4.2 construct component footprint

The component footprint is an important part of reverse engineering. The footprints library of conventional component is generally provided with CAD tools. You can also obtain it from the original design documents of the component and reference design source drawings. Here are some effective strategies for component footprint.

PCB Footprint Structure
PCB Footprint Structure

4.3 arrange the components

Open the previous PCB image and the component footprint drawing and copy them together to the CAD. Then, arrange the components according to the angles and locations of the PCB diagram components, and pay attention to creating more sub-components by copying and pasting.

4.4 Place the pads and vias

The placement of pads and vias is the next task after the footprint has been placed. First, measure the inner and outer diameters of the pads in the CAD, then use the drawing menu to place the pads and vias. Sub-items should be placed at the same time when the pads are placed, but the pad should not be a polygon or a square, even if it is filled in the CAD. When an entity is filled, it will only have an empty border in Protel. So if there is a polygon pad on the PCB, we can use a line to trace the perimeter and go to put the corresponding pads in Protel.

4.5 drawing the trace

After drawing the pad, start drawing the pcb trace. An aggregate line is utilized to create the trace. To begin drawing, select the aggregate line in the drawing menu. The aggregate line is created using the aggregate line function. Select the orthogonal line in the drawing phase if a straight line is involved. Select the orthogonal line if a 45-degree angle or other angle is involved and then delete it. If the width of the entire line is only a few specifications, you may draw a line of any width, but different line widths will require different layers, so go to Protel and adjust the line width.

4.6 Edit CAD files by Protel

Open the Protel PCB Editor and import the CAD files you have already created. It’s critical to associate the various layers of Protel with the various layers of CAD in the importing files dialog box, regardless of whether you’re on the same layer in CAD. Make sure you know what layer this one is on, but remember that you must know its name. You must also control the chaos to avoid wasting time on the Protel layer conversion, as well as when importing. The default line width is also advisable to modify.

Tips for Layout

There are four basic editing tips used on both sides of the PCB to construct the layout:

“Paint” holes and solder pad:

First, you need to avoid losing the solder pads and holes when transferring the PCB, you must “paint” them beforehand. Swapping channels may help improve the visibility of the holes, thus ensuring you don’t lose them.

Remove PCB trackpads:

Second, we suggest you to remove PCB trackpads before constructing the layout. Because these PCB trackpads can turn into loops during the process.

Mark free holes:

Third, during the editing stage, you should mark free holes on multilayer boards so that you can recognise them. These holes or areas do not connect to anything else or connect to the inner layers of the PCB.

Desaturate and invert image:

Fourth, To desaturate an image means to remove or reduce the color saturation of an image. This can be done in a number of ways, but the most common is to convert the image from its original RGB color mode to grayscale. Inverting an image means to create a negative of the image, where the colors are reversed. In Photoshop, this can be done by going to Image > Adjustments > Invert. You can also use the GIMP image editing software to achive these.

Step5: Create PCB Schematics

The next step is to creat the PCB schematic, and it’s the hardest phase in reverse engineering. When you derive a PCB’s schematic diagram, you can see every circuit and all of the board’s components in two dimensions. This helps an engineer understand how different components connect and what their functionalities are. All of this information is crucial when repairing or reproducing a PCB. Protel or Altium Designer are two programs you can use to create a netlist and schematic. After you have finished making the schematic, you will need to combine both sides of the board, arrange the paths, and assign symbols to the components. Below are all steps for creating a schematics:

  • 5.1 Create New PCB File
  • 5.2 Setting Drawing Size
  • 5.3 Setting Files Environment
  • 5.4 Construct Schematic Library
  • 5.5 Make Component Footprint
  • 5.6 Place The Component Footprint on PCB File
  • 5.7 Draw the Wiring
  • 5.8 Adjust and Optimize Manually
  • 5.9 ERC Checking
  • 5.10 Generating Netlist According To PCB
  • 5.11 Drawing The Schematic
  • 5.12 Checking and Optimizing Schematic
  • 5.13 Output Schematic File

5.1 Create a new PCB file

First, let’s open CAD or Protel, then click [File>>New] on the menu to create a new PCB file.

5.2 Setting Drawing Size

You can choose A3 or A4 size drawings according to the complexity of the circuit. Single-page drawings is suitable for simple circuits, and multi-page drawings for complex circuits.

Drawing Size
Drawing Size

5.3 Setting PCB Design Environment

Then we set the pcb environment parameters including: grid size, grid properties, cursor properties, drawing color, etc. The grid size should be synchronized with the schematic symbols.

Setup Design Parameter
Setup Design Parameter

5.4 Create Schematic Library

Generally, there are built-in schematic library from pcb tools like Altium Designer or CAD, where you can enable schematic symbols . You can also create them manually basing the data sheet. Make sure that the pin names of the schematic symbols match those of the footprint library.

schematic symbol
schematic symbol

5.5 Make Component footprint

5.51 Open the Library

Click [Library>>Components] in Protel to open the library, see the figure below:

Protel Library
Protel Library
5.52 Add components

There are two ways to add a component: one is to click “New” , the other is to click “Edit As” to modify the existing component to generate a new component. Either method will open a new window behind the Browse Libraries window to display the newly created component. At this time, close Browse Libraries to edit the new component, and save it after editing. (Remember the saving location of the component library.)

5.6 Place The Component Footprint on PCB File

  • 5.6.1 Reload the component library in QuickPCB (the modified library must be deleted and added again to see the new component footprint): Click F10 or the menu bar [Library >> Device] to open the Browser libraries window.
  • 5.6.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).
  • 5.6.3 At first, place the core components against the front side. Then, you need to mark important attributes such as withstand voltage, accuracy, and power. After, place test points on important signal lines.
pcb layout - QuickPCB
front side pcb layout - QuickPCB
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: place the component;

Ctrl+A: select all components;

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

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

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

  • 5.6.4 Save 8 kinds of files as top.b2p.
  • 5.6.5 Re-open the reverse image as the base image.
  • 5.6.6 Open the top.b2p file. The difference between this time and the picture in step 7 is that the base image has changed.
  • 5.6.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 component and silk screen are hidden but Vias are not hidden.
  • 5.6.8 Place the components on the back side and align to the front side’s components. Then select the top layer in the circuit layer and silk screen layer in the layer settings.
back-side-pcb-layout-QuickPCB
back side pcb layout - QuickPCB
  • 5.6.9. Export PCB File: select [File>>Export as PCB file] in turn, and rename as “Instance Operation.pcb”.

5.7 Draw the wiring

When drawing, an engineer must have knowledge of power supply, circuit connection, PCB wiring, and so on in order to distinguish between ground wires, power wires, and signal wires. These circuits can be distinguished by looking at the way components are connected, the width of the copper foil on the circuit, and the properties of the electronic component itself. Below are some of pcb route rules:

  • Avoid line crossing and interspersed.
  • Grounding symbols can be used for grounding lines.
  • Different colors can be used for various lines to ensure clear.
  • Special signs can also be used for various components.
  • Draw the unit circuits separately and combined them.
  • Place the SMD components and connecting lines on the Top Layer layer.
  • Place the vias on the Multi-Layer layer.

5.8 Adjust and Optimize Manually

Manually check for duplicate, wrong connections. In addition, for resistance and capacitance components with larger tolerance, they can be packaged uniformly to reduce the cost of procurement and inventory management.

circuit board schematic
Circuit Board Schematic

5.9 Run ERC Checking

Check with the Electrical Rule Check (ERC) tool to make sure possible problems are fixed, such as signal connection errors.

5.10 Generating Netlist According To PCB

The netlist is the key to successful PCB automatic routing. It serves as the bridge between schematic design and circuit board design. Unless the network table is populated, circuit boards cannot be wired. You can generate a netlist using the schematic design tool, or you can enter the PCB design system directly and access the parts footprint directly, bypassing the schematic design. You can also generate a netlist directly from the PCB design system, if the circuit version is relatively simple.

5.10.1 Import The PCB File Into Altium Designer
Import-pcb-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
pcb rules and constraints editor
5.10.2 Create A Netlist

Select [Design>>Netlist>>Creat Netlist From Connected Copper] in the menu bar, and save the generated file as “netlist_file.html”.

create netlist
Create Netlist

There are two main parts in the network table:

1. Component definition;
[
R1
0603
]

2. Network connection relationship;
(
UnNamedNet8
P1-2
U1-5
)

Note:
“[]” represents the start and end of the component definition, respectively;
“R1” is the component name;
“0603” is the footprint name;
“()” 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.

5.10.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-of-the-PCB
configure the netlist
circuit netlist
The Final Netlist Example

5.11 Drawing The Schematic

5.11.1 Create a new schematic file, place all components and modify their names, footprints, etc. to be consistent with the corresponding components in “Instance Operation.pcb”.

5.11.2 Connect the schematic diagram in step 5.10.3 against the netlist generated in step 5.10.2.

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

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

5.11.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.11.6 Divide modules by function and readjust schematic layout.

5.12 Checking and optimizing schematic

After drawing the schematic diagram, we need to check and optimize the nominal values ​​of components that are sensitive to PCB distribution parameters. According to the PCB file diagram, the schematic diagram is compared, analyzed and checked to ensure that the schematic diagram and the file diagram are completely consistent. If it is found in the check that the layout of the schematic diagram does not meet the requirements, the schematic diagram will be adjusted until it is completely reasonable.

5.13 Output Schematic file

Congratulations! You have completed the whole process! Export the finished schematic file to PDF or other formats.

Tips for Decipher Schematic Diagrams

Reasonable division of functional areas:

In the reverse design of the schematic diagram of a complete PCB circuit board, the reasonable division of functional areas can help engineers reduce some unnecessary troubles and improve the efficiency of drawing.

Generally speaking, components with the same function on a PCB will be centrally arranged, and the functional division of the area can provide a convenient and accurate basis for inferring the schematic diagram. However, the division of this functional area is not arbitrary. It requires engineers to have a certain understanding of electronic circuit related knowledge.

First, find out the core components in a functional unit, and then find out other components of the same functional unit according to the wiring connections to form a functional partition. The formation of functional partitions is the basis for schematic drawing. In addition, clever use of the component serial numbers on the circuit board in the process of functional partitioning is conducive to faster functional partitioning.

Finding the reference parts:

The reference parts can be said to be the main components to be used at the beginning of the schematic drawing. After the reference parts are determined, they are drawn according to the pins of these reference parts, which can ensure the accuracy of the schematic to the greatest extent. For engineers, the determination of reference parts is not very complicated. In general, the components that play a major role in the circuit can be selected as reference parts. They are generally larger in size and have more pins, which are convenient for drawing. Such as integrated circuits, pcb transformers, transistors, etc., can be used as a suitable reference.

Learn from similar schematic diagrams:

Engineers need to be proficient in the frame composition and schematic drawing of basic electronic circuits, not only to be able to directly draw some simple and classic basic unit circuits, but also to be able to form the overall framework of electronic circuits. In addition, the same type of electronic products have certain similarities in the schematic diagrams, and engineers can fully refer to similar circuit diagrams to reverse the new product schematics based on the accumulation of experience.

PCB reverse engineering software

There are many different software programs that can be used for reverse engineer a pcb. Some of the most popular and widely used programs include:

Proteus
QuickPCB
Eagle
KiCAD
DipTrace
OrCAD

Altium Designer
DraftSight
Mentor Graphics PADS
KiCAD
Cadence
Zuken CR-5000

Each of these programs has its own unique set of features and capabilities. Some are more user-friendly than others, while some offer more advanced features for those who are more experienced with PCB design.

Reverse engineering pros and cons

Pros

Cons

is reverse engineering legal?

There is no definitive answer to this question since it can vary depending on the country and laws in place. In general, however, reverse engineering is considered to be legal as long as it is done for personal use and does not violate any copyright laws. Additionally, there are some cases where reverse engineering is considered to be legal even if it does violate copyright laws, such as when it is done for the purpose of creating a compatible software program or when it is necessary to identify a security flaw in a piece of software.

In the United States, the Digital Millennium Copyright Act (DMCA) makes reverse engineering for software interoperability purposes only legal if three conditions are met:

  1. The information necessary to achieve interoperability is not already readily available to the person engaging in reverse engineering.
  2. A person reverse engineering a copyrighted work must have a legitimate reason for doing so, such as achieving interoperability with other programs.
  3. The reverse engineering must be done in a manner that does not infringe on the copyright of the original work.

In other words, you can reverse engineer something for the purpose of making it work with other programs, but you can’t do so in a way that violates the copyright of the original work.

PCB Reverse Engineering Books

There are many different books that can be helpful when it comes to PCB reverse engineering. Some of these books focus on the technical aspects of reverse engineering, while others provide more of a practical guide. Here are some of the best books on PCB reverse engineering:

  • “The Art of Reverse Engineering”: How to Crack Software, Protect Your Code, and Defend Your Work by Serena Chen
  • “Reverse Engineering Code with IDA Pro” by Dennis Elser
  • “The IDA Pro Book: The Unofficial Guide to the World’s Most Popular Disassembler” by Chris Eagle
  • “The Art of Assembly Language Programming” by Randall Hyde
  • “Reversing: Secrets of Reverse Engineering” by Eldad Eilam

These are just a few of the many excellent books that are available on the subject of PCB reverse engineering. No matter what your level of experience, there is a book out there that can help you improve your skills and better understand the process.

Why Choose Us?

Quick Project

Our reverse engineering team has experienced cases and reliable background. They will work efficiently to finish your project on schedule.

High Quality

We have high standard quality control system and testing equipment to let your project done without issue.

Reduce Cost

Reduce the cost of customers, balance customer needs and manufacturing constraints, optimize the scheme – directly save your time and money.

Cooperation Flow

lead form

Submit Requirement

Submit your requirement details on the form, upload your files is available. And we'll reply to you within 24 hours.

comfirm-project

Confirm Project

Our expert will contact you for the project details, reply to you with a quotation, and confirm the order after recieving your payment.

PCB-prototype-production

Sample Prototype

The sample will be arranged for production process within few days, then we confirm with you the appearance and function.

delivery

Delivery Goods

Lead time: At last, your sample w'll be finally shipped to you within 7-15 days. It'll depends the shipping way you choose.

Contact Us

Phone: +86 134 8072 0771
Email: info@reversepcb.com
B205, Block 7, Phase 2, D & J Innovation Park, 73 Bulan Road, Longgang, Shenzhen, China
MON-FRI 09:00 - 19:00, SAT-SUN 10:00 - 14:00
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: info@reversepcb.com