A Feather board without ambition is a Feather board without FeatherWings! This is the NeoPixel FeatherWing, a 4x8 RGB LED Add-on For All Feather Boards! Using our Feather Stacking Headers or Feather Female Headers you can connect a FeatherWing on top or bottom of your Feather board and make your Feather board strut like a peacock at a rave
Put on your sunglasses before staring into these 32 configurable eye-blistering RGB LEDs. Arranged in a 4x8 matrix, each pixel is individually addressable. Only one pin is required to control all the LEDs. On the bottom we have jumpers for the DIN line to any of the I/O pins on a Feather. You can cut the default jumper trace and use any pin you like. (In particular, the default pin for Feather Huzzah ESP8266 must be moved, try pin #15!)
To make it easy to start, the LEDs are by default powered from either the USB power line or Battery power line, whichever is higher. Two Schottky diodes are used to switch between the two. This power arrangement is able to handle 1 Amp of constant current draw and maybe 2A peak, so not a good way to make a flashlight. It's better for colorful effects.
A level-up shifter converts the 3.3V logic of the Feather to the power line voltage. If, say, you need MORE blinky, you can chain these together. For the second Wing, connect the DIN connection to the first Wing's DOUT. Also connect a ground pin together and power with an independant 5V supply to keep from loading the power supply too much.
The NeoPixel FeatherWing is pretty easy to use, there's only one data pin (NeoPixels use a timing-based protocol to communicate). You also have 3 pins that can be used for power:
The bottom row's ground pin is also used of course, for both power and data ground reference.
Up top, both VBAT (top row, left-most pin) and VUSB (top row, third from left) are fed into two Schottkey diodes so that the higher of the two voltages is used to power the Neopixels:
That means, if USB is plugged in, you'll get ~5V USB power. If the feather is running off of battery power, say a LiPoly battery, you'll get 3.7-4.2V power. While this is a little lower than spec, NeoPixels are only a little dimmer.
On the bottom, we have a range of pins that are available for use as the 'control pin'
By default, there is one jumper that is closed:
This pin is #6 for Feather 32u4, 328p, M4, nRF52840 and M0s, and is #16 on ESP8266 Feather.
You can use the default pin on nearly all Feathers, however you will need to change it on ESP8266 since that pin is not supported by the Adafruit Neopixel library. Its easy to do, just cut that jumper and solder one of the other pins closed.
Note that you should only have one jumper closed at a time. That'll be the dedicated pin for data transmission
Since that pin voltage is going to be 3.3V, and, if you have a fairly high USB power supply (say, 5.5V) it can be a little flakey. So we put on a level shifter, it will shift the data line from 3.3V logic to 'the-larger-of-USB-or-BAT-voltage' logic
You can get that shifted data pin out on DIN - at the end of the 32-pixel strip, there's also a pin that will let you chain more neopixels on the end. Don't forget to power more NeoPixels seperately, and connect the ground as data reference!
Once you've soldered headers on, check out https://learn.adafruit.com/adafruit-neopixel-uberguide for everything you could possibly ever want to know about NeoPixels. Note that since the data lines are very short for the shield, an inline resistor and large capacitor are not needed.