MacroFab: Should I use their libraries?

I’m starting to take a look at MacroFab.

They provide their own libraries of schematic symbols and footprints. I’m wondering whether I should use those libraries, or should I just stick with using the libraries that come with KiCad?

I thought that one of the advantages of using the MacroFab libraries is that their BOM tool can automatically figure out the part numbers for their House Parts. But that doesn’t seem to be the case; I used MacroFab’s libraries and it didn’t find a single part number on its own; I had to input all the part numbers manually.

Is anyone using KiCad with MacroFab, and if so, do you have any advice, especially in the area of libraries? Given that I have to input the part numbers manually anyway, is there any advantage to using MacroFab’s libraries? Or should I just stick to using the normal KiCad libraries I’ve always used?


You (as a singular person) or your company have the ultimate decision.
Usually new users that are starting hardware design prefer to user 3rd part libraries.
“Pro” users and companies, in the end, they will make their own libraries from scratch. - this is the idea I get from feedback from users on this forum and from professionals in the area.


Also remember that it is harder to share projects that use non-standard libraries, especially if licenses prevent you sharing the libraries directly

1 Like

Their KiCad libraries have been converted from Eagle, but they have goofed up the component names so they no longer match the house parts, and that makes it nearly pointless using their libraries. It could probably be fixed with a script. Perhaps you could raise an issue on their github.

I was quite disappointed with MacroFab, they promise a lot of features which are nearly there but don’t really work. I also found they didn’t respond to emails, so I gave up with them. Editing the BOM online seems a fun idea at first, but very quickly becomes incredibly tedious. You can import from a local BOM, but that is not very well specified.


[quote=“kammutierspule, post:2, topic:7668”]
“Pro” users and companies, in the end, they will make their own libraries from scratch. - this is the idea I get from feedback from users on this forum and from professionals in the area.
[/quote]I don’t know the status of the OP but once you’ve printed out the design and verified the footprints it is best to save those into your own ‘known good’ libraries so you have less to sweat/check the next time. I just came real close to ordering a board that had two pins switched. In the end it is your time and money.


Yeah, I’ve gotten that impression from reading this forum.

I’m a “maker”, and I just started doing PCB design a few months ago. I’ve done a few boards so far with OSH Park. I’ve been using the libraries that come with KiCad. (And when I’ve needed symbols or footprints that aren’t part of the KiCad libraries, I’ve created them and then contributed them back.)

The MacroFab libraries are CC-BY-SA 4.0, so that shouldn’t be a problem. I could just copy the libraries I’m using into my project’s repo, for easy sharing.

Thanks! That confirms my suspicions. :slight_smile:

Is there another fab you’d recommend for doing assembly of one-off boards without costing a fortune?

I’ve been using OSH Park so far, and have been very happy with them for through-hole boards, but my soldering skills aren’t that great, so I’m afraid to try SMT hand-soldering. So in order to be able to use SMT components, I’d like to find a fab that can do assembly.

That is a bonus of contributing libraries back to KiCad. The KiCad librarians check your contributions against the datasheet, and several times they’ve caught errors I’ve made.

plus from a quick peek at the libs: They seem very limited and at least the symbol libraries don’t even have descriptions (DCM files) associated with them.

I have used MacroFab on a few runs (5 - 10 pieces) of smaller boards (~40 to 100 component count) for commercial projects. I have not used their libraries, however. I have my own part libraries that I maintain in a Git repository for all the parts used on the board. For a board, I upload the PCB files and .xls BOM file exported from eeschema.
I have had two issues in the past, one part rotation was wrong and once their automated BOM tool substituted the wrong resistor value. I was able to call and get both issues resolved quickly. I have found their costumer service to be pretty good. Since, then they have improved their process in regards to both issues. I would recommend verifying the BOM is correct in their BOM tool. You can also search and substitute parts for MarcoFab’s house parts there if you want to.


1 Like

Yeah, I guess I should be doing that. I discovered that after I painstakingly created the BOM in their online tool, it deletes the BOM when I upload a new set of Gerbers.

How do I enter the part numbers into eeschema? And then how do I create the .xls file? The eeschema documentation for creating a BOM just seems to talk about how to write XSLT. Do I have to write my own XSLT, or is there some ready-made approach?

I found they have been prompt in replying to my emails, but it’s one of those weird conversations where it feels like they’re not replying to what I wrote. They just respond with links to,, and, without mentioning the specific issues I brought up.

So, I found a way to do this. First, under Preferences, I go to the “Template Field Names” tab, and add a field named “ManufacturerPartNumber”.

Then, I can go to a component and hit “e”, and then fill in the ManufacturerPartNumber field.

So, I figured out the trick is that when faced with this window, you need to click “Add Plugin”.

Unfortunately, there doesn’t seem to be a plugin for generating an .xls file, so I picked .csv, so that I can convert the .csv to .xls using LibreOffice.

And now I can use the plugin to generate a BOM.

However, the generated .csv file doesn’t contain the ManufacturerPartNumber that I added.

Am I on the right track here? How do I get the ManufacturerPartNumber into the BOM?

@ppelleti Yes, you are on the right track. I have a standard .xls format I use with other board houses, but I forgot to mention I export a .csv from eeschema. As you have found, I add extra fields to the part fields, then have a modified BOM script that generates the .csv in the column order I like. Then, it’s a simple cut-and-paste into the .xls with my company header. You could use the .csv directly.

Here is my field setup:

My BOM ends up like this: (this was one I sent to MarcoFab, BTW)

There are a number of BOM scripts out there if you search this forum.

1 Like

Just wanted to update a few things here. I got my first board back from MacroFab, and it turned out well. (Despite the fact that I forgot to put any fiducials on it.)

I’ve had more interactions with them now, and they’re been fairly helpful overall. So I think I just had a bad experience with my first email or two.

So far I’m using 1clickBOM and kifield. I’m still getting used to what the different scripts can do, and what format I need the BOM in for MacroFab (if I’m having a board assembled) and for Digi-Key (if I’m ordering parts to assemble a board myself).

I understand that different companies have different ways of doing things, and it’s great that KiCad is so flexible, and can work with all those different ways of doing things. But from a beginner’s point of view, it would be nice if there was a “recommended way” of doing BOMs, so the beginner wouldn’t have to figure out what fields they want to add, and what scripts they want to use.

Have a look at

1 Like

I also noticed that the fiducials in MacroFab’s library have paste on them. Is there any reason you’d ever want paste on a fiducial?