I have yet to make an actual PCB and that should change this week. A few weeks ago I installed KiCAD and I’ve been going through the library structure to get an understanding of the software from the foundation up. I’ve used PADS, PCAD, other proprietary CAD, Mentor Graphics, Cadence HDL, OrCAD and OrCAD CIS over the years. A part database lets you control the symbol and footprint to avoid repeating errors of part number and the wrong footprint not to mention have a “single point of truth”.
I had some issues setting up the kicad_dbl file on Windows and the Mac (Apple silicon) was a little harder to connect since I had to compile the unixODBC driver to access MariaDB on the Raspberry Pi. I also have a SKILL script to export Allegro symbols to JSON files which can then be used to create KiCAD footprints but that may be another post.
My discussion today with ChatGPT has created a database workflow that has basically unlocked CIS-style workflows in an open-source way.
With a little SQL trickery (like splitting a |-separated symbol list into multiple rows), I should be able to do things we used to need OrCAD CIS or Altium ActiveBOM for:
- Pick between multiple schematic symbol styles for the same part number.
- Use footprint filters to swap between top/bottom/alternate packages.
- Keep a clean BOM (just internal part numbers) while letting the ERP/database handle exploded BOMs (jumpers, screws, labels, etc.) and approved manufacturer alternates.
The big win is that this means KiCad doesn’t need to replicate ERP/PLM features. We can solve those in the database/ERP layer, and the developers can focus on what really matters for KiCad itself: bug fixes, routing, DRC, visualization, layout improvements, manufacturing outputs, etc.
Thanks to the dev team for making this possible since I’m making KiCAD my new PCB software.