ATtiny -Trinket powered NeoPixel Goggles

NeoPixel Ring and Trinket ATtiny85 Goggles

For the 4th of July I decided I wanted to make some of these badass goggles. I’d been eyeing these NeoPixel rings for quite a while and Adafruit has some great tutorials on their site, but this is the first one I decided to tackle.

This was a fun project, although in my excitement I unfortunately didn’t take many build pictures. I’ll be sure to do better in the future. Enough about all that, let’s get to the fun stuff!

A few initial notes if you decide to follow the Adafruit guide: These NeoPixel rings need a 300-500 ohm resistor on the Data In pin and a capacitor on the power. I used a 470 ohm resistor on the first NeoPixel and a 330 ohm on the second. After doing more research I think I could have forgone the second resistor. For capacitor I swung by Radio Shack and picked up a 470 µf electrolytic style and it seems to be doing the trick. That guide is a bit out of date and doesn’t include recent best practices.

My Parts List:

  • 2x NeoPixel Rings
  • 3.3v Adafruit Trinket (You could use almost any controller)
  • 3.7v 150mAh LiPo Battery
  • 470 µf capacitor
  • 470 and 330 ohm resistors
  • JST-PH cable (quick connect for battery)
  • 22 AWG hookup wire (Red, Black, Green)
  • 29 lb Vellum Paper

The first step was to solder all the connections. This was a precise and slow task as the solder pads on these NeoPixel Rings are very small and the WS2812 chips have tight tolerances to them.

ATtiny-Trinket-NeoPixel-Goggles-1
Third Hand is the best invention ever

Wiring

For power, I soldered a 4-way joint on both the positive and negative: JST cable from the battery into one wire for each ring and the capacitor. This was a bit difficult, but the third hand saved me and made it relatively easy. I’d never have been able to pull it off without that aide.

The Trinket wiring was pretty simple, pin #0 to the Data In on the first NeoPixel. Data Out to the In on the second. I used green for this, but any color that’s different from power would work just as well.

ATtiny-Trinket-NeoPixel-Goggles-3
Wiring completed

Assembly

Now for the tricky part: Figuring out how to get all of this mess jammed inside a pair of goggles. Hot glue became my best friend. As a side note: I did soft install all of this as I cut wire lengths.

I decided to put the battery and the capacitor in the left eye cup and the Trinket in the right. No real reason for this, I just thought it fit nicely that way. Note the usb connection is pointed out so I can still plug it in and update the code. I don’t like how the cross-cup cable routing turned out and the right side has since let go. I’m going to wrap it in some tape or a tube to hide it better. Mk II will have a better design in this aspect.

Before gluing the rings in, I used one of the lenses and an Xacto knife to cut out two circles of Vellum Paper to use as diffusors. The light from the NeoPixels is pretty sharp and I wanted to hide the guts of the goggles from view.

ATtiny-Trinket-NeoPixel-Goggles-4
Installed and powered on

Final Thoughts

One of the rings ended up closer to the vellum than the other, so it’s a bit unbalanced. I think I prefer the more distant look as the diffusion is better. Not bad for a first attempt. The next version will be much better.

View the completed video below and you can find my code on Github. I’d like to do some variable brightness changes, so I’ll be updating the code over time.

Comments