How to Easily Reverse Engineer PCB Project Libraries

February 6, 2017 Pierre Meyitang


Receiving design files from clients isn’t always as smooth a process. Clients may send incomplete project files, project files with unstandardized component libraries, or other files that don’t match what you actually need. When that happens, how do you proceed with the project? Read on to find out.

Outsourcing has become the de-facto solution for companies seeking to cut costs and increase their profit margins. Rather than consuming their own resources on a particular task, companies farm it out to other firms that specializes in that particular area, leaving them to focus on what they do best. New product design often gets contracted out to separate design firms. If that’s you — your company outsources PCB design or your company is a PCB design house — read on because this blog post can make your life easier.




Communication Problems for Designers

Outsourcing work to other companies demands better communication among all parties involved. For PCB design engineers, this means ensuring that complete PCB project files are sent to clients. Unfortunately, receiving files from clients isn’t always as smooth a process. Clients may send incomplete project files, project files with unstandardized component libraries, or other files that don’t match what you actually need.

When that happens, how do you proceed with reverse engineering PCB designs at the start of a project? Here is an overview of the challenges that can arise when board designers need to generate source libraries solely from design project files, as well as some available solutions that can help facilitate this process.

Understanding PCB Project Library Files

Project file structure varies widely among different brands of PCB design software. Typically software packages have the six file types illustrated in the table below:


Typical File Structure for PCB Design Software Packages
File Contents
Schematic File
Project electrical schematic with logical connections. Generally readable outside software tool
PCB File
Trace and routing information and the physical board attributes. Generally readable outside software tool.
Database File
Metadata regarding the components
PCB Library File
Physical component parameters
Schematic Library File
Electrical component parameters and component symbols
Main File
Links and references to to other files, project options, configuration parameters


Most Schematic and PCB files are self-contained. This means that a contractor could send just the schematics or PCB file alone to a client, and the client would be able to open and view the full Schematic and Printed Circuit Board file content.

This flexibility may seem convenient, but it can be a double edged sword. It often leads to situations wherein a customer only recovers Printed Circuit Board or Schematic files due to premature termination of an agreement with their previous contractor(s). The client’s next contractor then gets burdened with having to base future designs off of the incomplete project files that the client has supplied.

In many cases, editing components within the design is not immediately possible with Schematic and PCB files alone. In those cases, Schematic and PCB library files are required as well. This becomes all too evident when a designer needs to mass-edit components in a PCB design project. With printed circuit library files, contractors have more engineering flexibility, including the ability to:

  • Modify a given component footprint and update thousands of references

  • Create standardized components

  • Modify component footprints and symbols

Reverse Engineering in Altium Designer

Achieving these tasks for a few components is easy. But how about having to recreate a footprint and symbol for thousands of different components, each time a new design arrives from a client? The contractor would need to reinvent the wheel, regenerating new libraries for the existing design. It’s both impractical and incredibly time consuming. Our solution is the best way to reverse engineer a PCB design.

Download a free white paper to learn how to easily reverse engineer your PCB project libraries using Altium Designer.

About the Author

Pierre is the current Sales Applications Engineer for Altium’s North America region. He worked in Mechatronics Design and Fabrication at Harvard’s Wyss Institute for Bioinspired Robotics as an Electro-Mechanical Engineer. Pierre recently joined Altium’s engineering team, and continues his hobbies in design and fabrication of miniature PCBs, CNC machines, and IOS app development.

More Content by Pierre Meyitang
Previous Flipbook
The Challenges Of Library Management
The Challenges Of Library Management

Next Flipbook
Unifying Your Component Management Workflow (Design Data Mgmt)
Unifying Your Component Management Workflow (Design Data Mgmt)

How many times have you found yourself deep in a project, only to find that one of the main components is o...