I am trying to correctly wire an rgb adressable ledstrip. In a successive blog post, I will make it smart as my goal is to control the lights via Home Assistant, depending on triggers.
Hardware required is the cheap WS2811. This ledstrip works on 12V and you can control every 3 leds (as one). I will wire it with both a Raspberry Pi Zero and an Esp8266. If you’re interested, read on!
Hardware
- Led power supply (to generate 12V DC from 230V AC): Mean Well LPV2012 (buy).
- Raspberry Pi power supply (to generate 5V DC from 12V DC): TracoPower TSR 1-2450 (buy or usb charger).
- Esp8266 power supply (to generate 3.3V DC from 12V DC): TracoPower TSRN 1-2433SM (buy, else or usb charger).
- Addressable led strip, WS2811 12V 5050 (buy).
- Soldering iron or solderless led strip connector (like this).
- Plug to connect with an outlet (like this).
- Wemos ESP8266 (Lolin D1 Mini)
How much power do you need?
Depending on how long your led strip is you will need more w. Usually ledstrips contain either 30 or 60 leds per meter. The usage of 1 led should be rated in the tech sheet. This is of course maximum draw.
Length of ledstrip | Number of leds per meter | Maximum draw per led | Total w required | |
1 | 30 | 0.3 w | 9 w | |
1 | 60 | 0.3 w | 18 w | |
5 | 30 | 0.3 w | 45 w | |
5 | 60 | 0.3 w | 90 w |
A note for long led strips
When you want to power long led strips, you may have to power your ledstrip with 12V on multiple places as the current drops.
When?
- Measure your V on multiple points. If it drops to much, I would also power it there.
- When leds don’t work as intended, this is probably the cause.
Wiring schemes
A small note on the power supply; the ws2811 runs on 12v, unlike the ws2812 wich works on 5v.
Esp8266
Raspberry pi zero
Software!
Raspberry Pi Zero
Let’s first try to make our great led strip with funky animations with a Raspberry Pi.
Initial setup of your pi:
- Install Raspbian on your sd card, use Etcher!
- Boot up your raspberry pi.
- Enable ssh & wifi/ethernet for connectivity (so you can connect via an ssh terminal). Update if needed (sudo apt-get update / sudo apt-get upgrade). Change your users password! You can do all of this via sudo rasp-config.
Make sure everything is correctly wired. Now we can install the required Raspbian packages and do more required configuration:
- Install required packages:
sudo apt-get update
sudo apt-get install gcc make build-essential python-dev git scons swig
- Disable audio output, add to this file: sudo nano /etc/modprobe.d/snd-blacklist.conf
blacklist snd_bcm2835
- Edit boot configuration file: sudo nano /boot/config.txt
#dtparam=audio=on (comment this line)
- Reboot: sudo reboot
Let’s download this library that helps driving these led strips: WS281X.
- git clone https://github.com/jgarff/rpi_ws281x.git
- cd rpi_ws281x/
- sudo scons
- Now you can test if it works! sudo ./test
Result:
Esp8266
There are quite a few Esp8266 boards available. We are going to use a Wemos D1 mini as it’s simple to buy, small and in my opinion of good quality.
Arduino IDE
It’s fairly simple to use Arduino IDE to code your Esp8266. There are a few libraries you should install:
- Todo: add libs we use
Todo: Add screenshot of installed libs.
Todo: How to install / configure the board layout? (http://arduino.esp8266.com/stable/package_esp8266com_index.json)
Code and flash!
Todo: Add all code here.
Inspiration / sources
Tutorials for the Esp8266:
- https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/server-examples.html
- http://www.espruino.com/Individually+Addressable+LEDs
- https://randomnerdtutorials.com/10-diy-wifi-rgb-led-mood-light-with-esp8266-step-by-step/
- https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use
Tutorials for the raspberry pi:
Will you be able to share your code for using the ESP8266?