Arduino Nano Every & 27 WS2812B LEDs not quite working as expected

Hey all!

As this might make it blatantly obvious, I'm no expert in terms of electronics and thus I simply don't understand the issue. I had a couple of WS2812Bs on hand (like https://www.aliexpress.com/item/1005002959057393.html?spm=a2g0s.9042311.0.0.10484c4daN0QBS) but from different sellers.
In total I've used 27 in a prototype to replace a light bulb in a lamp shaped like a turtle. None of the original "electronics" in that thing were re-used, it's simply an Arduino, a bunch of LED's and cables in between.
In essence the first LEDs 5V is on the 5V pin of the Arduino, the ground the same and then I've used data pin 3. They are then wired / soldered in series (and yeah, that took way too long and I should have just bought a strip).
No resistors used other than those already on the WS2812B mini-boards themselves.

There's actually a couple of issues:

  1. colors are seemingly random, I tell all LEDs via code "go red" and I get a wild mix of red, blue and green
  2. if I color 1 LED at a time to understand what RGB values they require to turn red/green or blue I sometimes manage to activate 2 (like I tell LED 3 to turn red, it goes blue - I then change the code and tell LED 4 only to turn blue and get LED 3 green and LED 4 mostly white)

At first I didn't mind this too much, as it looks quite nice all colorful like that.

However the real issue is that it runs absolutely fine when powered via USB slot from my computer, however when powered from an USB hub / switch it seemingly works for about 10 seconds and then blinks like crazy for about 5, then it returns to working flawlessly (as far as one can claim this with this project and execution) until the very moment certain color values are reached again.
I setup the colors like this:
col_red = 255;
col_gre = 128;
col_blu = 0;

Red goes from 255 > 0 > 255 > ...
Green goes from 128 > 255 > 0 > ....
Blue from 0 > 255 > 0 > ...

So in short without knowing much, is a resistor between Arduinos Data Pin and LEDs required? Given that the only difference between working and not-working is the power source, I can't imagine it being something else.

Personally I don't have my tools nor any resistors with me, currently on long-term vacation somewhere else. Thus I'd just like to understand what I can do to fix it, once I'm back with said tools and access to stuff in general.

Kind regards

Allow me to stimulate your imagination. Each LED can use as much as 60mA. What happens when you multiply that by 27?

Yeah I've read that I should use a separate power supply, but there was no time to do it like that. If not enough power is available, I would have expected them to simply not run. That they run absolutely unpredictable AND have issues when coupled with a different power source supposedly providing the same voltage (and god knows what else :P) ... I truly didn't expect this.
So what you're suggesting is that the random colors & flickering can be solved with a separate power supply for the LEDs alone?
What about the resistor in between Arduino data pin and LEDs, is that something to consider? I've read mixed things on this topic.

Yes, and yes. The resistor is mainly important with cable lengths longer than a few cm.

It's cool if you run both Arduino and LEDs from the same 5V supply, just not the onboard one.

1 Like

Huh alright, once I'm back I'll give that a try - cheers!

Two things -
You can also minimize the current by simply limiting the LED brightness in software. I have a chain of about 40 running that way quite well from a Nano, limited to about 10% of max brightness.
The 5V pin is bidirectional so you can use it to power the Every.

I've just tried that. Instead of going all the way up to 255 I set the max to 25 and subsequently also the mid (previously 128) to 12, so it'll go from 0 > 25 > 0 > ... verified via the serial monitor.
This is actually interesting, once powered from USB on PC it works just as expected. Powered through that aforementioned USB hub it goes crazy right away. Like epilepsy inducing crazy. There's probably more wrong with this. :smiley:

Correction, it's a mixed issue seemingly.

  • expensive USB C + micro USB adaptor on PC = works
  • expensive USB C + micro USB adaptor on Nintendo Switch Hub USB Port = works
  • expensive USB C + micro USB adaptor on Anker 4 slot USB Hub = works
  • any cable on Anker 10 slot USB Hub = flickers

Cheers again!

I'm not so sure why you care so much about the "Anker 10 slot USB hub". Maybe it's a pile of junk?

It's just my USB power hub that I use to power my mouse when it needs charging, my webcam and all other things that need power but no data, I was simply surprised that it had such a negative effect on the LEDs vs. a bunch of other things tested. I didn't expect it to have an effect, simply.

Can you replace the adapter that it uses for power? What is the ampere rating? 1A or 2.5A?

So I've used this: 2021-10-16 23_10_21-Anker Chargeur Secteur USB, 4 Ports, 36W avec Technologie PowerIQ, Chargeur Mura
2.4A per slot, 7.2A max and it works fine as the only device plugged in.

The "problem" occurs with this: 2021-10-16 23_10_27-Anker PowerPort 10 Chargeur 60W 10 Ports USB - Chargeur Secteur Vers USB pour po
2.4A per slot, 12A max but with 6 other devices plugged in, including one gopro as my webcam.

Once I tested the LEDs on the 10 slot as the sole device it works fine, so I guess there's not enough Ampere to go around any longer, given that my setup should be using a minimum of 1.6A in LEDs alone.

So thanks again, that was helpful to figure out. It might even help me back home with another USB related issue, possibly!

I think those specs must be exaggerated, or it's just not a good device. Just use a different adapter. Troubleshooting it would require a DMM or oscilloscope.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.