Panelizer and CAMmer: More production tools with EAGLE to avoid silly mistakes.
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:
And generates a panel that looks like this:
Complete with borders, fiducials, gaps, and production text. All parametrically!
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:
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.
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!