Main Content

Arduino Nano 33 IoT 12V WS2811 LED Strip Controller

This project uses the Arduino Nano 33 IoT, the Arduino IoT Cloud, E13.1 (streaming DMX) and Alexa to control 12 volt WS2811 LEDs.

Last year I realized that the safest way to display lights for the holidays would be to make a permanent installation using LEDs. After trying a few commercial LED controllers, I wasn’t happy with the limited options for effects (no red, white and blue??), so I decided to create my own controller. I now have several of these controllers throughout my house for LED lighting effects. The first controller was mounted near my roof line to control a couple hundred WS2811 LEDs.

This project represents the third iteration of the controller. It is the first version to use a level shifter instead of a TTL NOT gate to convert the Nano’s 3.3 volt output to 5V TTL for the LED strip. I had a lot of trouble getting the level shifting to work. I’m not sure using a level shifter is better than using a TTL NOT gate. The level shifter requires an additional 1K pull-down resistor to control inductive noise on the LED data line. The TTL NOT gates did not require this 1K resistor. Keep this in mind if you build this circuit. If you have any noise problems, then consider switching to a NOT gate. Just run the Nano output through two of the NOT gates to level shift and then un-invert the logic.

This project uses the Arduino Nano 33 IoT, the Arduino IoT Cloud, and optionally streaming ACN or Alexa to control 12 volt WS2811 LEDs. There are 4 connectors for 4 LED strips and each strip can chain together hundreds of LEDs. The default code sends the same effect to all four strips but this can be easily customized in the main TreeController_dec27a.ino file. The Arduino IoT Remote app can be used to control your lights from your mobile device. You can also link your IoT cloud account to Alexa and use it for voice control of your LEDs.

Here are some voice commands you can use (assuming you name your variables “tree_xxx” where xxx is the effect’s name):

- Alexa, turn the tree color green
- Alexa, turn on tree fire 50%
- Alexa, turn on tree glitter

This project should also work with 5V WS2812 style LEDs. Just substitute a 5V power supply for the 12V supply in the schematic. Also change the call to FastLED.addLeds() and pass in WS2812 instead of WS2811.”

Link to article