KiCost is amazing! (I just started using it)

I’m working on a new design, modest in scope and thought I’d try KiCost as a way to manage supply chain issues and risk. KiCost 1.1.11 “developer branch” exceeds my expectations.

As an example, I’ll drag out my “learning KiCAD” schematic and attach the KiCost spreadsheet which results.

Just to set expectations right, KiCost is a “tool”. Like KiCAD which doesn’t do your design for you, KiCost does not do your parts selection for you. You have to use Digikey, Mouser, Newark, Octopart, or whatever you are used to using to make your initial parts selection. From there, KiCost does all the drudge work of scraping parts and supply chain information for you.

Things to try in the spreadsheet;

  • Hover over the column headings for description and coloring documentation

  • Click (or CTL-Click) on theCat# field contents to go to the Supplier web page for Datasheet, Cost/qty info, CAD Models, Manufacturer info, and Description info which can be copied/modified as appropriate for your design

  • Change the build quantity at the top middle of the page. set it to something insane like 10,000 and see how many parts become unavailable or have supply issues.

  • Probably most important is after manually setting how many of each part you want to buy from each supplier, at the bottom of each supplier column area is a copy/pasteable order entry info and a link to each supplier. This all but eliminates typo’s when ordering parts.

555.xlsx (22.3 KB)
555.ods (40.0 KB)

I see enough messages here from people who can’t seem to get this running. I got mine running from following this KiCost documentation (click on Installation):

Installing KiCost 1.1.11 was almost as simple as executing these two command lines from the KiCAD Command prompt:

prompt> pip install kicost
prompt> pip install git+

{I already had GIT installed on my system}

Probably the hardest part of this was signing up for each Supplier’s Developer API, and entering all the “Keys” into my ~/.config/kicost/config.yaml file, enabling each supplier as I got API Keys setup. I’d test this with this command after each change to config.yaml:

Prompt>kicost --show_dist_list
Distributor list: arrow digikey farnell lcsc mouser newark rs tme

OctoPart doesn’t work, leave that config file setting to “enable: false”. The reason is OctoPart is now Nexus which broke the OctoPart API. It turns out OctoPart, now Nexus is owned by Altium. KiCost developers don’t have time to rewrite the API. This is solved by KitSpace which accepts donations to to keep it alive. What this does it pay for the OctoPart APIv4 subscription which is no longer avaliable to users of KiCost.

Most of the time after running KiCAD’s BOM tool to generate the 555.xml input file, I run KiCost with this command line from the KiCAD 555 project directory:

Prompt>kicost -w -i 555.xml -e lcsc

Or run kicost without any parameters and try out the GUI

Summary: KiCost offers about a 5:1 reduction in labor to get the job done. This reminds me of a Star Trek line that goes something like “If weeks become days…” (Wrath of Khan) Basically each day I spend with KiCost saves me a week of effort and a boat load of typos.


@hildogjr just in case. :wink:


I start to contribute do KiCost exactly because this. My goal was: reduce freight and customs costs when purchasing the laboratory.

Still a lot of features or cross-validation that I would like to include (e.g: one time I mistaken purchase a wrong IC package format, this could be cross-checked by BoM and server data…).

I have to thanks @set that is help to keep KiCost running and @devbisme who initially develop the idea. Also, to all other contributors.


I’m glad you’ve been able to maintain this functionality.

1 Like