You'll need the following hardware for this guide:
- ESP8266 running MicroPython. The Feather HUZZAH ESP8266 is perfect if you don't have a board yet, but any ESP8266 board should work. See the loading MicroPython on a board guide for details on how to get MicroPython running on the board.
- NeoPixels. You can use any type of NeoPixels like strips, matrices, and more. However be sure you use RGB and not RGBW pixels as the code for this project assumes only RGB pixels. Three to four meters of a strip like the 30 pixels/meter NeoPixels are perfect for wrapping around a small wreath or tiny tree. Check out the NeoPixel Uberguide for more information on the different types of NeoPixels and how to power them.
- 5V power supply. You'll need a 5 volt power supply with enough current to drive all the pixels. Each NeoPixel can pull up to 60mA of current so be sure to get a large enough supply to support all your pixels! This 5V 10amp supply will handle up to about 150 NeoPixels at full brightness (grab a barrel jack to terminal block adapter to make connecting the supply easy). Check out the NeoPixel Uberguide for more power supply options.
- Large capacitor to protect pixels. As the NeoPixel Uberguide mentions you might want to add a large capacitor to the power connections to prevent damaging the pixels with a sudden rush of power. The 4700uF 10V electrolytic capacitor here should work great.
- Soldering tools. You might need to solder some of the NeoPixel and other connections so be sure to have a soldering iron, solder, and wire handy. If you're new to soldering check out the guide to excellent soldering too.
- Power supply ground/- to NeoPixel GND/ground and Feather HUZZAH ESP8266 GND/ground.
- Power supply 5V/+ to NeoPixel +5V and Feather HUZZAH ESP8266 USB pin. For other ESP8266 boards check its specs to see which pin can support a 5V power input that runs the board.
- Feather HUZZAH ESP8266 pin 15 to NeoPixel Din/input. You can use most other GPIO pins on the ESP8266 (except pin 16) but this guide will assume you're using pin 15.
- If you're using a capacitor to protect the pixels (highly recommended!) connect it as follows:
- Capacitor cathode (the pin on the side with the stripe) to power supply ground/-.
- Capacitor anode to power supply 5V/+.
If you're using a barrel jack to terminal block adapter it's easiest to connect the capacitor directly to the terminals like below (be sure the side with the stripe is connected to the negative/ground terminal!):