Introduction: NeoPixel 24 Ring Arduino Shield
If you have a NeoPixel Ring with 24 NeoPixels you might want it to mount right on your Arduino so it's not flopping around. I want mine mounted firmly on the Arduino because I will have middle schoolers programming it and I want it easy to use and pack away. One thing you should know is this shield design uses digital pin 2 on the Arduino because I'm programming it with an application and language called LightLogo, created by Brian Silverman, and the environment defaults to that pinout. Check out an avid LightLogo user, Josh Burker, introducing Light Logo and how to get it and use it.
Step 1: Materials
- 24 NeoPixel Ring, from Adafruit
- Arduino UNO, also should fit the Sparkfun RedBoard tho I haven't tested it
- a few jumper wires like these (or a little shorter)
- 3D printed shield board
- super glue
- rubber bands
Step 2: Print the Shield File
There are elevated horizontals on top and bottom so there's no way to print it without a lot of support to break off.
Step 3: Glue in the Jumper Wires
Whatever colors you want, but for mine black will go into the GND, red will go into 5V, and orange will go into pin 2 (remember that's how Light Logo is configured). To route them properly to the underside, you might lay the ring in to check where the POWER, GND, and IN holes will be. The pin 2 wire will go to IN. Photos don't reflect this yet (soon to come) but I've revised the shield design to be open under the ring pins, so you can run the wires through the openings and solder to the ring from the underside instead of from above as the first design was forcing to do. This will involve much less frustration and tight soldering!
Step 4: Seat the Shield and Ring
The wires should line up nicely, but just check and make sure the left of the pair is going into GND, the right of the pair is going into 5V, and the single wire goes into pin 2. When you insert the ring make sure the pin 2 wire is going into the IN hole, then the POWER and GND wires will be in the right place. Now Instructables user djmelvinv pointed out the ring should be properly protected with a resistor on the pin 2 wire and a capacitor bridging the 5V and GND pins. This is true and I haven't done this, so if you want to do this the right way get out your soldering iron and do that little extra work. Adafruit does advise it for NeoPixel rings, tho it's quite buried: https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices UPDATE: On consulting various sources it's clear you don't need a capacitor if all you're doing is powering the ring by laptop as you won't get any power surge there. But a resistor on the pin 2 wire is still a good idea to prolong the NeoPixel's life. UPDATE 2: After using it in the classroom I've found it helps to actually solder the pins to the NeoPixel holes, and use rubber bands to hold the shield fast to the Arduino. Any bit of jostling by students will cause pins to lose contact and the board to reset or randomly flash, which is disconcerting to students.
Step 5: Light It Up!
The NeoPixel Ring is beautiful with or without a diffuser. If you are programming with Light Logo the neopixel at position 0 is oriented to the USB/power end of the Arduino, so if you're looking from that end and turn on the light at 0 it will be on the bottom of the ring. I haven't used Arduino to program it yet, so I don't know how it orients with that.