Nano board burnt after connecting 8 LEDs

Hi there!

I was doing a project in which I control 8 leds, directly connected to a nano board (with 220 ohm resistor each, of course) and after some seconds working correctly, one of the leds stop working. Nothing was wrong with the connection, and even changing the pin would throw the same result. Little by little, most of the digital pins started to behave the same.
Now, most of the pins just make the connected led to briefly (and dim) blink. They don’t remain on when they should.

In the project, led had to blink very quickly (every 2-3 ms) and some times all 8 leds were on at the same time (never more than 10 ms in a row).

I read that connecting to many leds can burn the “board regulator”. But I only connected 8 leds (and nothing else), that should be no more then 160 mA altogether. I bought the board on AliExpress for less than 2€, that’s true. Did something similar happen to someone else? Is my board ruined or there is something I can do to fix it? Will this happen with a more expensive board or is a matter of construction quality? In case I need a new board, what should I be aware of to choose a tougher one?

Thanks in advance for your help.

Max current for pin "groups" may be limited, from the AtMega 328 datasheet:

  1. “Min” means the lowest value where the pin is guaranteed to be read as high
  2. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state
    conditions (non-transient), the following must be observed:
    ATmega48P/88P/168P/328P:
    1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
    2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
    3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA.
    If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater
    than the listed test condition.
  3. Although each I/O port can source more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state
    conditions (non-transient), the following must be observed:
    ATmega48P/88P/168P/328P:
    1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150 mA.
    2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150 mA.
    If IIOH exceeds the test condition, V OH may exceed the related specification. Pins are not guaranteed to source current
    greater than the listed test condition.

Thank you, edgemoron!

So, as I understand, I burnt (as it seems not totally, as it still works partially) the MEGA328, as I made it work over 100 mA total (let's say 20 mA per led, times 8 equals 160 mA). Right?

Very possible, maybe you should back off on brightness (mA), I doubt if you could tell the difference between 15 and 10, or use transistor switches if you really need that much current.

How does one 'directly connect' 8 LEDs and 8 resistors to a Nano?

INTP:
How does one 'directly connect' 8 LEDs and 8 resistors to a Nano?

Are you really going to start an argument about his choice of words? You know exactly what he meant.

Well, I changed the sketch and tested every pin and now they seem ok. Also, I checked the current required for each led and it goes between 7,5 and 10,5 mA, giving a sum of 68 mA, so I think that nothing should have burnt. I'll keep checking, it's been a good warning thou.

I also think on using a 74HC595, which would be at least a nice protection.

About 'connecting directly', each led has it's 220 Ohm resistor, and I connected them to the D2 to D9. I meant I didn't use any driver en between, shift register or something.

Lennyz1988:
Are you really going to start an argument about his choice of words? You know exactly what he meant.

No, we don't know what he meant.

There have been some doozies on these forums.

The OP mentions blinking a "LED every 2-3 ms". The human eye can't even see that.

ieee488:
The OP mentions blinking a "LED every 2-3 ms". The human eye can't even see that.

Well, my project is related to this: https://diyhacking.com/arduino-pov-display/
That's why I need such a high blinking frequency. This guy is using a delay of 1 ms between the lines. My project is not exactly that, but the principle is the same.

ieee488:
No, we don't know what he meant.

There have been some doozies on these forums.

The OP mentions blinking a "LED every 2-3 ms". The human eye can't even see that.

That's irrelevant. Arduino is aimed at beginners. When someone put an effort in making a decent thread then he should get decent reply's. Even if it has mistakes.

Making reply's like this:

" How does one 'directly connect' 8 LEDs and 8 resistors to a Nano?"

When someone writes this:

" 8 leds, directly connected to a nano board (with 220 ohm resistor each, of course)"

Is just plain old trolling.

elnezah:
Well, my project is related to this: https://diyhacking.com/arduino-pov-display/
That’s why I need such a high blinking frequency. This guy is using a delay of 1 ms between the lines. My project is not exactly that, but the principle is the same.

Good for you!

Good luck with the project.

Next time something goes wrong you should go ask the guy who’s project you are following.

Lennyz1988:
That's irrelevant. Arduino is aimed at beginners. When someone put an effort in making a decent thread then he should get decent reply's. Even if it has mistakes.

Why is it irrelevant to ask about his connections?

Can you read minds? I can't.

Can you see his circuit from your PC? I can't.

You must have a crystal ball.

Lennyz1988:
Making reply's like this:

" How does one 'directly connect' 8 LEDs and 8 resistors to a Nano?"

When someone writes this:

" 8 leds, directly connected to a nano board (with 220 ohm resistor each, of course)"

Is just plain old trolling.

No. It is not plain old trolling.

Without a circuit YOU don't know anything.

There have been a lot of doozies here.

I am not going to ASS U ME anything.

You are new.

ieee488:
No. It is not plain old trolling.

Without a circuit YOU don't know anything.

There have been a lot of doozies here.

I am not going to ASS U ME anything.

You are new.

Three posted filled with anger. Something else must be going on with you. I wish you all the best.

Lennyz1988:
Three posted filled with anger. Something else must be going on with you. I wish you all the best.

No, three post responding to YOUR two posts and the OP's post.

ieee488:
Next time something goes wrong you should go ask the guy who's project you are following.

I am not following this project. This project is similar to mine as it is about POV as well. I just googled 'POV arduino' to find something to show what I was working on. But I think that the guy could not help me, probably, because:
1.- He's using only 5 leds, I'm using 8. So he couldn't know whether you burn the board with 8.
2.- He's using delays. I'm trying to control everything controlling the times ( lines like "if (millis() - lastRefresh > triggerTime)" ) That's what seems to give me problems, because I could make the thing work with delays (but then I cannot listen to buttons or tilt sensors without interruptions, which I'd like to avoid; also I plan to connect it via BT or WiFi eventually).

I agree. We don't even know how the board is powered. Because people have different communication styles that we can't know when they are new on the forum, it is vitally important that they clearly and directly answer the troubleshooting questions that are posed. They are based on long experience.

Lennyz1988:
That's irrelevant. Arduino is aimed at beginners. When someone put an effort in making a decent thread then he should get decent reply's. Even if it has mistakes.

Making reply's like this:

" How does one 'directly connect' 8 LEDs and 8 resistors to a Nano?"

When someone writes this:

" 8 leds, directly connected to a nano board (with 220 ohm resistor each, of course)"

Is just plain old trolling.

You're way off base. There's a specific reason I asked what I asked. It was not a pedantic jab at his word choice. So calm your moronic misplaced self righteousness and sod off.

Anyway, OP, your problem of LEDs failing one after another is something that happens if LEDs are wired up in parallel, which is why I asked how you are wiring them up. I wanted clarification because saying you plugged them directly could mean a lot of things. My first takeaway is that it means not using a breadboard. How, then, are connections made? Leads haphazardly twisted together? 8 resistor leads clipped together and going where? The ambiguity needed to be cleared up to find your problem, and I'm sorry some moron interjected with his chivalry boner to clutter your thread.