KiCAD Output of Manufacturing/Test Data - Page 1
Forum section: electronics / general

author: gnuarm
author_rank: Super Contributor
timestamp: August 23, 2022, 05:30:07 pm
content: Working with one CM, they kept asking me for a particular, "standard" format of CAD info that was useful for board debugging. I forget the format, but I recall that the layout package I was using would not output that. So I typically just help the CM install the layout package and use the various features to view signals.Does anyone know what this "standard" format is called? I want to say it had a plus sign on the end.Does KiCAD support formats like this? Gerber doesn't cut the mustard because the format is not much more than a photograph of the board, unless I've been missing something all these years.

author: ataradov
author_rank: Super Contributor
timestamp: August 23, 2022, 05:57:21 pm
content: I think they meant ODB++. It is a format designed by Mentor and it gets wider adoption, since it is supposed to be better that Gerber (I would hope so for a modern standard). I have not looked how good it actually is.On a quick search, it appears that ODB++ is pretty proprietary, so Gerber it is. And anyone not supporting it would just not get as many orders. To be fair, not all vendors would care.It also looks like IPC-2581 is a less proprietary version of it. But neither is currently supported by KiCad.

author: SiliconWizard
author_rank: Super Contributor
timestamp: August 23, 2022, 06:46:46 pm
content: Yup, ODB++. I've been asked this file format for preparing assembly tooling by some companies. I don't think KiCad supports it, although I vaguely recall having seen that on a long list of future features, but I can't guarantee you. Someone may have written a plugin too, but I don't know of any myself.Benefit of ODB++ is that it contains all information need for pick&place in a "standard" form, and that saves time for those companies instead of having to manually fiddle with P&P files, that are always more or less specific to each client, and convert them, often manually, to their required internal format,Gerber now supports extended attributes since X2 (and there is now X3 with even more features) allowing to embed stuff like P&P information, netlists, etc, but those are still relatively "new" formats not necessarily well supported in the industry yet. Unfortunately.

author: gnuarm
author_rank: Super Contributor
timestamp: August 24, 2022, 02:21:35 am
content: Quote from: ataradov on August 23, 2022, 05:57:21 pmYeah, that's it.Yes, so far only one vendor has ever mentioned it, but their technicians were insistent it was "the thing" and every respectable CAD package produced it.I recall some 20 years ago, IPC failed in their push for new formats to standardize PCB data beyond Gerber, which is not actually adequate for making PWB. Gerber doesn't include the drill file which is Excellon which is yet another proprietary format. At least Gerber files have been standardized in a proper format specification, and I can remember how to spell the name.In many ways, it amazes me that we are still making assemblies with information conveyed in such crude means. Heck, we haven't even standardized the basic terminology of the bare boards, vs. the assembled boards. Many just call everything "boards", so that you have no idea what they are talking about. Don't get me started about panels, vs. arrays.Why is this business so high tech, with such low tech means of specifying "boards"?

author: ataradov
author_rank: Super Contributor
timestamp: August 24, 2022, 02:30:23 am
content: Quote from: gnuarm on August 24, 2022, 02:21:35 amAs usual, any attempt to standardize anything turns into shit show by vendors trying to push their thing. Be glad that autodesk failed in PCB software.We use a lot of old tech like this, and it sucks, but I see no easy solution. If you come up with an independent format, you would have to convince everyone to support it. If a vendor comes up with a format, well, at lease there is one vendor that is happy with it. Now it just turns into everyone trying to push their thing though.Ideally that IPC format would be supported by everyone, but I would not expect it to happen any time soon.

author: gnuarm
author_rank: Super Contributor
timestamp: August 24, 2022, 02:42:34 am
content: Quote from: SiliconWizard on August 23, 2022, 06:46:46 pmWhen you say "Gerber" supports extended attributes, do you mean RS-274X has an extension for this? My understanding is Gerber is a proprietary format that was the basis of RS-274D, which RS-274X is a superset. The only mention I can find of X2 is as "Gerber X2", promoted by Ucamco.Then X3 seems to be very new, again, promoted by UcamcoThis is the sort of stuff that drives me nuts. Standards that are not standardized. Is any of this being promoted to be part of RS-274?

author: SiliconWizard
author_rank: Super Contributor
timestamp: August 24, 2022, 03:26:03 am
content: This is a "de facto" standard. It's not uncommon at all in the industry.All Gerber specs that I know of have come from Ucamco for as long as I've bothered to study them (early 2000s). Yes they were commonly referred to as RS274-X, although I could not tell at which point exactly Gerber and RS274 stopped being linked. Everybody has been calling that just "Gerber" for almost 2 decades now and that always refers to the Ucamco specifications, which have known a significant number of revisions during these last 2 decades. Those specs have always been free to download and free to use AFAIK.KiCad *does* support Gerber X2. It's only a matter of checking the right option in the output dialog.Unfortunately, X2 doesn't specify enough information to be useful for assembly by itself. X3 does that. So in the meantime, even though it doesn't seem to be widely known by non-specialists, ODB++ seems to be what is used most (when it is used) by assembly houses when they want to shorten their engineering time.Both Altium Des and Zuken Cadstar support ODB++. Not sure for the rest of the EDA party. KiCad definitely does not.

author: gnuarm
author_rank: Super Contributor
timestamp: August 24, 2022, 08:37:05 am
content: Quote from: SiliconWizard on August 24, 2022, 03:26:03 amActually, it is uncommon in the industry as I am aware. The problem with "defacto" specs is they are not well specified. SPI is a good example. It is a not specified spec. Originally part of a Motorola MCU, if I recall correctly, the only spec was what was indicated in the data sheet. Meanwhile many have diverged from those details and still are called SPI.QuoteIf the spec was actually Ucamco specified, it would not be an RS spec. That's the reason for the RS spec, to make it an actual specification.QuoteThe Ucamco specs have various holes that result in standard Gerber files not being interpretable by standard equipment. At least, that is my recollection. I know that gerbv throws errors on files that appear to be ok by the Gerber specification.Are you saying the RS spec is exactly the same as the Ucamco spec? Is that because the RS spec was adopted from the Ucamco spec, word for word, or because Ucamco updated their spec to match RS-274X?QuoteIs there any reason to not support ODB++, such as license fees or the possibility of it being a moving target?

author: ataradov
author_rank: Super Contributor
timestamp: August 24, 2022, 04:48:41 pm
content: Quote from: gnuarm on August 24, 2022, 08:37:05 amReally sketchy licensing around it. Some versions require NDA, other don't require NDA, but require registration and EULA to get the document.And their verbal messaging on what they will and will not enforce goes against the actual legal text. So, they may change their mind at any time and squash the competition.And IPC-2581 is open, but apparently it is completely different. It is the same payload, but the actual format is XML-based. And this version is not supported by most manufacturing software, so generating it has very low value.So, from KiCAD point of view this is a lower priority target. I'm sure they will accept the patches if someone implements it, but so far there are no takers.

author: SiliconWizard
author_rank: Super Contributor
timestamp: August 24, 2022, 06:24:50 pm
content: Here is the history if you want to better understand where Gerber comes from and how it evolved:https://en.wikipedia.org/wiki/Gerber_format#History(Ucamco was Barco initially, and IIRC, the first version of the Gerber spec I worked with was from Barco.)They absolutely hold the official specs, and the various revisions of the specs they edited (until X2 which brought attributes) were always clearing up elements of the previous ones that may not have been clear enough. So I definitely suggest getting ahold of the latest one - for those that have to generate or interpret Gerber files. Do not just stick to revisions that are 20 years old.I've written two Gerber renderers, and have always based them on the Barco/Ucamco specs. Never had any issues with any files (except of course for a couple bugs that were my fault). gerbv is not a good example IMO. It sucks. It has made great progress though, but it was not that great really. Not just saying this because I wrote my own tools (even though I admit the reason I did was that there was NO proper tool available at the time), but gerbv can't blame its issues on the Ucamco specs. That wouldn't be honest. (And no I haven't released my renderers so I have nothing to sell here.But having done that, I think I know the Gerber specs a bit better than average.)And yes, contrary to Gerber, there are licensing problems with ODB++. I had a hard time getting ahold of the specs and I don't think I'd be allowed to used them commercially as is. It's also too much of a mess to be something nice to generate - really a pain.IPC-2581 has failed so far, it has unfortunately gotten little traction.My bet is that Gerber X3 is what's going to replace both, as the licensing is a no-brainer, it contains everything needed, the spec is clear, and previous Gerber revisions have already been used everywhere for a long time.

author: gnuarm
author_rank: Super Contributor
timestamp: August 25, 2022, 03:28:04 am
content: So, if the Gerber document is the defining standard, where does RS-274 come into it? Are they just rubber stamping the Gerber document?

author: ataradov
author_rank: Super Contributor
timestamp: August 25, 2022, 04:25:47 am
content: Quote from: gnuarm on August 25, 2022, 03:28:04 amBasically, yes. The goal of the RS-xxx standards is to have something fixed and concrete. This way you could reference it in other documents without worrying that it would be changed or pulled entirely. Or Ucamco may decided to charge a lot of money for it. You can't have government and military contracts and other documentation reference commercial standards.So, RS-xxx would always be lagging behind the source and only updated if necessary. I'm sure there is some committee, whose job it is to track and update this stuff, but they would not move very fast.

author: Karel
author_rank: Super Contributor
timestamp: August 25, 2022, 06:27:53 am
content: Here you go:https://odbplusplus.com/design/

author: ataradov
author_rank: Super Contributor
timestamp: August 25, 2022, 06:34:10 am
content: Quote from: Karel on August 25, 2022, 06:27:53 amHere we go what?This requires registration, which needs a lot of personal information. And the format is proprietary and controlled by Siemens. Not everyone likes that.EDIT: Although it looks like specification download is available without registration, just the software needs it.I had a quick look at the example file they provide. This is just another crap format, except now you get hundreds of files instead of just a few. This is some unholy mix of 80s random text and XML.

author: Karel
author_rank: Super Contributor
timestamp: August 25, 2022, 10:11:11 am
content: I attached the specs in pdf format for your convenience:

author: Gribo
author_rank: Frequent Contributor
timestamp: August 25, 2022, 07:44:39 pm
content: Working for CM here. We have a very strong preference for ODB++, It's not just PCBA PnP, it's also the AOI & X-Ray machines which can use it. It is a bit more difficult with Gerbers.