What is an ODB++ File?

When manufacturing PCB, designers typically convert circuit diagrams into Gerber files and send them to manufacturers. These Gerber files contain graphical information such as layers, traces, pads, etc., making them a commonly used standard format in the industry. However, with technological advancements and the demand for richer data, some designers are turning to ODB++ files. ODB++ is a relatively newer and more comprehensive file format considered the next generation standard for PCB manufacturing files. In this article TechSparks will introduce you to the concept of ODB++ files, its featuresĀ and how to generate it in Altium Designer.

What is an ODB++ File

ODB++ file directory hierarchy

ODB stands for “Open Database,” ODB++ is an XML-based open data exchange standard developed by Valor. Initially introduced in the PCB manufacturing field, its purpose is to simplify data exchange between design and production in electronic manufacturing, avoiding the use of different types of CAM file formats and providing convenient conversion tools for users.

This file format employs a stable framework, defining elements such as libraries, layers, nets, components, placements, and assemblies. Whether for single-layer or multi-layer PCB, or even special process requirements, ODB++ files offer a programmatic, symbolic representation, supporting highly automated production processes.

The increasing popularity of ODB++ files is due to their intelligence, eliminating the tedious steps of using multiple low-level files, significantly improving production efficiency, and reducing the risk of errors. While not guaranteeing data sufficient to support design, ODB++ files assist designers in organizing data and performing necessary manufacturability and reliability checks.

Features of ODB++ Files


					<Library Name="MyPCB" Version="2.1">
  <Layer Name="TopLayer">
    <Net Name="Wire1">
      <Line Width="..." ... />

The hierarchical structure of ODB++ files, implemented using XML tags, makes them widely applicable across different CAD systems. The structured design allows for easy conversion of files between multiple CAD systems, providing a convenient collaborative environment, especially in cross-platform development projects.

Rich Information

					<Component Name="Resistor" Package="0603"
           Value="1K" Orientation="180">
  <Pin Name="GND" Net="Wire2" Pad="1" />
  <Pin Name="VCC" Net="Wire1" Pad="2" />

The ODB++ file contains detailed descriptions of components, including not only basic position and size information but also comprehensive details about the component layout, connection relationships, and attribute information on the circuit board. This extensive information supports powerful automation and visualization of circuit design, making PCB assembly operations more stable, quick, and accurate.

Support for Mass Production and Testing

					<Assembly Name="Assembly1" ExternalID="21735">
  <ComponentRef RefDes="C2" X="4.11" Y="3.68" Rotation="0.0" />
  <ComponentRef RefDes="U5" X="23.4" Y="31.9" Rotation="90.0" />

The ODB++ file configuration of assembled components describes specific assembly information on the PCB, including the assembly name, external identification, and the reference designator, position, and rotation angle of each component in that assembly. The excellent design of ODB++ files supports fast PCBA production, reducing production time and improving efficiency and product quality.

Generating ODB++ Files in Altium Designer

In the menu bar, select “File,” then click “Manufacturing Outputs,” and choose the “ODB++ Files” option to open the ODB++ settings dialog.

open the ODB++ settings dialog

For simulation purposes, select physical layers with networks and ground planes. Generally, export top and bottom, plane 1, and plane 2 layers. These layers are usually included in the default options, and you only need to deselect any additional layers you don’t need.

Optionally, you can choose to include unconnected mid-layer pads. These pads are typically retained on the ground plane but may be removed during the manufacturing process if they are not connected to any traces.

Layer selection

Click “OK” to export the PCB to the ODB++ directory. The ODB++ directory will be created immediately in the same location as the board file.

PCB to the ODB++ directory

You Might Be Interested

tented vias
Tented Vias in PCB

The article emphasizes the significance of tenting PCB vias to shield them from external factors, enhancing signal integrity and assembly processes, particularly in high-speed and

what is a short circuit
Fundamentals of Short Circuit

Short circuits, prevalent in electronics, pose serious risks like fires, damage, and shocks. Identifying causes such as wire damage or component failure is crucial for

solder bridge
Basic Guide to PCB Solder Bridges

Solder bridges in PCBs are unintended connections between circuit paths or pads, leading to short circuits and device malfunctions. They stem from design flaws, process

what is an open circuit
Fundamentals of Open Circuit

An open circuit is a disruption in the electrical path, hindering current flow. It can result from component failures, conductor faults, or design errors. Unlike

QFP Package

QFP, or Quad Flat Package, is a compact Surface Mount Device widely used in electronic manufacturing, featuring densely packed pins suitable for LSI and VLSI

TO packages
Transistor Outline (TO) Package

TO packaging, short for Transistor Outline, includes a TO header and TO cap, providing physical and environmental protection for transistors. The TO header acts like

Scroll to Top