Categories
Uncategorized

My (First) NeoPixel Bike Light

You may have seen a sneak peek at this project in the post Aventon Level 3 MIK Adapter Plate, because I used the plate to attach this Sheffield Ammo Storage Box to the rack on my bike.

But I didn’t talk about the box or the light, so I’ll do that now.

I’ve got a bike rack on the back of my Trek, and while I can easily move it to the Level 3, I find it a bit wide and it gets in the way of the panniers, so I was looking for a less-wide thing, and this box looked right. I wanted to keep a few things in the box instead of putting them in the panniers for easier/quicker access while riding… and I figured since it was on the back of the bike, why not add a light?

Years ago I got these WS2812 RGB LEDs and they actually came as one unit, where you break off each PCB from the rest. I left them together and soldered all the connections in place… instant NeoPixel Matrix! I play around with programming it a bunch to do lighting effects, but never really used it in a project. Since it would fit perfectly on the back of the box, I designed and printed a few parts to make that possible.

The clear plastic sheet is 0.04″ thick PET. I didn’t even bother to fire up the laser cutter, I just used an X-ACTO knife to cut it. Sometimes being lazy works! And there’s a $4 Raspberry Pi Pico in there as well, which I’ll just power via a USB power bank. (I have at least a dozen power banks around the house. Most are a decade old, but still work well enough.)

I drilled a few holes in the box to feed wires through (just three wires, VCC, GND, Signal) and four more holes to bolt the outside plate into place. I later taped the Pico to the side of the box. there’s some foam padding in the bottom to cover the bolts and I keep a few other things (hat and gaiter) in the box as well.

The maiden voyage did not go well… See, I made mistakes when I printed the MIK Adapter Plate, and the whole thing flew off the rack less than 0.5 miles from home, busting the hinge for the lid and breaking a piece of the mount. I did manage to repair it (zip ties for a new hinge and one new 3D printed part in the correct orientation) but now I bungee the box to the rack, which isn’t great, but I’ll work on that.

As for the actual light, it’s great!. It is very bright, and right now is just red, but I can see doing some silly programming for events, and maybe working on some solid/flashing red modes as well. The USB power bank provides plenty of power for the Pico and NeoPixels.

I called this post “My (First) NeoPixel Bike Light” because I’m working on some other ones as well, so subscribe to the RSS feed!


Note: This post may contain Affiliate Links. Read More.

Categories
Uncategorized

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!)

Categories
Uncategorized

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.

Categories
Uncategorized

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!

Categories
Uncategorized

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.

[ Twitter Content Removed ]

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!