Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.

How to Export ODB++ Files from KiCad: Complete Guide

KiCad 9 introduced native ODB++ export, bringing this powerful manufacturing format to the open-source PCB design community for the first time. Before version 9, KiCad users had to convert Gerber files through third-party CAM software to generate ODB++ output, which added complexity and potential for data loss.

Having worked with KiCad across multiple versions, the native ODB++ export in version 9 represents a significant improvement for professional manufacturing workflows. This guide covers the complete process of exporting ODB++ files from KiCad, including options for users still on older versions.

Understanding ODB++ Support in KiCad

KiCad’s journey to ODB++ support was a long-requested feature that finally arrived in version 9.0. The implementation is based on the ODB++Design Format Specification v8.1, providing compatibility with modern CAM systems.

KiCad Version Comparison

KiCad VersionODB++ SupportAlternative Methods
KiCad 9.xNative exportDirect from PCB Editor
KiCad 8.xNot availableConvert via CAM software
KiCad 7.xNot availableConvert via CAM software
KiCad 6.xNot availableConvert via CAM software
KiCad 5.x and earlierNot availableConvert via CAM software

If you are using KiCad 8 or earlier, you will need to export Gerber files and convert them using third-party software like FAB3000 or CAM350. The process is covered later in this guide.

What KiCad’s ODB++ Export Includes

Data TypeIncludedNotes
Copper layersYesAll signal and plane layers
Solder maskYesTop and bottom masks
SilkscreenYesComponent markings
Board outlineYesEdge cuts layer
Drill dataYesPTH and NPTH holes
NetlistYesComplete connectivity data
Component placementYesX/Y coordinates and rotation
Layer stackupYesPhysical layer ordering

The native export produces a complete ODB++ package containing all information needed for PCB fabrication and assembly.

Exporting ODB++ from KiCad 9

KiCad 9 provides ODB++ export through both the graphical interface and command line.

Step-by-Step GUI Export Process

Open your PCB design in KiCad’s PCB Editor. Before exporting, ensure your design is complete and passes DRC.

Navigate to File → Fabrication Outputs → ODB++. The ODB++ Export dialog opens with configuration options.

Export Dialog Options

OptionDescriptionDefault
Output fileDestination path and filenameProject folder
PrecisionDecimal places in coordinates2
UnitsMeasurement unitsmm
CompressionOutput file formatZIP

Precision Settings

Precision ValueResolutionUse Case
20.01 mm / 0.01 inchStandard designs
30.001 mm / 0.001 inchFine-pitch components
40.0001 mm / 0.0001 inchHigh-precision designs

Higher precision increases file size but provides better accuracy for fine-pitch designs. For most PCBs, the default precision of 2 works correctly.

Compression Options

FormatExtensionCompatibility
ZIP.zipUniversal compatibility
TGZ.tgzPreferred by CAM systems
NonefolderFor debugging/inspection

ZIP compression is the default and works with virtually all CAM systems. Select TGZ if your manufacturer specifically requests it, or “None” to generate an uncompressed folder structure for inspection.

Units Selection

SettingFormatWhen to Use
mmMetricDefault, international standard
inImperialUS manufacturers preference

Metric (mm) is the default and recommended for most applications. Select imperial (in) only if your manufacturer specifically requires inch-based coordinates.

Completing the Export

After configuring options, click Export to generate the ODB++ output. KiCad creates the output file in your specified location. The process typically completes in seconds for standard designs.

Command Line ODB++ Export

KiCad 9 includes command line interface (CLI) support for ODB++ export, enabling automation and batch processing.

Basic Command Syntax

kicad-cli pcb export odb [options] INPUT_FILE

Available Command Line Options

OptionDescriptionDefault
–outputOutput filename or folderSame as input
–precisionDecimal precision2
–compressionnone, zip, or tgzzip
–unitsmm or inmm
–drawing-sheetCustom drawing sheet pathBoard default
–define-varOverride project variablesNone

Example Commands

Basic export with defaults:

kicad-cli pcb export odb myboard.kicad_pcb

Export with TGZ compression and higher precision:

kicad-cli pcb export odb –compression tgz –precision 3 –output myboard.tgz myboard.kicad_pcb

Export uncompressed for inspection:

kicad-cli pcb export odb –compression none –output odb_output/ myboard.kicad_pcb

Automation with KiBot

KiBot, a popular KiCad automation tool, supports ODB++ export for KiCad 9:

yaml

outputs:  – name: ‘odb_output’    type: ‘odb’    dir: ‘fabrication’    options:      units: ‘mm’      precision: 2      compression: ‘zip’

This enables automated ODB++ generation as part of your CI/CD pipeline or release process.

ODB++ Export for Older KiCad Versions

If you are using KiCad 8 or earlier, you must convert Gerber files to ODB++ using third-party software.

Conversion Workflow Overview

StepActionOutput
1Export Gerber X2/X3Layer files
2Export NC DrillDrill data
3Export Pick and PlaceComponent positions
4Load into CAM softwareCombined data
5Export as ODB++Final ODB++ package

Step 1: Export Gerber Files from KiCad

Navigate to File → Fabrication Outputs → Gerber. Configure the plot settings:

SettingRecommendation
FormatGerber X2 (preferred) or RS-274X
Coordinate format4.6 for mm, 4.5 for inches
Include extended attributesYes (for X2)

Plot all required layers including copper, mask, silkscreen, and edge cuts.

Step 2: Export Drill Files

Navigate to File → Fabrication Outputs → Drill Files. Configure drill output:

SettingRecommendation
FormatExcellon
UnitsMatch Gerber units
Zero suppressionMatch your CAM software

Generate drill files for all hole types (PTH and NPTH).

Step 3: Export Component Placement

Navigate to File → Fabrication Outputs → Component Placement. This creates pick-and-place files with component positions and rotations.

Step 4: Convert Using CAM Software

Several CAM tools can convert Gerber files to ODB++:

SoftwareLicenseNotes
FAB3000CommercialFull ODB++ support
CAM350CommercialIndustry standard
GerbViewCommercialConversion capability
ViewMateFree viewerLimited export

FAB3000 provides a straightforward workflow for KiCad-to-ODB++ conversion. Load your Gerber, drill, and placement files, then export as ODB++.

Verifying ODB++ Output

Always verify exported ODB++ files before sending to manufacturing.

Using ODB++ Viewer

Siemens provides a free ODB++ Viewer for verification:

FeaturePurpose
Layer displayInspect individual layers
Component viewVerify placement data
Net highlightingCheck connectivity
MeasurementsVerify dimensions

Download from odbplusplus.com/design/download/odb-viewer.

Verification Checklist

CheckWhat to Verify
Layer countMatches KiCad stackup
Board dimensionsCorrect size and shape
Hole countAll drills present
Net namesConnectivity preserved
Component countAll parts included
PositionsCorrect X/Y coordinates

Comparing Against Gerber

For critical designs, export both ODB++ and Gerber files from KiCad and compare them in a DFM tool. Any discrepancies indicate potential export issues.

Troubleshooting Common Issues

Several issues can arise during KiCad ODB++ export.

Export Fails or Produces Empty Output

CauseSolution
No board outlineDefine edge cuts layer
Empty designVerify PCB contains data
Permission issuesCheck output folder permissions

Missing Layer Data

CauseSolution
Layer not enabledCheck layer visibility
Empty layerVerify layer contains objects
Stackup mismatchReview board setup

Compression Errors

Some users have reported issues with compressed output via CLI:

IssueWorkaround
“Insufficient permissions”Export uncompressed, then compress manually
Corrupted archiveTry different compression format

Component Data Missing

CauseSolution
No footprints placedPlace components on board
Footprint issuesVerify footprints are valid
Missing attributesCheck component properties

Comparing ODB++ and Gerber from KiCad

Understanding when to use each format helps you make the right choice.

Format Comparison

AspectODB++Gerber + Drill
File countSingle archiveMultiple files
Net dataIncludedRequires IPC-356
Component dataIncludedRequires placement file
Stackup infoEmbeddedSeparate documentation
CAM setup timeFasterManual layer assignment
Manufacturer supportGrowingUniversal

When to Use ODB++

ScenarioRecommendation
Manufacturer requests ODB++Use ODB++
Complex multilayer boardsODB++ preferred
Assembly includedODB++ has placement data
Simple 2-layer boardsEither format works
Manufacturer only accepts GerberUse Gerber

Useful Resources

Official Documentation

ResourceURL
KiCad 9 Documentationdocs.kicad.org/9.0
KiCad CLI Referencedocs.kicad.org/9.0/en/cli/cli.html
KiBot Documentationkibot.readthedocs.io

ODB++ Resources

ResourceDescription
ODB++ ViewerFree viewer from Siemens
ODB++ SpecificationFormat documentation
ODB++ Design Websiteodbplusplus.com

KiCad Community

ResourceURL
KiCad Forumsforum.kicad.info
KiCad GitLabgitlab.com/kicad
KiCad DiscordCommunity chat

Conversion Tools

ToolSource
FAB3000numericalinnovations.com
CAM350camtek.com
KiBotgithub.com/INTI-CMNB/KiBot

Frequently Asked Questions

Which KiCad version supports native ODB++ export?

KiCad 9.0 is the first version with native ODB++ export capability. This feature was introduced as part of the version 9 release and is based on the ODB++Design Format Specification v8.1. If you are using KiCad 8 or earlier, you must export Gerber files and convert them to ODB++ using third-party CAM software like FAB3000 or CAM350. The native export in KiCad 9 produces complete ODB++ packages including copper layers, drill data, component placement, and netlist information.

How do I access the ODB++ export in KiCad 9?

In the PCB Editor, navigate to File → Fabrication Outputs → ODB++. This opens the export dialog where you can configure precision, units, compression format, and output location. You can also use the command line interface with the command kicad-cli pcb export odb for automated exports. The graphical interface provides the same options as the command line in a more accessible format for interactive use.

What compression format should I use for ODB++ export?

ZIP compression is the default and provides universal compatibility with CAM systems. TGZ (tar gzip) format is preferred by some professional CAM tools like Frontline Genesis but is equally compatible with most systems. Choose “None” to generate an uncompressed folder structure if you need to inspect the raw ODB++ files for debugging purposes. For standard manufacturing submissions, either ZIP or TGZ works correctly with virtually all manufacturers that accept ODB++.

Can I export ODB++ from KiCad 8 or earlier versions?

KiCad 8 and earlier versions do not have native ODB++ export. You must use a two-step process: first export Gerber X2, NC Drill, and Pick-and-Place files from KiCad, then load these into CAM software like FAB3000 and export as ODB++. This indirect method adds an extra step but produces valid ODB++ output. Consider upgrading to KiCad 9 if ODB++ export is important for your workflow, as the native support eliminates the conversion step and potential for data loss.

Do all PCB manufacturers accept ODB++ files from KiCad?

Not all manufacturers accept ODB++ files, though support is growing. Many professional fabricators prefer ODB++ because it reduces their CAM setup time and eliminates layer assignment errors common with Gerber packages. However, some manufacturers, particularly low-cost prototype services, may only accept Gerber files. Always confirm with your manufacturer before submitting ODB++ files. When in doubt, provide both ODB++ and Gerber outputs to ensure compatibility with any manufacturer’s workflow.

ODB++ Export for Specific Manufacturers

Different manufacturers may have specific requirements when accepting ODB++ from KiCad.

Common Manufacturer Requirements

RequirementTypical Setting
Compression formatZIP or TGZ
UnitsVaries by region
Precision2-3 decimal places
Board outlineMust be included

Manufacturer Communication

TopicAction
Format acceptanceConfirm ODB++ support before submission
Version requirementsAsk about specific ODB++ version needs
Additional filesSome may still want Gerber as backup
Stackup validationVerify layer order matches specification

Always communicate with your manufacturer before first submission to confirm their ODB++ processing capabilities and any specific requirements.

Using KiCad Jobsets for ODB++ Export

KiCad 9 introduced Jobsets, which can automate ODB++ generation along with other outputs.

Creating a Jobset with ODB++

Navigate to File → New → Jobset to create a jobset file. Add ODB++ export along with other fabrication outputs for one-click generation.

Jobset Benefits

BenefitDescription
ConsistencySame settings every export
AutomationGenerate all outputs at once
ReusabilityShare jobsets across projects
CI/CD integrationCommand line execution

Jobsets ensure you generate consistent manufacturing outputs across design revisions without manually configuring each export.

Best Practices for KiCad ODB++ Export

Following consistent practices ensures reliable output.

Before Export

Run DRC to verify design integrity. Ensure board outline is defined on the Edge.Cuts layer. Verify layer stackup is correctly configured in Board Setup. Confirm all components have valid footprints with correct attributes.

During Export

Use default precision (2) unless fine-pitch components require higher values. Select ZIP compression for maximum compatibility. Use metric units (mm) unless your manufacturer specifically requires imperial. Specify a clear output filename that identifies the project and revision.

After Export

Verify output in ODB++ Viewer before sending to manufacturing. Compare layer count and board dimensions against your design. Check that all nets and components appear in the export. Archive the ODB++ output alongside your KiCad project files.

KiCad 9’s native ODB++ export marks a significant milestone for open-source PCB design, bringing professional manufacturing capabilities to the free software community. The feature produces complete, specification-compliant output that manufacturers can process efficiently.

Leave a Reply

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

Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.

  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.

Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.