Large Laser Cut NeoPixel Sign

Over at Brown Dog Gadgets Josh asked for a large sign in the entryway and since we’ve got a large laser cutter (basically 5 foot x 4 foot cutting area) I designed and cut a large wooden sign, stained it all, and then added NeoPixels.

I designed it in Inkscape with finger joints for assembly. The large back piece is the same as the front, just cut without the lettering/logo. I basically made two open boxes that would fit together, sort of like a traditional shoe box where the inside is slightly smaller than the outside. Same here, with the inside being the part that mounts to the wall, and the outside being the cover the slides into place over it.

Here’s the back side glued up and with the NeoPixel strips added. There are just two strips running in parallel along the top and bottom.

The NeoPixel strips connect to a Crazy Circuits Robotics Board running some Arduino code. There’s also a RTC (Real-Time Clock) module so it can turn on and turn off at scheduled times each day. (Which sometimes does not work, so occasionally we have to unplug/replug it.)

I made a few grid lines on the back piece as guides for the mounting hardware. Here it is all lit up and ready for the front cover to be put in place. (You can see the simple fade animation happening. It just repeatedly transitions between colors.)

Here’s the front cover in place! There’s a sheet of light diffusing plastic inside. Actually it’s a bunch of smaller pieces cut up and glued into place as needed wherever there are holes in the front. (It appears I failed to get a photo of this.) You can see a Mini USB cable hanging out the bottom which goes to a 5 volt USB wall wart to provide power.

Here’s a side view showing the thickness. And now for the hack. It did not sit completely flush and sort of tilted a little bit on an angle, perhaps due to warping since it’s suck a large piece of wood.

I ended up drilling a hold and placing a pin (well, a bolt) into the side of the sign to hold the cover in place a bit more securely…

Adding the first pin made the opposite corner pop out a bit. So let’s add another! I colored the bolt heads with a black Sharpie marker so as not to be so distracting since it is silver hardware. Basically we just need to remember to pull out these two pins before removing the cover if we ever need to do any maintenance. It’s been running for four months now, and besides the whole RTC clock not always working right it’s been solid, and it does look nice.

The sign is 1016mm x 508mm x 95mm (or 40″ x 20″ x 3.75″ for you Imperialists!)


NeoPixel 7 Segment Display (Part I)

I had been looking for a 7 segment display for a project and the ones I found were similar to the ones I used about six years ago… Had things not really changed since then? Eventually I found these on Tindie, which seemed like they could work, except they were out of stock, and they were a kit of SMT components, and I didn’t want to hassle with all of that.

But what I did like about them was the Arduino library, which supported using NeoPixels for a large multi-digit 7 segment display. Someone pointed me to this Ninja Timer: Giant 7-Segment Display but that too appeared to be way too much to take on. Instead, I went a different route. (Note: I’m going to use the term “NeoPixel” even if I mean WS2812 for the rest of this post.)

Instead of using the flexible NeoPixel strips, I planned to use these NeoPixel sticks. They have mounting holes, so no need to hot glue them down or 3D print some holder. I just laser cut a plate to hold them. I did need to solder them together, and while it wasn’t the easiest thing it also wasn’t too painful.

So hey, getting 7 sticks attached to a plate and soldering them together? That was the easy part. Well, the code was also the easy part. I loaded up an Arduino UNO, connected the segment with three pins, and bam. We’ve got numerical success.

Now, there’s more to come, of course… I next made a front diffusion plate. I started by laser cutting a piece of black acrylic and sticking a piece of white vinyl to it.

I know there needs to be a midsection with walls to isolate each segment, I just haven’t got that done yet… I did get a little ambitious and did a test print without properly measuring everything and it showed I should totally measure everything. I should also note this is the maximum size I can print a single object on my Prusa MINI.

Now, the white vinyl was just a test. The idea was to use translucent white acrylic as a diffuser. The plan is to cut the black front panel, then cut the white diffusion segments so they fit perfectly into the holes when the panel is flipped over and the angled kerf of them makes the magic happen with the two pieces mating together. This worked. What didn’t work was the acrylic I got, which was 32% translucent. I got some 55% translucent later and that worked much better. (Photos of that will be in the next installment.)

At this point, there are many pieces that work, but not all the pieces. Seems I got a bit busy with some projects for customers and had to put things on hold. So I figured it was worth writing up where this project stands so it will remind me to finish it at some point.


Fun with WS2812 LED Sticks

Back when I used to build museum exhibits we put WS2812 LEDs (also known as “NeoPixels”) into things. Lots of things. Sometimes inside cabinet walls or tubes or pipes for glow effects, and sometimes as feedback devices for interactivity. I’ve also built a few signs before, so I’m not new to NeoPixels/WS2812 LEDs…

But I never seem to have any laying around wired up to just mess around with. So I fixed that. I mean, I’ve got tons of strips lying around in a box in my office, but I wanted something smaller and easier to deal with. I found these poorly named Comidox 5PCS WS2812 5050 RGB 8 LEDs Light Strip Driver Board 8 Channel Built-in Full Color-Driven Development Board Black for Arduino which is 5 sticks with each having 8 LEDs, for a total of 40 NeoPixels. (And yeah, it was less than $8 for 5 sticks! That’s 20 cents per NeoPixel.)

What I didn’t know when ordering is that they came all together as one that you are meant to snap apart. Why bother!?! I just soldered them up to make an LED matrix! (Terrible soldering, but it does work.)

Now I feel like I have something handy, on my desk, that I can easily use to prototype NeoPixel development. I started out with the Adafruit_NeoPixel which I’ve used in the past, but now I’m using the FastLED library, which so far seems pretty awesome. There are also some matrix libraries I’ll need to investigate. I’m running these from an Arduino Pro Micro with the Leonardo firmware on it, which seems totally up to the task.

By the way… I recently realized it’s been over 10 years of “screwing around” with Arduino boards, and in that time I’ve been a Technical Editor for two Arduino books, taught Physical Computing (“Arduino for Artists”) in a university, taught classes at a makerspace and a museum, and written plenty of guides about Arduino projects. It’s been an interesting ride!


Recording Sign

I recently made a few “Recording” signs for Brown Dog Gadgets so that when we are recording or streaming no one opens the doors to the studio. This is one of those projects where I thought about it too long instead of just getting busy making it. And of course, like everything, there’s the issue of it being “good enough” versus being “done” and yeah, I just need to find a middle ground between those two things.

I did a quick design in 2D so I could laser cut some 1/8″ Baltic Birch plywood. I didn’t put calipers on the wood so the fit was a little tight, but nothing a few minutes of sandpaper couldn’t solve. Also, since I painted the pieces it slotted together fairly tight so I didn’t even add the 3mm hardware I had planned on. I’m pretty sure if it falls off the wall there’s about a 50% chance it’ll stay put together versus coming apart. I’ll call that a win.

Josh and I talked about using an ESP8266 so we could control it from the studio wirelessly, or just running power to it from within the studio but in the end I just went really simple (hey, it’s version 1.0) and there’s an ATtiny85 programmed using the Arduino IDE to just blink a string of NeoPixels on and off in red. Simple works and usually gets done… eventually.

Who knows? Maybe I’ll make a version 2 that is controlled via WiFi and use matte paint instead of gloss and actually design in an on/off switch hole instead of drilling it later. Stay Tuned!


Brinn Labs Hexalight


I’ve been messing around with NeoPixels quite a bit lately, and I wanted a small portable light I could use to show off a few “makery” things. So the Brinn Labs Hexalight was created.


It consists of a 3D printed base made from black PLA filament. It was close to a ten hour print, one of the longest I’ve done on my Monoprice Maker Select Plus 3D printer. It turned out well. There’s also a piece of laser cut Acrylic for the top…




I only had clear Acrylic handy, and I experimented with a few ideas for light diffusion (including sanding the backside of the Acrylic, and using some HDPE from a milk jug) but in the end I just left the protective backing sheet that comes on the Acrylic in place. (There’s one small tear in it, though next time if I do this I’ll be more careful ahead of time since I’ll have a plan in place.)


Some slotted pan head screws hold the top in place. I would have preferred some nice hex hardware (obviously!) but didn’t have any on hand, and wanted to complete this build quickly. (Maybe I’ll change it out in the future.)


There’s a piece of scrap wood inside that holds the NeoPixels in place. The wood is not laser cut, but hacked up using a band saw. It’s “good enough” for a hidden piece. (Sometimes I work on projects in multiple places and have to use whatever tools are available at the time.)

The three strips of three NeoPixels each is about what I could fit inside. The strips run in parallel, so there’s not a lot pixels to work with. It also makes the transitions not super-smooth, though I still need to play with the code a bit more.


Here’s a shot of the inside from the back/bottom. It’s messy. There’s an ATtiny85 on a board I’ve used before. This allows for the chip to be removed and reprogrammed. Yes, you can skip an Arduino and use an ATtiny85 for small simple NeoPixel projects. (And still program them with the Arduino IDE.)


There’s a pair of wires that lead out a channel in the back/bottom and go to a barrel jack connector. I can then power it with a 5 volt power supply, either from a wall wart or a USB battery.


BLHexalight v01C

I modeled the 3D printed part in OpenSCAD. It’s easy to make hexagons, and I just added a large squarish hole in the middle for the electronics.

BLHexalight v01B

The red piece is a block I used to do the boolean difference for the main piece. This allowed me to slice the hexagon at a specific angle so I could just end up with the part I wanted.

BLHexalight v01A

Here’s a view of the final piece viewed from the front. You can also see the little “shelf” I made for the piece of wood holding the NeoPixels to fit onto.

BLHexalight v01D

Here’s the model from the bottom. There’s the channel for the power wires to run out of. This was just another boolean difference with a cylinder this time to create a half circle channel.


I used the Silhouette Cameo to cut a piece of black vinyl to put on the front so the logo could light up. Getting the vinyl perfectly aligned was a little tricky, so next time I might try another method. (Or just do a better job.)