WS2812b flickers on Ender 3 PRO and Pi 3b+

Hello,

I'm struggling with random flickering of my WS2812b led strip.
I know this is mostly because of a ground problem but I have grounded my ledstrip together with Pi 3b+ and power supply.
Here is my setup:

What am I missing?? If I power the buck converter with a separate power supply it looks to be more stable/solved. The printer PSU is a mean well as on a Ender 3 Pro.

how long is the green wire?

About 50-60 cm

I guess that's the problem.
Try it with a shorter wire (like 10cm) and check if it still flickers.

You should use a level shifter like a SN74AHCT125N (a cheaper SN74HCT125N would also work for you) for longer data lines.

1 Like

Hmm ok. Is that already too long?

But I have at least to go from top of printer to bottom in order to connect it to my pi.

Can try level shifter option and see if that helps, on the other hand with an other separate PSU on the buck converter it looked better.

Well you can test if it makes a difference - I'm not sure how long is too long. I guess it depends a bit on the environment.
Just put the pi on top of the printer an test it with a short wire.

The light's could also flicker if the power supply isn't sufficient but I assume that you only use a few leds on your printer.
You could try to reduce the power needed if you just run a single color like red (white draws the most)

Here's a wiki of a led project (WLED) which should help you with the level shifter thing

1 Like

Does it flicker all the time or just when the printer is heating up?

@Ewald_Ikemann They flicker all the time but specially while heating or printing.

But I just discovered something strange:

I unplugged the XT60 connector to the printer while leaving the leds on (via the buck).
The leds keep flickering but as soon as I but a voltage meter on the XT60 pins to measure voltage the flickering stops. Getting steady 24.1V though.

Some not right with PSU?

What kind of wires do you use for powering from the PSU to the printer and the buck converter? The thicker the better, especially for the printer.
You also may check all connectors. If they are crimped, check the crimping.

You haven't said what plugin you're using - if it is mine (WS281x LED Status), I have some ideas.

First, read through the troubleshooting guide:
https://cp2004.gitbook.io/ws281x-led-status/troubleshooting-guide

Before I carry on, could you confirm what you are using to run the LEDs?

From PSU to printer is default with the XT60 connector.
From PSU to the buck I also use AWG16 cable but from buck to led are not that thick of course.

I'm sure the crimping and soldering is fine :wink:

@Charlie_Powell Yes I'm using your plugin. It's awesome.

Ofcourse I've also read your troubleshooting guide but it didn't help me to solve the problem yet. I have no levelshifter at home so that one I didn't try.

I use 20 pixels of a WS2812b strip (60 p/m)

No problem, I always want to check with the troubleshooting guide first since it's quicker than me typing out everything first.

Pi 3B+ is not usually one that has an issue with the OS config, it is often Pi4.

With the longer wires, I have had users tell me putting a resistor on the line can help, but I don't think 50cm should be too long - maybe when you get closer to 100cm. The level shifter may help, but this depends heavily on the specific LEDs. If your buck converter can be adjusted, try and drop the voltage lower, since that will make the signal from the Pi closer to what the strip expects.

The maths for this is simple, the strips (to spec) want minimum 0.7*VDD for signal, so 5V this is 3.5V - above what the Pi does. However, some strips don't like 3.3V. If you drop the input voltage to slightly below 5V, then it should reduce the required signal voltage.

I assume the OS configuration test passes? It should be straightforward on a Pi3, it just needs core_freq=250 in /boot/config.txt - if there's any core_freq_min in there, try and take it out.

Thank you for your detailed answer.

Yes, the configuration test passes and I have no core_freq_min in config but the core_freq=250 I have. Otherwise the test wouldn't pass either :wink:

Meanwhile a friend of mine got the same setup and uses more than a meter for the data pin and has not any problems. Only difference is a Pi4 while I have 3.

Lowering the voltage on the buck (to around 4.4) helps a little bit but it's still not steady.

You say that, but it is not that smart. I have been working to make it smarter to work out if there is additional stuff, currently it only checks if things are missing.

If lowering the voltage helps a bit, then a level shifter may work too. That sort of confirms that it is related to the signal voltage for me, it could be that your strip is being annoying and requiring higher voltage signal.

1 Like

I think it looks much more stable now as I gave it 4.71V via the buck.

As you told and according datasheet 0.7*VDD so I did the 3.3V / 0.7 = 4.71V.

It looks like my strip is very sensitive for this so I guess I was little too low or too high in earlier attempts.

1 Like