LED Strip project current is way lower than expected... or is it?

I'm using an Arduino Nano, trying out both the ESP32 and ATMEGA328 variations.

Powering 4 separate led strips, with 51 LEDs on each, from a 5v 70W power brick.

All LED strips are controlled on 4 separate pins.

Each strip has 51 LEDs on, which are all apparently rated at 0.3 watts.

Using the FastLED library, when I set the brightness to 255 and set the colour to white, I'm seeing a total current of just 3 amps coming through the positive line from the power brick, with the multimeter sat in the middle of the input voltage.

There's 204 LEDs in total, so surely that should be roughly 204 * 0.3 = 61 watts.

Or 61 watts / 5 volts = 12 amps.

If I also (accidentally) unplug the power brick and leave them powered purely by USB, surely I should be smoking at this point?

Maybe my multimeter is faulty, I put it on the 10A setting and read just under 3.0.

Any ideas what I'm missing? I something being throttled without me knowing?

Welcome to the forum

If the LED strips are powered correctly by the external power supply then unplugging it should not cause them to be powered by USB

Please post your test sketch and a schematic of your circuit

Please provide more information about the LED light strips as well. Do you have a link to the product information?

Are you certain that the strips are 0.3 Watts per individual LED? Is it possible that the Wattage is per segment or some other division?

LED Stripe: https://www.amazon.co.uk/dp/B01CDTEGGO?psc=1&ref=ppx_yo2ov_dt_b_product_details

5v from power brick into Vin, and to the + lead for all 4 strips.

Ground from power brick goes to all led strips, and to GND on board.

Then 4 pins to the data wire on all 4 strips.

No resistors or anything else involved.

#include <FastLED.h>

#define NUM_LEDS  51

#define BRIGHTNESS 255

#define ARM_1_PIN 5
#define ARM_2_PIN 6
#define ARM_3_PIN 7
#define ARM_4_PIN 8

CRGB leds[ 4 ][ NUM_LEDS ];

void setup()
{
    delay( 2000 ); // power-up safety delay

    FastLED.addLeds<WS2812B, ARM_1_PIN, GRB>( leds[ 0 ], NUM_LEDS );
    FastLED.addLeds<WS2812B, ARM_2_PIN, GRB>( leds[ 1 ], NUM_LEDS );
    FastLED.addLeds<WS2812B, ARM_3_PIN, GRB>( leds[ 2 ], NUM_LEDS );
    FastLED.addLeds<WS2812B, ARM_4_PIN, GRB>( leds[ 3 ], NUM_LEDS );

    FastLED.setBrightness( BRIGHTNESS );
}

void loop()
{
    fill_solid( leds[ 0 ], NUM_LEDS, CRGB::White );
    fill_solid( leds[ 1 ], NUM_LEDS, CRGB::White );
    fill_solid( leds[ 2 ], NUM_LEDS, CRGB::White );
    fill_solid( leds[ 3 ], NUM_LEDS, CRGB::White );

    FastLED.show();

    delay(1000);

    fill_solid( leds[ 0 ], NUM_LEDS, CRGB::Black );
    fill_solid( leds[ 1 ], NUM_LEDS, CRGB::Black );
    fill_solid( leds[ 2 ], NUM_LEDS, CRGB::Black );
    fill_solid( leds[ 3 ], NUM_LEDS, CRGB::Black );

    FastLED.show();

    delay(1000);
}

I don't know about Nano ESP32, but for a classic Nano, the minimum voltage is 6.5V for the Vin pin.

Connect your 5V power supply to the 5V pin.

Have you read the Adafruit tutorial for using ws2812 strips?

Maybe your cables. What gauge/diameter/cross-section of wire is recommended for 12A?

Both boards have performed perfectly with a 5v supply... interesting.

I also thought the 5v pin was for taking a 5v feed OFF the board, likewise with a 3.3v pin, from the USB input power, or Vin.

No I've not read the Adafruit tutorial, should I? If so, why? Why not another tutorial? Or all the tutorials? Why that one in particular?

Wire gauge is all within sensible limits and is all within a few inches of the board.

Are you using an amp clamp?

No, i'm inline with the positive lead coming out of the power brick, into the multimeter, then out and to the board and led strips.

As previously requested, please post a schematic of your project

Your calculations look correct for all LEDs full-brightness white. It's typically 20mA per-color per-LED (60mA at full-brightness white). I don't have an explanation...

Does FastLED have a default "don't melt this project" setting?
https://fastled.io/docs/group___power.html

Because there is a lot of total crap on the internet and this applies mostly to tutorials, especially with accompanying videos. A lot of them make the assumption that if it functions that shows the circuit is good. You can't make that assumption in electronics, without proper testing.

However, vendors often have it right. In this case both Adafruit and SparkFun have a very good reputation for getting things correct.

Or maybe you have an oscilloscope and can do the measurements yourself? The nature of the current is that it is pulsed, even on full white. So many meters don't work well measuring that sort of thing.

The lack of resistors and capacitors will cause problems under many circumstances.

Here are my oscilloscope measurements about adding a resistor:-

Very puzzling, especially considering the experience of the forum members involved.

I have a thought that has a slim chance of being helpful. I see the code blinks the LEDs at 1 second intervals. Could leaving the LEDs completely on instead while troubleshooting be worth considering? My meter is a bit slow on the measurements.

You are correct on the usual use cases of the pins. However, the available voltage (5V) is not high enough for the Vin pin and already 5V so bypassing the voltage regulator with 5V will work in this case.

1 Like

I can understand that for the data signal, but my concern is firstly for the current draw keeping all LEDs lit at full brightness, ie, no data processing, that's what didn't make sense - hence checking for any rookie mistakes I might be making.

The code sample was doing a simple long pulse but the total draw when on was still only 3A, even when left for 10 seconds, or constantly on.

I was illustrating that the no resistor approach can cause problems. I would like you to rectify your no capacitor mistake, and have at least one large one at the start of the strip, and another at the end. This may or may not make your meter behave correctly. But remember you need to measure the voltage at each end of the strip as well as the current. But you don't have to do this at the same time.

I have two unlikely thoughts -

An RGBW strip could be about 20mA per LED with only the white on. But I don't think your code would be working at all.

Or with a 12V strip, groups of 3 LEDs would be in series, cutting the current draw to 1/3rd. But they probably wouldn't light-up at all with 5V or they would be super-dim, and even less current.

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