What is Reverse Engineering?
Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation. It often involves disassembling something and analyzing its components and workings in detail.
The goal is to deduce design decisions from end products with little or no additional knowledge about the procedures involved in the original production. Reverse engineering is done by examining the finished product and working backward to figure out how it was made or how it works.
Why Reverse Engineer a PCB?
There are several reasons why you might want to reverse engineer a printed circuit board:
- To understand how a device works in order to repair, modify, or duplicate it
- To create documentation for a legacy product that has missing or incomplete specifications
- To analyze a competitor’s product for benchmarking or patent/IP research
- To detect counterfeit or malicious components (hardware trojans)
- For educational or research purposes to learn PCB design
The PCB reverse engineering Process
The process of reverse engineering a PCB typically involves the following steps:
- Visual Inspection
- Capturing the PCB Layout
- Identifying Components
- Tracing Connections
- Creating the Schematic
- Generating Documentation
Let’s look at each step in more detail.
Step 1: Visual Inspection
The first step is to carefully examine the PCB using visual inspection. This can reveal a lot of information such as:
- The number of layers in the board (visible from the edge)
- The type of components used (thru-hole vs surface mount)
- Identifying marks, logos, part numbers, etc. printed on the board or components
- Visible traces or connections on outer layers
- Signs of rework or repair
Magnification using eye loupes or microscopes can show more detail. Taking high resolution photographs is also recommended to document the original condition of the board.
Step 2: Capturing the PCB Layout
The next step is to capture the physical layout and dimensions of the PCB. There are a few different methods that can be used:
-
Manual measurement: Using calipers or rulers to measure the board outline, hole locations, component positions, etc. This is practical for simple boards but very tedious and error-prone for complex designs.
-
Image recognition: Taking a high-resolution photo or scan of the PCB and using image analysis software to automatically recognize and measure features. This is much faster than manual techniques but requires good lighting and focus to get accurate results. Some advanced AI-based tools can even recognize standard components from images.
-
3D scanning: Using a 3D scanner to capture the complete geometry and surface details of the PCB. This provides the most detailed and accurate representation but requires expensive equipment. 3D X-ray scanners can even image the internal layers of multi-layer boards.
The end result is typically a 2D or 3D CAD model of the PCB that captures the shape, size, and component placement. The most common PCB design exchange format is Gerber, which is supported by all PCB CAD tools.
Step 3: Identifying Components
With the PCB layout captured, the next step is to identify the components mounted on the board. Some components like connectors, switches, and LEDs are easy to recognize by sight. Others may have part numbers or other identification printed on them that can be looked up in component databases.
For integrated circuits and other complex parts, the top marking can be searched in chip databases to find the manufacturer and part number. The remaining “mystery” components can sometimes be identified by their package type and size using chip identification guides.
Automated tools are available that can speed up this process significantly by matching cropped images of components against known parts in a database. Some can even take a photo of the complete PCB and annotate it with component identities.
The identified components can be added to the PCB CAD layout by assigning their name and package type to the corresponding footprints.
Step 4: Tracing Connections
Once the components are identified, the next step is to trace out the connections between them. For single-layer boards, the copper traces are visible and can be followed with visual inspection. The continuity between pads can be verified using a multimeter or by visual tracing.
For multi-layer boards, the inner layer connections are not visible. In this case, X-ray imaging can reveal the internal traces. Special X-ray inspection systems are made for this purpose that can automatically trace connections and export a netlist.
Another method is to carefully sand down the PCB layer by layer, taking high resolution images at each step. The images can be aligned and used to reconstruct the connections at each layer. This destructive method only works for expendable boards.
For components with hidden connections under the package (like ball grid arrays), X-ray can again be used to reveal the connections. Alternatively, a process called “delidding” can expose the die and bond wires by removing the component packaging.
The end result of this step is a complete netlist showing all component pins and the nets (copper traces) that connect them together. This can be represented graphically with lines showing the connections, or as a text file listing the component pins on each net.
Step 5: Creating the Schematic
With the components and connections known, the schematic can be recreated. This typically involves the following steps:
-
Drawing the component symbols based on their type and pin configuration. Component libraries are available that have pre-made symbols for common parts.
-
Placing the symbols in the schematic editor and adding the part numbers.
-
Drawing lines (wires) to connect the pins according to the netlist.
-
Adding power and ground symbols and connecting them to the appropriate pins.
-
Adding text annotations to label connectors, switches, test points, etc.
The end result is a complete schematic that shows the logical connections of the circuit. It may not exactly match the original schematic (component and net names may be different), but it should be functionally identical.
Step 6: Generating Documentation
The final step is to generate documentation for the reverse engineered PCB. This can include:
- PCB layout file (such as Gerber or ODB++)
- Schematic diagram
- Bill of Materials (BOM) with part numbers and quantities
- Assembly drawing showing component placement
- Photos or 3D scans of the original PCB
- Text description of the circuit function and operation
Having thorough documentation is important for understanding how the PCB works and to enable future modification or reproduction. It also captures the results of the reverse engineering process in a reusable format.

PCB Reverse Engineering Tools
There are many software and hardware tools available to assist with PCB reverse engineering. Some of the most commonly used ones include:
Tool | Type | Description |
---|---|---|
Multimeter | Hardware | Used to measure continuity, voltage, and resistance |
Oscilloscope | Hardware | Used to measure and analyze signals |
Logic Analyzer | Hardware | Used to capture and display digital signals |
Microscope | Hardware | Used for visual inspection and measurement |
X-ray Inspector | Hardware | Used to image internal layers and features |
3D Scanner | Hardware | Used to capture PCB geometry and surface details |
Gerber Viewer | Software | Used to view and analyze PCB layer images |
Image Recognition | Software | Used to automatically identify components from photos |
PCB Editor | Software | Used to create schematics and layouts |
SPICE Simulator | Software | Used to simulate and analyze circuit behavior |
Specialized reverse engineering software exists that combines many of these functions into an integrated tool suite. Examples include:
- Chipworks Surveyor
- Degate
- Octopus Imaging
- Microview
These tools can automate many of the tedious steps in the reverse engineering process and significantly speed up the workflow.

Is it Legal to Reverse Engineer a PCB?
The legality of reverse engineering is a complex issue that depends on many factors such as the country, the purpose, and the specific techniques used. In general, reverse engineering for the purpose of interoperability, education, or research is allowed under the doctrine of fair use.
However, reverse engineering for the purpose of copying a design may be considered copyright infringement or trade secret theft in some cases. It’s important to consult with a lawyer to understand the specific laws and risks involved.
Some general guidelines include:
- Do not reverse engineer products that contain anti-tamper or copy protection measures, as circumventing these may be illegal.
- Do not use non-disclosure agreements or other confidential information to aid in reverse engineering.
- Do not reproduce or distribute copyrighted materials without permission.
- Give proper attribution and credit to the original designer whenever possible.
As long as these guidelines are followed, PCB reverse engineering is generally considered a legitimate and valuable engineering practice.
Frequently Asked Questions
How much does it cost to reverse engineer a PCB?
The cost of PCB reverse engineering can vary widely depending on the complexity of the board and the tools and techniques used. Simple, single-layer boards can often be reverse engineered in a few hours using basic tools like multimeters and magnifiers.
More complex multi-layer boards with fine-pitch components can take days or weeks and require specialized equipment like X-ray machines and 3D scanners. Expect to spend anywhere from a few hundred to several thousand dollars for a complete reverse engineering job.
How long does it take to reverse engineer a PCB?
Again, the time required depends on the complexity of the board and the methods used. Simple boards can be done in a few hours, while complex boards can take weeks. If the board is well-documented and the components are easy to identify, the process can be much faster.
Automated tools can also speed up the process significantly. For example, image recognition software can identify components in seconds that would take a human hours to lookup and label.
Can I reverse engineer a multi-layer PCB?
Yes, multi-layer PCBs can be reverse engineered using techniques like X-ray imaging, sanding, and delidding. However, these techniques are much more complex and time-consuming than for single-layer boards.
Special considerations need to be made for via connections between layers and planes that may be difficult to probe or image. Stackup information like layer thicknesses and materials may also be needed to fully reconstruct the design.
Reverse engineering multi-layer PCBs should only be attempted by experienced engineers with access to the necessary equipment and tools.
Can I use the reverse engineered design to manufacture new PCBs?
It depends on the purpose and context of the reverse engineering. If you are the original owner or have permission from the owner, you can usually use the design to manufacture new boards.
However, if the design is protected by copyright, patents, or trade secrets, manufacturing new boards without permission could be considered infringement. It’s important to understand the intellectual property rights involved before reproducing a reverse engineered design.
In some cases, reverse engineering may be done simply to repair or replace a damaged board, in which case manufacturing a small number of boards for personal use is usually permitted.
How accurate is PCB reverse engineering?
The accuracy of PCB reverse engineering depends on the tools and techniques used and the skill of the engineer. In general, reverse engineering can produce a functionally identical design to the original, but there may be small differences in the layout or component names.
For example, an X-ray image may not capture every detail of the traces, leading to some estimation or interpolation in the recreated design. Components may also be substituted with functionally equivalent parts if the exact original part is not available.
The goal of reverse engineering is usually to capture the essential design intent rather than reproduce every minute detail. As long as the reverse engineered design functions the same as the original, small differences in implementation are usually acceptable.