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 separately, and connect the ground as data reference!
Page last edited March 08, 2024
Text editor powered by tinymce.