Avoiding The Burning of Dollars

Panelizer and CAMmer: More production tools with EAGLE to avoid silly mistakes.

Favorited Favorite 0

We (ok me) recently forgot to order a bottom stencil for one of our panels. We also accidentally ordered boards in the wrong thickness and wrong color. And once upon a time, many years ago, we even forgotten to transmit the internal layers of a four layer board. Many dollars burned.

Can we create tools to avoid these mistakes? Yes. Yes we can.

Additionally, we need to create lots of panels in SparkX (see our previous post on panelizing boards) but our production team makes much larger, more complex panels that are optimized for our SMT line (automatic stenciling machines, pick and place, automated optical inspection, etc). One of the challenges of creating these larger panels is to allow for gaps when there are overhanging parts off the sides of a PCB.

The SparkFun-Panelizer takes a single board like this one:

Single copy of a design

And generates a panel that looks like this:

Production panel

Complete with borders, fiducials, gaps, and production text. All parametrically!

GUI settings

Who needs this? Generally speaking, anyone who has a pick and place machine or is populating their own boards. If you’re having a contract manufacturer populate your boards then they will probably generate a panel from your design to match their process.

The features of the SparkFun-Panelizer:

  • Detect overhanging parts: Warn user and recommend a gap needed to avoid collisions. We scan all parts for tDocu and tSilk outside the board dimension.
  • Auto add Route Out text or V-score lines: If the gap is large enough that the panel needs a route-out instead of a v-score then say so.
  • Detects internal layers: Warn user if there are internal layers detected.
  • Detect if board has bottom components: Add bottom fiducials to panel borders, generate bottom stencil, generate internal layer gerbers.
  • Detect board soldermask color: Scan the board aestethics (logos) to determine if this is a purple (LilyPad), red (SparkFun), or black (SparkX) PCB.
  • Detect board thickness: We add a manufacturing note to all 0.8mm boards. Find this and we know we need to order thin boards.

GUI Warnings

It slices, it dices! Just set it and forget it!


We also automated the CAM generation process - we call it the SparkFun-CAMmer. If we can detect a four layer board then we can generate CAMs that automatically include the internal gerbers (no more mishaps). We can automatically warn the user to order a bottom stencil. We can even zip everything up so it’s ready for transmission.

Please kick the tires! Let us know what you think. And if you have a better way of doing something please create a pull request.



Comments 1 comment

  • Wow. Right on Nate. This is very impressive! I’ve always wanted to dive into the world of Eagle ULPs! We use the BOM generation one all the time, and I’ve also played around with image import a ton. https://learn.sparkfun.com/tutorials/making-custom-footprints-in-eagle But ULPs have always been a black box to me. I’m excited to take a closer look into your code on this. Thanks for sharing!