Arduino Not Frying

In the picture, you can clearly see that I’ve connected 6 red 5mm LEDs parallelly and all of them are connected to a single pin. Each are 2V, 20mA. There is also one resistor per LED, so 6 in total. Each resistor is 220 ohms. The circuit has a supply voltage of 5V.

According to my calculations (which may be absolutely garbage):

  • The total resistance in the circuit is 220/6 = 36.67 ohms. The assumption is that LEDs have no resistance.
  • So given that supply is 5V and resistance is as calculated, then the current is roughly 5/36.67 = 136 mA.

My question is this:
if my calculations are correct and assuming that each pin has a maximum safe current (found in specifications) of 40mA - why my Arduino is not getting damaged? There are tons of videos for beginners like me about how to be careful with parallel circuits because you can damage the board.

I left it for a couple of hours and it still works. Could anyone explain or possibly correct my calculations?

PICTURE: 4-CBAB6-D1-B9-E6-4-CDF-BA9-D-F01366-E22924 — ImgBB

LED current is voltage across the resistor, divided by the resistance, or (5-2)/220= 13.6mA (for 2volt LEDs).
Six LEDs would draw 6*13.6= 81.6mA.

That would be a problem for an I/O pin (40mA absolute max), but you did connect them to a pin.

You connected them directly to the 5volt supply.
The 5volt supply pin of an Uno can deliver about 450mA on USB power.
The 450mA comes from the ~500mA limit of USB (500mA fuse), minus ~50mA that the Uno uses itself.

Why my Arduino is not getting damaged?

In addition to what Leo said; if you were feeding them from a pin and overloading it then it might not immediately produce damage, or at least, the damage might not be immediately apparent. Sometimes you get away with mistakes like this, sometimes not. I've had power connected the wrong way round and very hot components that I expected to have to throw away, but they worked OK when I corrected my mistake. I'm not suggesting you do this kind of thing deliberately, just that if you do it by accident the result is not always damage.

Why my Arduino is not getting damaged?

Quite simply you have damaged the pin. I don’t know what you expect to see as a result of damage but in this case it doesn’t mean the instant destruction of the pin. These pins are quite robust and will stand a dead short for a time. There is a sort of built in resistance that limits the current anyway, but not to a safe level.

It is like smoking, every time you smoke you damage your lungs. In the short term you are still alive, but in the long term you are dead, if something else doesn’t get you first.

So that pin will burn out and fail in a shorter time than you might expect it to. We call this the reliability of a circuit and it is a bit of a statistical thing. You can show it up by testing a lot of copies of the circuit, at a high temperature and see how soon the first two fail.

Fortunately you don’t have to do this the manufacturer has done it for you and given you the absolute value of 40mA.

Quite simply you have damaged the pin.

Or would have damaged the pin. :grinning:

Let's look at the picture:


OK, as Wawa point out, you have connected these across the 5 V supply and ground, so while they are connected to a "pin" or socket on the Arduino board, it is not an I/O "pin" of the ATmega processor and is being powered directly from the USB supply (and through a Polyfuse and a FET).