-
Notifications
You must be signed in to change notification settings - Fork 45
StickerBOM
StickerBOM is a KiCAD BOM exporter designed for people stuffing boards by hand. It generates a PDF for printable sticky labels, where each label reflects one BOM line from a supplier. You then stick these labels on the bags from your supplier, and they show you where things go.
It works by creating a drawing of your PCB, with the relevant components highlighted. This works best if your parts have a drawing on F.Fab, but if not, it will render the pads and silkscreen instead, which seems to work well too.
You need to have supplier fields in your schematic item properties, but
hopefully you were doing that anyway. If you are, you might consider
xml2bom.py
in this repository as well, which can generate quick-paste order
formats for Farnell, DigiKey, and RS, plus it checks for consistency in
footprints and order codes, and highlights parts with missing codes or
footprints.
The .kicad_pcb
must be in the same folder as the .xml
file, and with the same name prefix.
python scripts/stickerbom.py /path/to/project.xml bom.pdf
Or, double click the stickerbom.py
file from your eeeschema BOM manager when
adding a new plugin. Change the end of the command line from .bom
to .pdf
, and you're all set.
Each part in your BOM should have a custom field like "Farnell":"12345678". You can specify which custom field names are to be treated as suppliers and output at the top of the script, in case you just want to output for one supplier or need to exclude other custom fields. By default this is set to Farnell, RS, and DigiKey.
It's set up for Avery L7164 labels at the moment, but you can change this very easily in the settings at the top of the script. I recommend using reasonably large labels so you can clearly see the drawing!
- Doesn't support all possible graphics and pad shapes (just lines and arcs, and rectangle and circular pads, really)
- Only as good as the data you give it
- Less useful on really huge boards covered in similar parts where it just doesn't fit on the label very well