I'm trying to provide a USB power source to a string of fairy lights that look like these.

They all appear to run in parallel, connected horizontally along two wires until the last led.

I tried isolating a single led to calculate the forward voltage drop, but my multimeter shows "1" with the diode test, and successfully lights up the LED. Any other range fails to light the LED, and also shows "1".

Am I going about this the right way? I'm still confused about the difference in being able to supply current, and drawing current. I know a USB can provide 100mA, but there's no specification for a battery except for mAh?

How can I figure out an appropriate resistor, or at least calculate the forward voltage drop?

The waterfall analogy doesn't seem to be working for me...

Can I just assume it's 3 volts because it's in parallel?

  • 5
    \$\begingroup\$ "Never assume - it makes an ass of you and me". What is going on here is that the forward drop of the LEDs is too high for your device to measure in diode test mode. What you can do is try and use a constant current source, set to 1mA or whatever seems appropriate, and measure the voltage drop in volts range on your meter. \$\endgroup\$
    – Joren Vaes
    Jul 23 '17 at 8:44
  • \$\begingroup\$ Thank-you! @JorenVaes I got 1.07mA, so 5-3 volts, that's ~1.8k... I only have resistors for 20 ohm and 150k... :( \$\endgroup\$
    – yeeeeee
    Jul 23 '17 at 9:04
  • The LEDs in the linked picture are white and probably have a forward voltage drop of about 3 to 3.6 V.
  • Without any specifications we'll assume they can handle 20 mA.
  • On a 5 V supply we need to drop 1.5 to 2 V across the resistor.
  • From Ohm's law we can calculate a suitable resistance: \$ R = \frac {V}{I} = \frac {1.75}{0.02} = 87 \; \Omega \$ (choosing mid-range on the voltage). 80 Ω will be good enough for now.
  • Connect four of your 20 Ω resistors in series with each other and the LED. You would need to disconnect one led from the string for this.
  • Connect up to your 5 V supply and measure the voltage drop across the LED. You could also measure the current through the line. (Be careful not to measure voltage on current range.)
  • Go back to step 1 and recalculate with the new values.

The image below may help.

enter image description here

Figure 1 shows that a green LED at 20 mA will have a forward voltage drop of about 2.2 V. If the supply voltage is 5 V then the resistor has to drop 5–2.2=2.8V. The required value is \$ R=\frac {V}{I}= \frac {2.80}{02}=140\;Ω\$. The nearest standard value of 150 Ω will do fine. Source: LEDnique.

In your case you will use the 'W' curve for white LEDs.

  • \$\begingroup\$ I found some 150 ohm ones, actually and one alone causes the led to look a lot brighter than battery run... I haven't tested it yet. with 300 ohms of resistance, it looks almost identical to battery run. \$\endgroup\$
    – yeeeeee
    Jul 23 '17 at 9:42
  • 1
    \$\begingroup\$ Good. Measure the current while you're at it for your own reference. You can check to see if the graph is a reasonable representation for your LEDs. \$\endgroup\$
    – Transistor
    Jul 23 '17 at 12:06
  • \$\begingroup\$ Fairy lights are tiny LEDs with built in resistors. No resistors are needed. these strings are voltage powered. \$\endgroup\$ Sep 19 '18 at 0:03

The way these fairy lights work is how you described, all in parallel. They typically have a single resistor at the battery box if 3 batteries, or maybe no resistor if 2 batteries. Smarter ones with a timer circuit will still be fairly similar. While transistors answer is correct for finding the forward voltage of a single led, at an assumed 20mA forward current, it doesn't answer most of your questions.

To find the voltage and current of the string, you take part of what transistor said, but apply it differently. Use a set of new, good batteries. You will need to measure their voltage while the leds are on. And you would need to take the case apart to access the resistor inside. Measure the voltage across the resistor. This will give you a fairly accurate forward voltage of the parallel led string (Source Voltage - Resistor Voltage = load voltage)

Now remove the batteries and measure the value of the resistor, or read the color code or smd resistor code if available. With this, you have both the voltage across The resistor and the resistance, so you can find the current through it. Voltage / Resistance = Current in amps. Alternatively you can simply measure the current through the circuit with the batteries. Any timer IC is unlikely to consume enough to make the current you measure inaccurate.

Now that you have the total current, you can divide by the number of leds, for a fairly close forward current. You can then use those numbers to replace the resistor and battery box with a usb source and resistor for the usb 5V voltage.

As to your question on supplying or drawing current, USB by standard is supposed to limit to 100 ma without enumeration, but it is rarely enforced by hardware. You can assume you can pull 500mA or more in 99% of supplies. Usb supplies like wall chargers are often 2.1 amp. Your load, especially a simple led + resistor circuit, will only pull what it needs.

Your assumption of 3V is a pretty good assumption in practice, as that's less than the Vf of your typical blue or white leds at the recommended nominal 20mA If. They would draw less current and last longer that way. Red leds you should assume lower.

All that said, the easiest thing to get these on a usb supply is to use 1 or 2 diodes like the 1n4001 with a 0.7V average forward voltage drop to drop the 5V usb supply voltage to about the same as the batteries that the fairy light uses. Connect to the battery leads with the right polarity and you are done.

  • \$\begingroup\$ If assuming 20mA per LED, and ability to use up to 500mA safely from power, then you have a hard limit of 25 LEDs total. I would have thought that 1mA per LED was more than enough for fairly lights to look very bright. Some experimentation might be needed to figure out the forward voltage at that current. The other observation is that trying to avoid a current limiting resistor by matching the voltage (including with diodes) can allow small differences in forward voltage or supply voltage from expected to easily lead to overcurrent - unless aiming way lower than the rated max current. \$\endgroup\$
    – tom r.
    Jan 4 at 7:42
  • \$\begingroup\$ Also using one resistor for many LEDs in parallel would just need to ensure the resistor can handle that much power. Eg 0.25W resistor not sufficient for most drops in such a setup \$\endgroup\$
    – tom r.
    Jan 4 at 7:45

I got some fairy lights just like the ones you mentioned, and without thinking about it I bought a 3v power supply and just hooked them up. They originally ran on a pair of 2032 batteries. They are slightly brighter on the power supply than on the batteries. There was no resistor in the package.

Another set of fairy lights I have has a timer, and it runs off 3 AAs. (6 actually but the supply is 4.5 volts). I soldered directly into the box because I wanted the timer function. I connected a 5v supply (5.1 measured) right to where the battery hookups were, and it works just fine. Something I noticed is that the output of the timer box is a DC square wave that drives the lamps at the supply voltage but with a duty cycle that looks like about 70%. So if you drive the box just hook it up (if it is 3 cells), or maybe 3 diodes to drop it to around 3v if you want to drive the string directly.

  • \$\begingroup\$ CR2032 have an internal resistance of couple dozen ohms making them ideal for pairing with LEDs without any other resistor. Replacing with a different power source means you may need to add a resistor to avoid overcurrent / early burnout. Measure current to be sure, but probably safest to add a 30 Ohm resistor or so, or do the math and figure out the right resistance for your desired current. \$\endgroup\$
    – tom r.
    Jan 4 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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