Skip to main content

My desk is a mess… always.  There are tons of random pieces of projects and ideas, SD cards, tools and much much more. Often when on a call or recording a podcast, I find myself fiddling with those items, and recently I dropped a Neopixel ring onto the lens of my GoPro.  The idea was born.

I immediately started looking at the simplest way to control and power it and found that I already had what I needed handy. The last big issue was connecting and containing the pieces into a shell, that could also act as a diffuser for the light. Luckily, I’ve been looking for a good problem that could be solved with a 3d printer.

Up until this point, there’s been a big gap in 3d printing for me personally (and I know for a lot of people). The gap is the space and technology between the idea and the model that is ready to print.  It’s purely software.

Even with having a little 3d model experience (way back) in college, the idea of turning an idea into a model that had to be perfectly dimensioned to be useful, has always been daunting to me.  So with this idea, I decided that it was time to dig into some software options and learn enough to complete the project.  It turns out, it wasn’t that bad!

I tried a few different ones, but didn’t get too far in any of them when I started using 123d Design by AutoDesk. I was a little familiar with it, but didn’t have any experience building anything. I had seen people using it successfully, namely James from XRobots. So I decided to dive as deep as needed to get the model made. I used their YouTube channel to learn some basics and was off.

I was encouraged, and I want to encourage YOU to realize that it’s not as hard as expected.

My latest iteration of the holder/diffuser is up on Thingiverse.

Here’s what you’ll need:

(purchasing via these affiliate links supports ILTMS)

123d Design (free CAD software)

Diffuser model on Thingiverse

My Arduino code for this project

The NeoPixel ring (12) fits perfectly around the lens of the GoPro.


I’m driving it with an Arduino compatible Pro Trinket, from Adafruit.


I’m using a 100k potentiometer for changing the brightness.


The whole thing is powered with a cheap battery cell via USB.


I removed the long leads from the potentiometer with some nippers.


To prepare them, I pre-tinned all of the connections on the components.


Pre tinning the connects make it quick and easy to add the necessary connections.


I did added the wires to the potentiometer terminals too.


The Neopixel ring uses 5v, Ground and a Data Input for addressing the LEDs.


I connected the ring to the potentiometer at the GND and 5v.


Then these were connected to the Pro Trinket terminals for GND and 5v.


I connected the Neopixel “Data Input” wire to a digital pin on the Trinket.


The middle terminal of the potentiometer was attached to an analog pin on the Trinket.


I modified a simple example Adafruit sketch to dim the LEDs. It’s linked above.


I plugged the Trinket to the power cell with a USB cable, and it lit right up!


Next, I had to figure out how to mount it on the GoPro.


Using some digital calipers, I measured all the parts of all of the components.


*Make sure you measure EVERY dimension, and be as precise as possible*


From those measurements, I modeled a holder in 123D Design. It’s much easier to make than you might think. This was my first piece model in this app.


The finished model (.stl) was brought into my slicing software to prepare for 3d printing.


I printed the piece in transparent filament so it could also act as a diffusion ring for the LEDs.


The piece printed .


I started inserting the components.


I made slots to allow the wires to feed through, so that the ring can fit as close to the camera body as possible.


I wired all of the pieces up, just like before.



I made two tabs to fit the holes in the Trinket.



The rest of the wires were trimmed, and soldered back in place.


The final piece was to add a knob to the potentiometer.


The ring fits around the lens with just enough tension to hold it in place.


It worked, and it’s BRIGHT!


Here’s a shot from the GoPro with the light on. The blue cast is a condition of the color balance of the GoPro.