1

I'm running multiple (6), separate WS2812 strips off of one Raspberry Pi4.

They each need to be running independently - so the strip running on pin D18 will be getting different commands to the strip running on pin D21. I am using a logic-level converter and the strips are powered separately.

The issue I'm running into is that it seems like Raspberry Pi's can only run WS2812 or neopixels off of pins D10, D12, D18 and D21.

Are there any workarounds that I might not be aware of?

UPDATE

According to Adafruit's guide on WS2812 with Raspberry Pi you can only

Create one strip at a time.

They don't explain why this is the case.

After some testing, I am able to run two strips (one on pin D21 and one on pin D18) separately. We think that this may be due to the Pi only having two software PWM pins but we are not sure.

UPDATE 2

Running two strips at the same time on pins D21 and D18 only works for a short length of time (10mins). One of the strips stops responding entirely.

What we decided to do is use three Raspberry Pi Zero W's each running one LED strip communicating via MQTT with a Pi4 which is connected to our sensors and audio.

The problem remains, however:

Why can only pins D10, D12, D18 and D21 run WS2812 strips and why can only one strip be run at a time?

JoSSte
  • 147
  • 10
Andrew Earl
  • 121
  • 1
  • 6

1 Answers1

3

Each of one the BCM GPIO D18, D21, D10, D12 can independently control a WS2812B RGB LED strip.

Notice

  1. If there are more than 30 LEDs in a strip, an external power supply needs to be added;
  2. If you want to use BCM GPIO D10 or D12, you must first enable SPI on the Raspberry Pi;

By the way: Each 5050 RGB LED will draw 20mA(min) to 60mA(max)

enter image description here

refs

https://pinout.xyz/pinout/pin12_gpio18

https://pinout.xyz/pinout/pin40_gpio21

https://www.youtube.com/watch?v=aNlaj1r7NKc

xgqfrms
  • 146
  • 6