Wishlist: Implement IPC-2581 export

Please feel free to add your voice to this wishlist bug that asks for IPC-2581 export in Pcbnew.


You can add all the voices you want, but nothing will happen until someone sits down and implements it. It’s on my list of things to do but I don’t believe I can start on it until some time in 2017. There are very few people working on the KiCad source, so unless someone can come up with funds to pay a developer full-time for a year, any wishlist items will be implemented only as people have the time.


Well, all that goes without saying and most of the KiCad users appreciate developers efforts :slight_smile:
It’s still worth having this wishlist bug.

By the way, what would be your rough effort estimation to implement IPC-2581 export? And what would be the cost (approximately)?

My guess would be about 8 months to implement a functional IPC-2581 “preprocessor” - this is the framework that will read a file and can format data to write a file; on top of that the actual application (in this case kicad) would need to translate between its own data structures and the IPC-2581 equivalent. Another 4 months or so would be needed to create a plugin structure for kicad to manage this in a sensible way. So the cost can easily exceed US$100k. Ideally the preprocessor would be maintained as an independent project to create a free reference implementation of the standard.

A functional implementation would be one that provides a very basic set of required capabilities - basically a replacement for the Gerber output. Other features required for electrical testing etc would need to be added later.

That’s sounds reasonable, many thanks for the estimate.
Perhaps it’s something for a targeted crowdfunding project?

It would be great if we can get something from crowd funding. If the implementation of the preprocessor is good enough then there may even be some industry support to continue development of the software as a free reference implementation.

Any further update on this? I’m hearing rumors from the IPC-2581 community that it is happening. If so is there any ETA at this point?

The bug report is marked as “In progress”. So i would guess it might be included in kicad version 6 (So stable users will get it in 2 to 3 years at the earliest.)

You’re hearing rumors? :roll_eyes: Rumors other than the ones we’ve been hearing for the past fourteen years? Fabs that do accept IPC-2581 usually just convert it to the old Gerber formats anyway.

I know several major fabs that sing the praises of directly importing IPC-2581 over Gerber, having worked with us to verify the results. There are numerous other OEMs and contract manufacturers using it

The problem with standards, is there are so many to choose from

For reasons that are not clear to me, KiCad has gone with Gerber X2. Maybe it was just the easiest option.

I’d also guess Gerber X2 was defined earlier ?
I was underwhelmed by ODB++, Mentor may claim ‘open’ but then bury the info in a complex directory tree.
IPC-2581 sounds quite new, so maybe it will come in KiCad one day…

it is a long time collaboration between Ucamco & KiCAD

KiCad’s founding creator Jean-Pierre Charras contributed substantially to the specification and its review process, and also worked closely with Gerber’s developer Ucamco to ensure the successful implementation of netlist and component attributes in KiCad’s own Gerber X2 output. The output has been fully verified by Ucamco as conforming perfectly to the specification and a sample file is available on the Ucamco download page.


Here’s a less war-like opinion:

There is no shortage of those who “sing the praises”, far fewer who have adopted it as their primary form of data exchange.

So many that you were able to name … none.

ODB was released in 1995 and ODB++ in 1997. IPC-2581 in March 2004. Gerber X2 in 2013.

There are plenty of such “opinions” about each of the standards mentioned above. It’s not that IPC-2581 is not a good thing, any of the standards mentioned above would be accepted as at least a step in the right direction. But adoption is extremely slow. Old Gerber is safe but for a fab to support any of the other standards they almost have to support them all, so they do, in so far as they usually just convert them to Gerber.

Interesting, the Altium piece says this

APRIL 12, 2016 There’s been a lot of excitement among PCB Designers and Fabricators over the last year about new PCB design-to-manufacturing hand-off. People tend to fall into one of four camps: Stay with gerber RX-274X (the status quo), stay with / switch to ODB++ (Mentor’s format), adopt the upgraded Gerber X2, or adopt the new IPC-2581 standard.

but maybe they mean the IPC-2581B revision they reference later, seems that rev B was a while coming, if it originated in 2004.

A single file that allows BOM manage/merge does have appeal.

IPC-2581 in March 2004
IPC-2581A in May 2012
IPC-2581B in Sept 2013
IPC-2581C in progress



While I’m at it, some people might be interested in the following magazines.

Is it telling that when I go to the web site of the first manufacturer in the member list (http://www.ipc2581.com/corporate-members/) and open File Upload (http://www.ace-pcb.com/index.php/contact-us/file-upload/) it reads:

Data Format Files Accepted - ODB ++, 274D Gerber, 274X Gerber, IPCD356 Net List, Mentor Neutered Net List, HPGL, DXF, PDF, TIFF, DWG, NC Drill, Excellon.

Do you notice something missing?

Can we just agree that there are 3 competing new standards and that it will most likely stay that way?
(Standards don’t go away. Especially not if companies are behind said standards.)

So lets get this thread to a close for now. It seems at least one kicad dev is working on implementing this export format. (The bug is marked as “In Progress”)
At the earliest it can be added to version 6 which is at least two years away. (It might be in nightly builds a bit earlier.)
If you want this format to be part of kicad then ask the devs how you can help them. (I guess they could use testers once the implementation is far enough.)