The 5050-type LED strips are pretty cheap, and can (sometimes) be controlled by ESP32’s fairly easily. The rough idea is to connect the individual color pins to a NPN transistor and to control them with an ESP32 PWM output pin. 5050 LED strips are always set to the same color, you can’t control them individually. There are different voltages of strips available - we’re using 5V since they seem to be pretty cheap, and they can just be powered by a USB cable.
There are a bunch of ESP32 dev boards out there, and if you don’t want to make your own, you probably just want to pick one that just works well & is cheap. But which one is for you? Learn from my failures in picking boards.
Updated December 2020 (well, that’s when this was written)
For most use cases, these boards are equivalent and differ by pin count, board size, lipo support, USB port, and random accessories.
Setting up Visual Studio Code for ESP32 / ESP 8266 development can be a bit awkward, if - like me - you don’t know exactly what’s happening behind the settings. The “C/C++ IntelliSense, debugging, and code browsing” plugin makes working with Visual Code a bit easier, but it needs to be configured for ESP projects. Luckily, that’s not too hard.
#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (/home/(etc) ).