Last month I had the pleasure of creating a new piece of hardware for Tindie. [Jasmine], the queen bee of Tindie, and I designed, developed, and kitted three hundred Tindie badges in ten days leading up to DEF CON. The badges were a complete success, they introduced soldering to a lot of people, and were loved by all.
This badge was such a rousing success, it’s now official Tindie swag. We’ll be handing out a few of these blinky badges at upcoming events. But as of right now we’ve already handed out our entire stock, that means we need to build more. The second run meant ordering a thousand PCBs.
We could just do another run, and order a few more PCBs from the Gerbers I’ve already designed. I’m not really happy with the first version of this badge, though, and this is an opportunity to improve my design. This also gives me an opportunity to demonstrate my workflow for creating artistic boards in Eagle.
Effectively, what I’ll be demonstrating here is the creation of the Benchoff Nickel. A few months ago, [Andrew Sowa] took a portrait of yours truly, changed the colors to what is available on a normal OSHPark PCB, and turned that into different layers in KiCad. There are a few differences here. Firstly, I’ll be using a blue solder mask, although the same technique can be applied to green, red, yellow, white, or black soldermask. Secondly, this is Eagle, and I’m going to do the majority of the work with a BMP import. This is the fast and easy way to do things; if you want a KiCad tutorial, check out [Andrew]’s work, or my overly-involved multiple silkscreen process for KiCad. I don’t recommend this overly-involved process if you can help it. It took 20 hours to do the art for my previous project in KiCad, and I estimate it would have taken two in Eagle.
With that said, here’s the easy, cheap, and fast way of doing artistic boards in Eagle.
The original version of this pin featured an extremely simple circuit. The only electronic elements on this badge are a 1220-sized 3V battery, two 5mm LEDs, and nothing else. The LEDs are a bit strange — they’re low-profile, fast flicker red green and blue LEDs. They’re actually really cheap on AliExpress, they work well with the design, and experience tells me I don’t need a resistor for the LEDs.
The requisite resistor for the LEDs was a point of contention in the original design of the badge. Yes, best practice tells me I need a current limiting resistor on these LEDs. However, the battery has an internal resistance, and the LEDs themselves are more than just a semiconductor — there’s blinky circuitry in there. I doubt I actually need a current limiting resistor, but honestly, I don’t care enough to measure the LEDs and find out if I actually do. In any event, a resistor is another component in what is meant to be a kit for people soldering for the first time in their lives. There’s no need to complicate this any further.
The circuit will remain the same.
Putting the ‘A’ in STEAM
The high-level how-to for creating art in Eagle is a lot like creating artistic PCBs in any other piece of software:
- Do art. Create an image of what you want the PCB to look like. It’s helpful if the art uses the same colors as the PCB (bare fiberglass, copper, soldermask and silkscreen colors).
- Split that art up into layers, with each layer consisting of only one color. We’re basically doing a spot process here. Bonus points for creating a vector outline of the board.
- Import the outline of the board into Eagle. Alternatively, import a bitmap of the entire image and trace around the board with a milling line.
- For each layer of the board, import a BMP into Eagle.
Basically, this process relies heavily on Eagle’s ability to import bitmap files. There are better ways to do this including an SVG import, but this is the fast, easy, and foolproof way. With that said, let’s continue with the working example. Below are a few swatches showing what colors are available in a blue PCB from any random Chinese board house:
From here, it’s just a matter of taking the vector art of the Tindie head and changing the colors around. From there, it’s simply a matter of bringing this vector art over to Photoshop or your raster editor of choice, adjusting the size of the art to the size of the final PCB, and bumping the resolution up to 300 pixels per inch.
With that, we’re ready to start creating bitmaps to import into Eagle. To do that, we need to understand layers in Eagle, and how those layers are turned into a PCB.
Layers in Eagle
This tutorial assumes a working knowledge of Eagle. If you’re reading this, you’ve probably already made a board with Eagle, and you’ve ordered those boards from OSHPark or Seeed or Elecrow. If not, read this. You already know how copper, soldermask, and silkscreen works. Eagle has more layers than that; we’ll also need to work with negative layers. That is, telling Eagle where we don’t want copper or soldermask.
Here’s OSHPark’s explanation of how layers in Eagle work. Basically, we need to look at two layers. The tStop and bStop are where the soldermask shouldn’t go. This means the resulting color will be silver (if we’re using an HASL process) or gold (if we’re using ENIG process). The tRestrict and bRestrict are where copper shouldn’t go. This means the soldermask will be darker. If we were to combine tStop and tRestrict, we would get a yellow or white color — the color of bare fiberglass.
Of special note is the relationship between silkscreen (the white) and soldermask (blue, or purple, or green). Silkscreen must go on top of soldermask. Silkscreen doesn’t stick to bare copper, and the board house will probably remove it if it’s on bare fiberglass. All silkscreen must have soldermask underneath it.
Importing Multiple Images to Eagle
It’s time to split our art up into a handful of bitmaps and import them into Eagle. Each image you plan to import needs to be saved as a 1-bit BMP at 300 DPI.
The first will be a silhouette of the entire board. This will be the top copper layer and what we’ll use it to trace the outline of the board. Yes, we could take the vector art and use a DXF import for the milling layer, but I distrust DXF imports from Illustrator, and this is a small board, anyway; doing it manually won’t take much time. Import the silhouette like so:
Now, we can continue creating the silkscreen, tRestrict, and tStop layers. If you’re using Photoshop or Gimp, this is as simple as selecting the relevant areas with the magic wand, and creating a new bitmap file. Take a few moments to study and understand how the images below will transfer to what we want on the PCB layers. Understanding this intuitively opens you up to a new level of artistry when designing board. Why would you ever again make boring boards when a bit of effort will produce something quite beautiful.
Since all the images are the same size, and have been saved as a 1-bit BMP at 300 DPI, importing them into Eagle automatically aligns them on top of each other. The result is a Tindie badge that should look like what we’ve designed in Photoshop:
From here, it’s just a simple matter of placing components and drawing traces. Like the last revision of this badge, I used copper fills instead of traces, but otherwise, this badge is identical.
This is the easy and fast way of doing art in Eagle. There are better ways of doing art in Eagle, namely importing areas as DXFs and manually tracing them as area polygons. In fact, this is basically what I did when I created the MrRobotBadge. If you’d like a good guide on how to do that in KiCad, check out this tutorial. It relies entirely on DXF imports, but it did take about 20 hours to transfer that relatively simple work of art into KiCad. DXF importing is a massive amount of work, but in some cases the results are worth it — I’ve been told by people who know their stuff that the mask and silkscreen work on the MrRobotBadge is the cleanest they’ve ever seen, and that used Seeed for a board house.
This is, effectively, the current state of the art in PCB art. anything with a more interesting design is entirely up to the implementation, and there are certainly artists out there more capable than myself. If you’d like some inspiration for what can be done in the medium of PCBs, there’s a Facebook group. A few people are messing around with halftone processes to get even more shades, and soon I’ll be experimenting with more colors than are available in the usual layer stack up. Until those experiments begin to bear fruit, this is the easiest and best way to make artistic boards in Eagle.