Make an LED necklace to celebrate LGBT Pride! Available in variants for the following pride flags: rainbow, bisexual, pansexual, and transgender.
To complete this project, you will need the following tools: a soldering iron, a laser cutter, and a 3D printer. You will need the following parts:
- Adafruit Gemma Microcontroller
- 16 Neopixel Ring
- 150 mAh battery
- Slim button
- 10k resistor
- 26 AWG wire
- 1/8" clear acrylic
- Glue-on pendant bail
- E6000 adhesive
- Chain of your choice - found in the jewelry section of the craft store
- PLA filament
There are a few options for the diffuser ring.
Step 1: Solder Electronics
First, we'll do the left half of the Gemma board.
- Place the button across 3V and D0.
- Place the resistor across D0 and D2.
- Solder the button and resistor in place.
For the right half, you will need to carefully measure out the wire lengths. They should be long enough to reach but not too long that they get in the way of buttons and switches.
- Gemma VOUT to Neopixel 5V - be sure to solder to the one right under the "Power 5V DC" label
- Gemma GND to Neopixel ground - be sure to solder to the ground right under the "Ground" label.
- Gemma D1 to Neopixel data input
Once you have the wires cut, solder all those connections.
Step 2: Upload Code
Before you do anything, you should run Adafruit's strandtest code to make sure your Neopixel ring works and is soldered properly. Be sure to update the pin and number of pixels.
There are several variants of the pride flag code available. You can mix and match to create whatever combination you like. The only limitation is the small memory of the Gemma. The basic idea is that there are several display modes and you cycle through them with the button.
- Bi pride - 4 modes: still flag, rotating flag, pixel chase, and random
- Pan pride - same as above but with pan colors.
- Rainbow - 4 modes: still flag, rotating flag, pixel chase, color wheel
- Combined bi + trans pride - 6 modes: still flag, rotating flag, and pixel chase for each of bi and trans color schemes
The bi pride version is the most developed version, and the other files show the other color schemes. Feel free to mix and match! You can also adjust the brightness. If you plan to wear it outdoors in the day time, you will need to crank the brightness up to the max of 255. Otherwise, a brightness level of 60 will work well and use less power.
Once you are confident your code works and your soldering is good, you can move on to creating the rest of the necklace.
Step 3: Cover Back of Necklace
I like to put a cover over the back of the necklace so that the solder joints don't snag on clothing.
- Open the file lasercut/necklace back.svg.
- Laser cut using 1/8" clear acrylic.
- Neopixel ring cover: If you soldered correctly, the cutouts on the Neopixel ring back cover will line up with the solder joints.
- Gemma cover: Line up the flat cut out side of the Gemma cover so that the flat side matches the flat top of the Gemma, where the USB port is.
- Glue in place with E6000 and let dry for 24 hours.
In the mean time, you can move on to the next steps.
Step 4: Diffuse Front of Necklace
Without a diffuser, the LEDs are blindingly bright, even set at 25% brightness. Your friends and those around you will thank you if you add a diffuser.
Option 1: Acrylic Diffuser
This was my original diffusion method, but the diffuser is very thick. If you like the look, then go for it.
- Open the file lasercut/necklace front.svg.
- Cut two copies of the circle on the 3/16" clear acrylic.
Cut one copy of the circle on the 1/8" frosted acrylic.
Use E6000 to glue all the layers together. Let that set for several hours. Once it's set, carefully use a toothpick to spread E6000 over the white edges on the top face of the pixels. Press the ring on top of the Neopixel ring and let dry for 24 hours.
Option 2: 3D Printed Diffuser
I like this version a lot better since it's much more lightweight and also doesn't require any glue.
- Open the file 3dprint/16 neopixel cover v2.stl in your slicer software.
- If you would like to edit the original parametric OpenSCAD design, that is available as 3dprint/16 neopixel cover v2.scad. OpenSCAD is a free, open source 3D modeling program.
- Generate your gcode. I did a normal quality print in Cura.
- Print in white PLA.
- Once it's printed, press-fit it onto the front of the Neopixel ring, carefully sliding the wires through the cutouts.
Step 5: Pendant Bail and Battery Case
- Plug the Gemma in (either to USB or battery) so you can see where the top/middle pixel of the flag is.
- Place the bail at the middle of the top of the flag design.
- Also, make sure the bottom of the bail does not go past the inner ring, or it might get in the way of the Gemma.
- Unplug the Gemma.
- Glue on with E6000 and let set before proceeding.
- Open the file 3dprint/150mAh battery case.stl in your slicer software.
- Generate your gcode and 3D print in whatever color you like.
- Place the case on the back of the Gemma with the opening facing up. Find a good spot for it so that it does not get in the way of the pendant bail or Neopixel ring. The Gemma and Neopixel ring should be flush with each other.
- Glue on with E6000 and let everything dry fully.
Step 6: Finishing Up
Once the glue is all dried, you can put everything together!
- Put the battery in the case and plug it in.
- Optional: shorten the battery wires, put heat shrink on the wire, re-solder together, and blow hot air to shrink that heat shrink.
- Slide the chain through the pendant bail.
That's it! You're now ready to glow with pride. :)