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.<p>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.<p>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.<p>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.<p>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:<p><a href="https://store.arduino.cc/usa/arduino-nano" rel="nofollow">https://store.arduino.cc/usa/arduino-nano</a>