[SOLVED] Seeking insight into "bitmap Gerbers"

I wanted to experiment with using non-vector fonts on a PCB, so on a small simple 2-layer dummy PCB design I added a short text to the top silkscreen layer and set it to 5mm tall Calibri font.

Looks OK. I generated the Gerber files, and viewed them in Gerber Viewer. That too looks OK.

But to my surprise, all the Gerber files are now rather large. Where I would have expected a few 10’s of k, instead all the layers were about the same size, approx 550k.

I was already expecting that the non-vector text on the silkscreen layer might translate to a “bitmap” in the Gerber file: A large number of very small dots individually positioned at great increase in size for the silkscreen file.

But I didn’t expect all the other layers to adopt the same strategy!

So then I removed the non-vector text, expecting that regenerating the Gerbers would revert to a smaller file size – but it did not! It seems like it’s stuck in bitmap-strategy-mode.

Undoubtedly there are more tests I could do to narrow down this surprising behavior. But I thought I’d ask here if there’s already some knowledge on Kicad’s strategy for deciding to produce “bitmap Gerbers”.

This is in Kicad 7.0.8.

You can open the gerber files in either KiCad’s gerber viewer or in some other gerber viewer to look what is inside them. You can also open them in a text editor. Gerber is a readable text format, and the way it works is relatively simple too. The complete specifications of the Gerber format is available on the Ucamco website.

You can open the gerber files in either KiCad’s gerber viewer

Sure, I can look inside a Gerber file and see that it is filled with a very large number of entries. That doesn’t seem to bear on what I was actually asking in my original post, which is how and when does Kicad decide to create output made of a huge number of small dots.

The complete specifications of the Gerber format is available
on the Ucamco website.

Yes, I know. I contributed to it in a small way. See the Revision notes, section 11.5.

Well, it appears that I had outsmarted my self.

In a separate project, I recreated the same board with no non-vector text on the board. Gerber files from that board were in the 1k to 10k range.

I added some Calibri text to the silkscreen layer, and now the the Gerber for just that layer expanded to 60k, but the other files stayed the same.

Then I realized that in the misbehaving project I had:

  1. Used a custom “drawing sheet”.
  2. I had set all the text in the drawing sheet to Calibri so that the informational text looks a bit more respectable than the default vector font.
  3. In the Gerber config page, I had inadvertently checked the box for “Plot drawing sheet”.

So… that would force extensive bitmaps on to all files of the Gerber output.

That explains why, for the misbehaving project, all the files were around 550k, despite my intended Calibri PCB text being only on the silkscreen layer.

In general I don’t need the drawing sheet to appear in the Gerber files, so this will not be a problem in future.

Good news is – there’s no mysterious behavior on the part of Kicad – it’s all mine!


I’m surprised with ‘large number of very small dots’.
When in previous century we wanted to add bitmap graphics at silkscreen I have written a simple program converting B&W bitmap into gerber but I used a serie of 1 mils horizontal lines. I think it results with much smaller files so I am surprised that KiCad does something different when inserting bitmap into gerbers.

Well, ahem, I have to admit I didn’t actually check that the large number of file entries were actually dots and not lines. It might well be small lines.

And I have written based only on what you have written :slight_smile:
Since I use KiCad I didn’t used graphics at PCB. Those ancient project was a serie of “Topless” devices (in-circuit programmers, emulators, interfaces). PCB itself was a top side of device. It was designed one side with whole top being GND (LEDs through hole). And at this top GND we placed the silkscreen device identification texts made as graphic (you had to position vias to not collide with graphics).
Some of those devices we still use.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.