Q: LEDs, Voltage and Resistors I noticed that a Christmas Light uses 20 LEDs in series parallel, operated by 2 AA batteries (3V) without a resistor.
I thought you always need a resistor?
Would it be possible to run them on 5V (Arduino) with a resistor? If yes, how can I figure out what to use (I don't have any information on the LEDs).

A: These lights (and many other cheap/disposable LED devices) count on the internal resistance of the batteries to prevent enough current to damage them from flowing. Each LED can use 10-20mA each at 3V, and putting them in parallel allows them to share the total current available.
This can be demonstrated by putting NiCd batteries in place of the current batteries; NiCd batteries have a much lower internal resistance than alkaline or ZnC batteries, so the LEDs will either get much brighter or blow out completely (provided they can supply enough voltage (2.4V) to light them, of course).
And since they're in parallel, you cannot run them directly from an Arduino even with a resistor. You will need to use a high-side or low-side switch to power them directly from the power supply.

A: I do not agree with Ignacio.
If you have LEDs with a nominal voltage of let's say 2V, you have to get rid of 1V if you operate them at a 3V battery. 20 with 20mA LEDs in parallel means 400mA, and so, you need a resistor of 2,5Ohm. but according to this datasheet from energizer for an AA battery, the internal resistance is only 0.15-0.3Ohm for a single cell, so up to 0.6Ohm in total. 
In addition, LEDs in the "low voltage range" usually need less that 2V, so the resistor needed has to be larger.
It is more likely that you have those LEDs which need voltages slightly above 3V. In this case, you can directly operate them at a 3V supply without a resistor.
It is a common assumption  that you always need a resistor. There is a good reason for it: If you have a 3.2V LED, you can connect it to 3.2V, and it will draw 20mA. Everything is fine, huh? But if the nominal voltage is lower due to part spread or higher temperature, the LED will draw a much higher current than 20mA, and will blow up.
But if you operate your 3.2V LED at 3.0V, you are safe. The current is lower than 20mA, and the LEDs are darker. but this may be desired for a chrismas light.
To test what I said, measure the clamp voltage of the battery when the LEDs are connected. If Ignacio is right, you will measure less than 2V. If I'm right, you will measure 3V.
Anyhow, it is right, you can not get 400mA out of your Arduino and need some additional switching. I also do not recommend a single resistor to operate them because if one LED blows up, the others draw more current and will follow soon. You can generate 3V from 5V e.g. using an LM317. This way, you are in the "safe range" I mentioned above.
