KiCad 7.0.2
I am in the schematic editor and need to generate a BOM much like I have in the past with KiCAD 6.x
I only see 2 options now so I select “bom_csv_grouped_by_value_with fp”
This does not generate a CSV, only an HTML. I need the CSV as stated for submission to my vendor (jlcpcb).
It’s not HTML, it’s actually XML, and it’s not the final output, just the intermediate file that eeschema feeds to the Python script.
I tried the same Python script and it exited in a error. Possibly it hasn’t been maintained. There is a JLCPCB Fabrication Toolkit plugin for generating the production outputs they need so this might be a better choice.
No, I’m saying that the transformer script you tried also failed for me, and I have no desire to investigate it.
You can still use the old XSLT transformer (provided you have the xsltproc program which is not part of KiCad) following the instructions at JLCPCB to first download an XSLT script last modified by arturo182. Be careful, the JLCPCB site contains lots of old information which only apply to older KiCad or Python versions.
There is actually a plethora of BOM and CPL generation scripts written in Python, just do a searh and you will find at least a couple on Github. The Benny Megish one is in the PCM though.
Thanks for the investigation here–I am not sure I have 7.02 set up properly. In the past when I upgraded from 4, 5, and 6, it seems as though the BOM feature was set up automatically. Apparently not in this case
I am indeed pressing the “Generate” button but I am still showing a 6.0 module:
python: can’t open file ‘C:\Program Files\KiCad\6.0\bin\scripting\plugins\bom_csv_grouped_by_value_with_fp.py’
—is there an install note around here on WHERE to download the BOM 7.02 software, and WHERE to place it in the KiCAD files?
My understanding is that for generating the BOM from the PCB feature I need to select Tools:External Plugins: Refresh Plugins after putting the correct modules in the correct places.
I know Nothing about v7 except that, like every Kicad release, I wait 6 months before Upgrading and I upgrade only if the Posts (re bugs) is no longer overwhelming (to my little brain).
Thus, my Plugins for BOM are in same location and as you see in screenshot above, I have several Custom BOM’s, including HTML with user Text input panel (via web Browser). Also (and irrelevant) to get a nicely formatted output, I load the CSV’s in Libre’s Spreadsheet (Calc) and run a Macro I made via ‘Watch-me-do’ feature in Calc).
Re where to place whatever BOM code you download; just place it in the same location showing your current BOM creating codes…
BOM from PCB: The code to do it is a Stock Feature so, I did Not need to do anything except Click…
OK–I looked in the “Program Files” directory as some of you have listed and all of the 7.0.2 modules were there–but for some reason the 7.0.2 eschema editor was pointing to the old (and now removed) 6.x.x files. I did a “reset” (again) and now everything works fine.
Probably something went wrong in my install (a lot of files running around) but I am good now.
Regarding the mentioned Python issues, I have used it for about 10 years, but I never understood what was wrong with C++. In the process of reinventing this I indeed have had lots of problems with nothing working in Python from month to month—They seem to have issues converging on a long lasting version and it has been a constant problem or “rev roulette” in our lab for our hired computer scientists. I continue to use C++ when I can but unfortunately a lot of important modules are now written in python–
Apples and oranges. More coders are able to write in a scripting language like Python than C++, and scripts are more easily cross-platform. The trap is that authors have to be aware of what features they are using and whether their target audience has a suitable version. This requires discipline. Authors have to say, ok, the interpreter version we are targetting is say 3.6 (because people may be running LTS Linux distros for example). The problem is more evident in Python because of the ease with which new features can be added to the language.
But sometimes there is no easy way of getting some distributed Python software to work with an older interpreter. For example I had to run some speech to subtitle ML software using an appimage for Python 3.9 on my distro.
Just as info, you REALLY owe it to yourself to look at JLCPCB Tools by Bouni for KiCad.
Workflow without JLCPCB Tools:
Export BOM CSV from Schematic
Hand-edit CSV with LCSC part numbers you have to research, reshuffle and rename columns, and then save as XLSX to preserve formatting. Delete rows of parts you don’t want placed. If you ever need to change the BOM, you’ll have to redo all this work.
Export POS/CPL from PCBNew
Rename file to CSV, hand-edit, reshuffle and rename columns, and then save as XLSX to preserve formatting. If you ever need to reexport the CPL file, you’ll have to redo all this work.
Export Gerbers from PCBNew, making sure you have all filename, layer, and drill settings correct.
Collect everything and upload it
See in the JLCPCB.com preview that Rotations are off, so correct these on the website.
NOTE: If you ever need to reorder this board, you’ll have to do the Rotations step again.
Workflow in JLCPCB Tools:
Open JLCPCB Tools in PCBNew
Use the search engine to assign LCSC parts to symbols.
Check and uncheck BOM and POS for every part as desired.
Rotate parts 90/180 which will be saved for that part forever (even future projects).
Click one button to export Gerbers, CPL, and BOM, all properly formatted.
Upload to the website. If you see any rotation or part problems, just change them in JLCPCB Tools and reexport as all the above workflow is saved permanently with the project!!