How to Create a LED Mask Using Arduino, NeoPixels, and C++
Fun! It's amazing how ubiquitous WS2812Bs have become in such a short time. They're wonderful for everything from wearables to signage to room lighting, and there are 12V versions available if you want to drive longer strings.Some advice for people seeing this article in 2020: you might consider using a more modern microcontroller which supports DMA for new projects today. The ATMega328p which is used in Arduino Unos and Nanos is a reliable workhorse, but it's also slow and expensive compared to modern 32-bit MCUs.Check out ESP8266/ESP32 or ARM Cortex-M cores. They're fast enough to make buttery-smooth animations, they have enough memory for thousands of LEDs, and DMA lets you set up a continuous data transfer to the LEDs which does not require CPU time. These days, there are plenty of ARM Cortex-M boards which work with the Arduino IDE while still being a hair cheaper than "Arduino" knock-offs, and ESP8266 boards let you control your patterns over WiFi.If you're starting to learn about embedded development today, it's not a bad idea to start with more modern hardware; projects like MicroPython and Arduino support a wide variety of chips.Also, if you use the Arduino IDE and appreciate their work, consider buying a genuine Arduino Nano. They cost a bit more than $3-5:https://store.arduino.cc/usa/arduino-nano