What do you mean by that? BOM exists for communicating the part information to the assembly house. It’s created from the schematic. There’s no need to match anything manually. The assembly house reads the reference designators from the fab and/or silk layers and reads the component information from the BOM file. That’s how it’s normally done.
If you want to give them something cool, use the Interactive HTML BOM plugin which creates an interactive HTML/Javascript file which can be used with a web browser.
But if you still want to add the information to the pcb file: I can’t find a way to include the field information from the schematic to the board file. The information is kept in the schematic/symbols.
However, it’s possible to propagate it through the board into the generated gerbers – but only in 5.99. In 5.99 it’s possible to use text replacement variables and the symbol field names are available in the layout footprints’ text items. The information from the schematic is not saved in the board file but the text variables are replaced on the fly when the layout is rendered or exported to gerbers. This requires the whole project being available, so if Aisler uses only the board file this doesn’t work.
For many vendors, yes, but some quick-turn vendors (Aisler, Circuithub, maybe others) read the CAD files directly – they do not use gerbers or external BOM files.
Aisler takes gerbers, too. I didn’t find info about their assembly requirements. I wonder how they do it because their upload page doesn’t take a project, only a board file, and the board file doesn’t have part data.
Well putting Aisler aside, which I don’t know about, CircuitHub does take KiCad files directly and they require you upload both the board and schematics (because there isn’t enough part data in just the board in current KiCad versions)
Maybe some of their supported EDA packages can include the MPN etc. fields. KiCad doesn’t have name/value fields in the footprint/board file format.
@AndersG, you should contact Aisler and ask them if they could add support for full projects (or board + schematic files), or if they could take a BOM file in a specific format.
KiCad has customizable BOM generator, they (or even some volunteer) could write a BOM generator which generates the needed file if one of the existing BOM generators doesn’t give output which they could read programmatically.
I am en EE by education, but by day job is writing software. I have done commercial designs, but then left the final design and manufacturing to others.
I have been using KiCAD for at least 10 years and have done several designs that I sell as bare boards to other hobbyists, using the “hand solder” footprints and nothing smaller than 0603. I have ordered boards from several other houses in the past, mainly PCBWing and lately Aisler. Aisler if my favourite for prototype boards as they are in Europe and read KiCAD files directly. I can get the boards quiclky and without hassle.
So I am basically new to manufacturing. I looked at JLCPCB, but they required a placement file in a specific format and they had their own preferred component vendor which meant that I had to find new part numbers for my components and beside did they not have all the components.
Aisler reads the placement info from the board file directly which makes things easier and should be less error-prone.
Any hints or pointers are appreciated. The board I am looking at now will probaby be just 20 units, but each board takes 1-2 hours to hand-solder.
See the image posted by eelik here. You upload the board file and then you match components. Having the actual part numbers that I have in the schematic would help here, but I have asked them.
FWIW does Aisler have a preselected option when ordering for a “KiCAD donation”
So basically Aisler could extract the data from the board file if you have added the fields in the symbols and updated the PCB from the schematic. But again, this would work only with v5.99/6.0 or later.
I would like to use the feature mentioned I can only run 5.1.6. But I’d like to use extra fields in eschema that display on the silk screen in pcbnew. This means that silk screen text ( other then references) can stay connected to the component.
The other nice to have would be to define pcb nets in the eschema ie trace widths etc and have them go across to pcbnew
Let me briefly explain how our KiCad import works right now. We have KiCad Stable and Nightly running on our servers. Beside that we have a custom made parse for the board file. In a first step we import part positions, rotation, side, value and name to pre-fill BOM and Pick and Place list. In a second step we use the Python Interface to export Gerbers and IPC 356 Test Point data.
This works way better than first export these files from KiCad and then import with us (or any other assembly / pcb service) as we are able to specify which data we require. You know that there are various ways to format a BOM, PnP, name Gerber files, Gerber precision etc. This is not required if we just import the board file from KiCad.
Regarding pre-fill BOM. As we have no access to the MPN field we require to enter these using our BOM Tool. Is it correct that this changes with 5.66 / 6.00? We’d then auto-import MPNs as this would streamline the process even more.
That’s from a 5.99 board file where MPN is the custom field name in the corresponding symbol and 12345 is the field text. When the board is updated from the schematic the custom symbol fields are added to footprints as properties.
This is awesome! Just opened up a feature request to implement KiCad MPN import in our import process. This will automatically use the MPN attribute to assign parts on our end. To speed things up a bit, does anyone have a Python code snippet which iterates of the parts and accesses the part property?
Perfect! Will use your MR for example, should make implementation a breeze. As soon as we’ve a basic implementation running I’ll give a hands up here to get some test data.