RGB Status & WS2812B

Try back-reading my comments on this thread.

Hi I have/had the same problem of the led showing white then every now and then running across in a different colour,so I checked the core_freq and it is at 250 but I uncommented the audio, now nothing no lights at all. cannot get this puggin to work

I had the same problem on a raspberry Pi4. I think the plugin RGB status doesn't work on a pi4 using GPIO n10.
I tested the led light on a python script, and it worked on GPIO 18 but not 10.
Then I've installed octoprint on a old Pi2, and everyhting works great...

If we're talking about BOARD pin 10 then it looks like for the Pi4B it could be different things, depending upon which interfaces have been turned on (via sudo raspi-config). When you makes changes, it brings in different kernel overlays during the bootup process.

That said, you can see that it might be a receive line used by the UART if enabled or be a clock pin for SPI if that's enabled. Otherwise, it's available generically. That's why they're called General Purpose—they could be this or that, depending upon the settings.

You should go visit the plugin author's repository, create an Issue and let him/her know about how the Pi4 is now different.

From Tom's Hardware:

Hi Eric, I am new to this and I have problems with the leds w2812b, I have them connected GPIO 10 = PIN19 but I don't have to put in PIN LED and LED DMA

The strip-of-programmable-LEDs like this are notoriously hungry.

  • Power them separately from the Pi itself
  • Share Gnd with the Pi
  • The Pi pushes 3.3VDC data and these LEDs expect 5VDC logic level.

Read what Adafruit has to say on the subject, especially the second page on that tutorial.


What I've found that works well is to add a PyBoard to your Pi, connecting this via USB. The LED strand then is connected to the PyBoard. Power the LEDs as described above. The PyBoard dishes up the 5VDC logic level that makes the LEDs work as expected and allows a lot more interfacing options.

I understand, I have an external power supply and a logical converter should work

I've been reading this thread, troubleshooting my RPi 4 setup, but still cannot get this plugin to work. Is there anyone out there who has this plugin working correctly with a Raspberry Pi 4? I have a 16 led NeoPixel ring I'm trying to get working atm.

Are you powering it separately?

Yes, I have a 5v 2A power supply for the lights, common ground shared between lights and the RPi. SPI enabled, Pi added to usergroup, but still no luck. The only thing I haven't tried that was suggested from this thread was a logic level shifter. Considering what's going on in the world today, IDK how high on my priority list buying one is right now. But I do have a couple smaller arduino clones (mini or micro) that I may be able to connect to the Pi's GPIO and maybe try that strategy. I also have a RPi 2b that I can try to get working with Octopi/RGB Status Plugin, just to see if there is any difference which generation Pi used makes.

You've managed the first two parts: separate power but shared ground. The next step is as you're now confronting, the logic level is 3.3V versus 5V. It's best to read the Adafruit tutorials on this. Especially read the safety callouts on the Basic Connections page. Note the part about the 470-ohm resistor.

If using a 3.3V microcontroller you must use a logic level shifter such as a 74AHCT125 or 74HCT245.

Do you have a RPi 4 with a logic level shifter running this RGB Status plugin successfully?

I have a working setup now but it's not directly driven through the Pi 4B. Mine includes a PyBoard to drive the 60-LED Neopixel ring as seen here.

Pretty sure I've also gotten this to work using any of the Arduino boards to drive it directly.

Behind-the-scenes, this is responsible for displaying the print job status and the Cylon animation effect for demos (look at the horizontal space below the green doors):

Look carefully at the blue data input line, there's an inline 470-ohm resistor even when using the PyBoard in this case.


Let's see... I've also described how to use a standard 7404 chip as a logic level converter for all this.