Introduction: Neopixel LGBT Pride Necklace

About: I love doing fun projects with LEDs!

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:

There are a few options for the diffuser ring.

  • Option 1: 3D print from white PLA filament
  • Option 2: Laser cut from acrylic - clear, frosted

Download all of the necessary files as a zip from here (hosted on my GitHub repository).

This tutorial assumes you have already set up the Gemma board for use with Arduino and installed the Adafruit Neopixel library. This project owes a lot to this original Adafruit tutorial.

Step 1: Solder Electronics

First, we'll do the left half of the Gemma board.

  1. Place the button across 3V and D0.
  2. Place the resistor across D0 and D2.
  3. 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.

Connections:

  • 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.

Code files:

  • 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

Pendant Bail

  • 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.

Battery Case

  • 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. :)