I have an Arduino Uno Wifi rev 2 board that is powered through the Vin and ground with a 9V supply.

Then I have a 5V USB LED strip (that uses a positive and negative pole) that is connected directly to the second ground of the Arduino and the number 3 port.

When the analog pin is set to 255 and the USB LED strip is not connected to it, I read a 5V output. But when I connect the LED strip to it while at 5V the voltage drops down to 2.8V.

When on the other hand connecting the same LED strip to the Ground and 5V out of the Arduino I get a 4.5V read.

And when connecting the led strip to a USB wall plug it also reads 5V.

Why does the voltage drop on this LED strip?

Here is the setup and a close-up of the LED strip.

Thank you!

enter image description here

enter image description here

  • \$\begingroup\$ "When the analog pin is set to 255 ..." - Not the problem here, but the Uno does not have analog outputs, only digital. Calling it an analog pin will cause confusion, so please don't. \$\endgroup\$
    – marcelm
    Feb 27, 2023 at 10:41
  • \$\begingroup\$ Hello Marcel, thank you for the feedback but within the code and using pin 3 the IDE uses the following statement to change the state "analogWrite(LED_PIN, ledValue);" and not digital those would be for the A1 > AX pins. \$\endgroup\$
    – Jules
    Feb 27, 2023 at 19:09
  • 1
    \$\begingroup\$ @Jules That's PWM, not analog. \$\endgroup\$
    – Polynomial
    Feb 27, 2023 at 19:10
  • \$\begingroup\$ @Jules - Hi, You've commented on an answer and it suggests you don't need further help. If that is the case, in order to effectively mark the topic as solved, please consider "áccepting" your choice of the best answer (i.e. click the "tick mark" next to the "best answer", to turn the relevant tick mark green). This shows that you don't need more help and future readers can quickly see there was a confirmed solution. Thanks. \$\endgroup\$
    – SamGibson
    Feb 27, 2023 at 19:49
  • \$\begingroup\$ @Jules Ah yes, the Arduino function name for that is just plain wrong, so I understand your confusion. analogWrite(), on an Uno at least, outputs a digital PWM signal. That's definitely useful for changing LED brightness, but it's not analog control. \$\endgroup\$
    – marcelm
    Feb 28, 2023 at 11:50

1 Answer 1


You can't drive an LED strip directly from a GPIO pin of an Arduino. It isn't capable of supplying enough current, and you're probably damaging the Atmega328p chip by doing this.

Another issue is that those little Dupont hookup wires have really thin conductors, so they have a lot of resistance. They're a poor choice for carrying more than a few milliamps.

If you want to switch high current LEDs on and off with an Arduino, you need a MOSFET or some other LED driver in between.

  • \$\begingroup\$ Thank you Polynomial, I have tried adding a "HiLetgo 5pcs IRF520 MOSFET Driver Module MOSFET" but for some strange reason, I still get a voltage drop even with that hooked up. I will update the diagram to convey this. And for the conductors, not sure what alternative I have, do they sell thicking cables that can plug into the board? I also have not seen an Arduino Uno Wifi that you can solder to directly. \$\endgroup\$
    – Jules
    Feb 27, 2023 at 17:31
  • \$\begingroup\$ Connect the driver breakout directly to a power supply, with suitable wires, and connect the driver outputs to the LED strip using higher gauge wires. That's where the current delivery path is. The wiring to the Arduino is just for the PWM output, which is low current. \$\endgroup\$
    – Polynomial
    Feb 27, 2023 at 19:11
  • \$\begingroup\$ Thank you that did the trick :) Much appreciated. \$\endgroup\$
    – Jules
    Feb 27, 2023 at 19:41
  • \$\begingroup\$ @Jules No problem. Don't forget to click the "Accept" button next to my answer if it was helpful :) \$\endgroup\$
    – Polynomial
    Feb 27, 2023 at 20:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.