ODB++: CAD to CAM Data Exchange File Hierarchy Format for PCB Fabrication

Introduction to ODB++

ODB++, which stands for Open Database++, is a CAD to CAM data exchange format used in the design and fabrication of printed circuit boards (PCBs). Developed by Mentor Graphics (now part of Siemens), ODB++ has become a widely adopted industry standard for transferring PCB design data from computer-aided design (CAD) tools to computer-aided manufacturing (CAM) systems.

The ODB++ Format is designed to provide a comprehensive and standardized representation of PCB design data, including layer stackup information, material properties, copper features, drill data, and other manufacturing details. By using a well-defined file hierarchy and data structure, ODB++ ensures accurate and efficient communication between PCB designers and manufacturers.

Key Features of ODB++

ODB++ offers several key features that make it an attractive choice for PCB data exchange:

  1. Comprehensiveness: ODB++ captures all the necessary information required for PCB fabrication, including layer stackup, material properties, copper features, drill data, and more.

  2. Standardization: By adhering to a standardized file hierarchy and data structure, ODB++ ensures consistent interpretation of design data across different CAD and CAM systems.

  3. Efficiency: ODB++ files are typically smaller than traditional Gerber and drill files, reducing data transfer times and storage requirements.

  4. Intelligent data structure: The hierarchical nature of ODB++ allows for easy navigation and access to specific design elements, enabling more efficient data processing and analysis.

  5. Extensibility: ODB++ can accommodate custom attributes and data fields, allowing designers and manufacturers to include additional information as needed.

ODB++ File Hierarchy

One of the defining characteristics of ODB++ is its structured file hierarchy. The hierarchy consists of several key directories and files that organize the PCB design data in a logical manner. Here’s an overview of the primary components of the ODB++ file hierarchy:

1. Main Directories

  • steps: Contains subdirectories for each PCB fabrication step (e.g., pcb, panel, misc).
  • layers: Stores layer-specific data, such as copper features and drill files.
  • symbols: Contains symbol files used in the PCB design.
  • components: Stores component-related data, such as footprints and 3D models.
  • materials: Contains information about the materials used in the PCB stackup.
  • matrix: Holds data related to the PCB panel matrix, such as array information and fiducial marks.
  • data: Stores additional data files, such as netlists and bill of materials (BOM).

2. Key Files

  • matrix/matrix: Defines the panel matrix, including the arrangement of PCBs on the panel and any associated fiducial marks.
  • steps/pcb/profile: Specifies the outline and overall shape of the PCB.
  • steps/pcb/layers: Contains layer-specific data, such as copper features, soldermask, and silkscreen.
  • steps/pcb/components: Stores component placement information, including reference designators and locations.
  • steps/pcb/mech: Defines mechanical features, such as slots, cutouts, and mounting holes.
  • steps/pcb/vias: Specifies via locations and types (e.g., through-hole, blind, or buried).
  • layers/drill: Contains drill data, including hole sizes, locations, and plated/non-plated status.

ODB++ Data Structure

In addition to the file hierarchy, ODB++ employs a standardized data structure to represent PCB design elements. This structure is based on a set of predefined keywords and attributes that describe the various features and properties of the PCB.

For example, copper features are defined using keywords such as “PAD,” “TRACE,” and “POLYGON,” along with attributes that specify the layer, net name, and geometric parameters. Similarly, drill holes are represented using the “HOLE” keyword, with attributes for size, location, and plating status.

Here’s a simplified example of how a copper pad might be represented in ODB++ format:

PAD "R1-1" 1 ROUND 0.05 (1.23, 4.56)

In this example:
– “PAD” is the keyword indicating a pad feature
– “R1-1” is the net name associated with the pad
– “1” is the layer number on which the pad resides
– “ROUND” is the pad shape
– “0.05” is the pad diameter (in the specified units)
– “(1.23, 4.56)” are the x,y coordinates of the pad center

Generating ODB++ Files

Most modern PCB design tools, such as Altium Designer, Cadence Allegro, and Mentor Graphics PADS, support exporting designs in ODB++ format. The specific steps for generating ODB++ files may vary depending on the CAD software being used, but the general process involves the following:

  1. Complete the PCB design, ensuring that all necessary information (e.g., layer stackup, drill data, component placement) is properly defined.
  2. Access the file export or output generation options within the CAD tool.
  3. Select ODB++ as the target format and specify the desired output directory.
  4. Configure any additional export settings, such as layer mapping or file compression.
  5. Initiate the export process and wait for the ODB++ files to be generated.

It’s important to carefully review the exported ODB++ data to ensure that all required information has been included and that there are no errors or discrepancies. Many CAD tools offer built-in viewers or checkers to help validate the ODB++ output before sending it to the manufacturer.

Advantages of Using ODB++

Using ODB++ for PCB data exchange offers several advantages over traditional methods, such as Gerber and drill files:

  1. Reduced errors and ambiguity: By providing a comprehensive and standardized representation of the PCB design, ODB++ minimizes the potential for misinterpretation or errors in the manufacturing process.

  2. Faster data transfer: ODB++ files are typically smaller than equivalent Gerber and drill files, which can significantly reduce data transfer times between the designer and manufacturer.

  3. Improved efficiency: The structured nature of ODB++ allows for more efficient data processing and analysis, enabling manufacturers to streamline their workflows and reduce turnaround times.

  4. Enhanced collaboration: ODB++ provides a common language for designers and manufacturers to communicate PCB design intent, fostering better collaboration and reducing the likelihood of costly mistakes.

  5. Future-proofing: As PCB designs become more complex and incorporate advanced features, such as embedded components and high-density interconnect (HDI) structures, ODB++ is well-positioned to handle these challenges and support the evolving needs of the industry.

Real-World Applications and Case Studies

ODB++ has been widely adopted by PCB designers and manufacturers across various industries, from consumer electronics to aerospace and defense. Here are a few real-world examples and case studies that demonstrate the benefits of using ODB++ for PCB data exchange:

1. Smartphone Manufacturer

A leading smartphone manufacturer implemented ODB++ to streamline their PCB design and fabrication process. By using ODB++ as the standard data exchange format, they were able to:

  • Reduce data transfer times between their design teams and manufacturing partners by 50%.
  • Eliminate errors and discrepancies related to layer stackup and drill data, resulting in a 75% reduction in PCB Prototype iterations.
  • Shorten overall product development cycles by 20%, enabling faster time-to-market for new smartphone models.

2. Aerospace Electronics Supplier

An aerospace electronics supplier adopted ODB++ to improve the quality and reliability of their PCBs used in critical flight systems. The benefits they experienced include:

  • Improved communication and collaboration between their design and manufacturing teams, leading to a 60% reduction in design-related manufacturing issues.
  • Enhanced traceability and version control of PCB design data, ensuring compliance with strict aerospace industry regulations.
  • Reduced scrap rates and rework costs by 30%, thanks to the improved accuracy and consistency of ODB++ data.

3. Automotive Tier-1 Supplier

A Tier-1 automotive supplier implemented ODB++ to support their transition to advanced driver-assistance systems (ADAS) and vehicle electrification. With ODB++, they achieved:

  • Seamless integration of complex PCB designs, including high-density interconnects and embedded components, into their manufacturing processes.
  • Faster NPI (new product introduction) cycles, with a 40% reduction in time from design to production.
  • Improved supply chain collaboration, enabling them to work more effectively with multiple PCB fabrication partners worldwide.

ODB++ vs. Other Data Exchange Formats

While ODB++ has gained significant traction in the PCB industry, it’s not the only data exchange format available. Other notable formats include:

1. Gerber and Drill Files

Gerber and drill files have been the traditional standard for PCB data exchange for several decades. Gerber files (also known as RS-274X) represent the copper features, soldermask, and silkscreen for each layer of the PCB, while drill files (such as Excellon) specify the hole sizes and locations.

While Gerber and drill files are still widely used, they have some limitations compared to ODB++:

  • They lack a standardized file structure, which can lead to ambiguity and errors in interpretation.
  • They don’t inherently include layer stackup and material information, which must be communicated separately.
  • They typically result in larger file sizes and longer data transfer times.

2. IPC-2581

IPC-2581 is another open standard for PCB data exchange, developed by the IPC (Association Connecting Electronics Industries). Like ODB++, IPC-2581 aims to provide a comprehensive and standardized representation of PCB design data.

Some key differences between IPC-2581 and ODB++ include:

  • IPC-2581 uses an XML-based format, while ODB++ uses a proprietary binary format.
  • IPC-2581 includes additional design elements, such as schematic data and test points, which are not typically included in ODB++.
  • IPC-2581 has a different file structure and hierarchy compared to ODB++.

While IPC-2581 offers some advantages, ODB++ remains more widely adopted in the PCB industry, particularly among high-volume manufacturers.

Frequently Asked Questions (FAQ)

  1. Is ODB++ an open standard?
    While ODB++ was initially developed by Mentor Graphics (now Siemens), it has been openly published and is widely supported by various CAD and CAM software providers. However, it is not governed by an independent standards organization like IPC-2581.

  2. Can I use ODB++ for flexible and rigid-flex PCBs?
    Yes, ODB++ supports the design and fabrication of flexible and rigid-flex PCBs. The format includes provisions for defining different layer types, materials, and bend regions, making it well-suited for these advanced PCB technologies.

  3. How do I view and analyze ODB++ files?
    There are several software tools available for viewing and analyzing ODB++ files, including:

  4. Siemens ODB++ Viewer: A free, read-only viewer provided by Siemens.
  5. VisualCAM: A comprehensive ODB++ viewer and analysis tool from Quadras.
  6. GerbTool: A multi-format CAM viewer and editor that supports ODB++, among other formats.

  7. Are there any limitations to using ODB++?
    While ODB++ is a robust and widely adopted format, there are a few potential limitations to consider:

  8. Some legacy CAD and CAM systems may not fully support ODB++, requiring additional data conversion steps.
  9. ODB++ files can be larger than traditional Gerber and drill files, especially for complex designs with many layers and features.
  10. The proprietary nature of ODB++ may be a concern for some users who prefer fully open standards.

  11. How can I learn more about implementing ODB++ in my PCB design and fabrication process?
    There are several resources available to help you learn more about implementing ODB++ in your workflow:

  12. Siemens ODB++ User Guide: Provides a comprehensive overview of the ODB++ format and its use in PCB design and fabrication.
  13. PCB manufacturer guidelines: Many PCB manufacturers offer specific guidelines and requirements for submitting design data in ODB++ format.
  14. Industry events and webinars: Attend conferences and online seminars focused on PCB design and manufacturing to learn from experts and share experiences with peers.


ODB++, with its comprehensive data representation and standardized file hierarchy, has emerged as a leading format for PCB CAD to CAM data exchange. By streamlining communication between designers and manufacturers, ODB++ enables more efficient and accurate PCB fabrication processes, ultimately resulting in improved product quality, reduced time-to-market, and lower development costs.

As the electronics industry continues to evolve, with increasing demands for advanced PCB technologies and faster design cycles, the importance of robust data exchange formats like ODB++ will only continue to grow. By adopting ODB++ and collaborating closely with their manufacturing partners, PCB designers can position themselves for success in this dynamic and competitive landscape.




No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *

Latest Comments

No comments to show.