Fake WS2811 IC?

Hi everyone,

I have recently purchased some APA106 5mm addressable LEDs. They work fine, but their power consumption when there is no light coming from them is still 0.7mA per led.

I am planning to use 10 of these leds in a battery powered project and so I don’t want this “idle current”.

I figured the APA106 wasn’t the same as the WS2812B, but you can’t seem to get that type in 5mm led form.
So I purchased some ws2811 chips and separate RGB leds from aliexpress, but when I tried them the “idle” current was again 0.7mA.

Did I buy fake chips or is this normal, since the datasheet mentions an input current of 1uA.

WS2811.pdf (316 KB)

Input current from data sheet would be the current for the data input. I don't see the power supply current spec.

Has anyone ever measured the "idle" current of a ws2812B led?

Not personally, but this is a quite well-known limitation of using these LEDs under battery power.

I found that with ws2812b, the consumption was, very roughly, around 1mA per led, with the LEDs off. So your findings seem as expected to me.

Yes you get an idle current, because the electronics inside the controller is waiting and watching for a data signal, that takes power as well. It is not like a conventional LED that draws no current when it is not lit.

I just bought a second batch of WS2812 LEDs mounted on small PCBs and found that they responded to small brightness settings when they were nearly off. The same number for red gave a very dim point of light for one set and a larger area of light for the other batch.

Pretty sure 0.7mA is expected; have seen others cite the same value here (from their own measurements).

Alright, thank you all very much for the comfirmation.

I will have to find another solution:
Does anyone know of an IC that can drive at least 10 single color leds like a shift register but with dimming?
The IC should also only need a clock when the brightnesses are being changed.

(I put my microcontroller in sleep mode most of the time but I want to keep the leds on at a specific brightness).

The IC should also only need a clock when the brightnesses are being changed.

The PCA9685 is an I2C interface set and forget LED driver chip with 16 channels. The chip will carry on driving the LEDs while the computer driving the chip is doing nothing.

Thank you for your reply Grumpy_Mike.

That is a nice affordable chip that I can definitely use in some of my projects.

Unfortunately the “idle” current consumption for this IC is 6-10 mA.

I have tried the the ws2811 IC again, but now with a 3K9 resistor between the VDD pin and 5V instead of 100 ohms.
I also added a larger 10uF capacitor between VDD and GND.
The leds are a little less bright, but stable and the “idle” consumption has gone down to 0.45mA at 5V per LED, which should be sufficient.

matthijs490:
(I put my microcontroller in sleep mode most of the time but I want to keep the leds on at a specific brightness).

I don't quite understand why you are so concerned with the idle current of the control chip, when the LEDs are going to be consuming significantly more current unless they are extremely dim or turned off.

If you are concerned about idle current when the LEDs are turned off, it might be possible to completely cut power to the LEDs using a transistor, although off-hand I can't think of an easy way to maintain control of the transistor while putting the arduino to sleep.

matthijs490:
That is a nice affordable chip that I can definitely use in some of my projects.
Unfortunately the "idle" current consumption for this IC is 6-10 mA.

No, you are reading the datasheet wrongly. It is right there in front of you! :astonished:


The idle current is maximum 15.5μA.

david_2018:
If you are concerned about idle current when the LEDs are turned off, it might be possible to completely cut power to the LEDs using a transistor, although off-hand I can't think of an easy way to maintain control of the transistor while putting the Arduino to sleep.

The transistor is not needed.

In "sleep" mode, the Arduino maintains all output pin states (not entirely sure about PWM though). So that in itself, would not be a problem.

Paul__B:
The transistor is not needed

I was thinking of completely cutting power to both the LEDs and their control chip, so transistor needs to handle total current for all LEDs at full brightness.

david_2018:
I was thinking of completely cutting power to both the LEDs and their control chip, so transistor needs to handle total current for all LEDs at full brightness.

Rarely worth the trouble of implementing a circuit with the required characteristics (you would need a logic-level P-FET as the "transistor"). The standby current of the chip is 15 μA, the LEDs will be off. The Arduino itself will be drawing much more.

Unfortunately the "idle" current consumption for this IC is 6-10 mA.

And

The leds are a little less bright, but stable and the "idle" consumption has gone down to 0.45mA at 5V per LED, which should be sufficient.

So for 10 LEDs this gives you 4.5mA idle current when off. As opposed to 6-10mA for a running chip or 2.3-15.5uA when in standby. I would have thought there was no contest.

You seem unclear about running LEDs at some sort of brightness when in standby can you clarify if this is a requirement.

The 15.5uA that you are referring to, is the current that the chip will consume when it is not operating any leds.

I am sorry I wasn't clear about this, but my use case is a switch panel for a ship to switch on or off basic power groups.
The leds will indicate what groups are on or off on the front panel.
This means that some leds might be on continuously (at a low level) while others are off, I also don't really need the RGB feature, but the daisychain ability seemed very convenient for connecting everything and I am low on digital pins on my microcontroller.

That would mean that the PCA9685 has to be running and will consume 6-10mA.

Ok, so we have been dealing with an X-Y problem. Thanks for the apology.

You can daisy-chain plain old 74hc595 for indicator LEDs. The idle current should be low, and for indicator LEDs (rather than driving fancy led displays, led cubes etc), the 70mA max current should be enough. 3 Arduino pins needed, or only 1 pin if you already have other SPI devices in your circuit.

Alternatively pcf8574 or pcf8575 could be used. 2 pins needed, or zero pins if you already have other i2c devices.

Or multiplex the LEDs with no extra chips, 4 pins needed.

matthijs490:
I am sorry I wasn't clear about this, but my use case is a switch panel for a ship to switch on or off basic power groups.
The leds will indicate what groups are on or off on the front panel.
This means that some leds might be on continuously (at a low level) while others are off, I also don't really need the RGB feature, but the daisy-chain ability seemed very convenient for connecting everything and I am low on digital pins on my microcontroller.

In which case you would not want it to be battery powered; except as a backup to mains power. :astonished: