Is it dead now?

Hi,

a few days ago I made my first foray into the arduino-world and everything was going fine, I was happily coding away on my script when all of a sudden the ardunio stopped working and the IDE can no longer upoad sketches (avrdude error: programmer is not responding).

When the problem appeared a led-matrix was connected that I have now removed - but the problem persists.

My device is a "Nano ATmega328 V3.4" (using the old bootloader) and I am using Debian linux with the IDE from the debian-repositories (1.8.19).

When I plug the ardunio (just on it's own - nothing connected) in the device appears as either /dev/ttyUSB0 or /dev/ttyUSB1 but regardless the IDE cannot connect to it.

When plugged in a green LED in on, but when I press the reset-button nothing happens (before I got a brief flash of a red LED when I pressed it iirc - that is gone).

I have tried unplugging the device and restarting the IDE several times now (even rebooted my pc) but all to no avail.

So is it dead now or is there anything I could try?

Getting a new one would not be such a big problem as such but I always need someone else to solder in the pins, so it would be great if I could bring it back to life...

Please post a diagram showing how the led matrix was connected, and how everything was powered

I used the LedControl library and used the pins that are used in the examples that come with it - so 5V and ground and data-pins 12, 11 and 10, powered via usb alone.

This setup had worked for days before my arduino suddenly had this problem.

In my sketch I was reading a base64-encoded string via the serial interface, decode that to get a bitmap that is then displayed on the led, so I was including these libraries:

#include "LedControl.h"
#include "base64.hpp"

You might have changed the board or processor in the IDE by accident. Just double check.

Some further checks that you can perform to find out where the problem is.

  1. Bootloader test
    • Press and release the reset button.
    • Check the L-LED; it should give one quick flash (for the old bootloader) or a couple of quick flashes (for the 328P bootloader).
  2. Board recognition
    • Disconnect the board.
    • Run dmesg -w; don't close.
    • Connect the board.
    • Observe the additional output for possible errors and references to BRLTTY.
  3. Misc
    • if you have a multimeter, check voltages on 5V and 3.3V pins.
    • Anything getting hot on the board?

Thanks for the suggestions.

When I plug the board in a green led lights up. Then pressing and releasing the reset-button does absolutely nothing - no flashing at all.

dmesg only reports about "ch341-uart converter detected", no errors.

I have a multimeter but that has to wait for tomorrow.

Finally there is nothing hot on the board.

By chance were you printing to the consol? Are there any LEDs on? What was connected to the board?

I use Linux as well. Over the years I had one fail, so I shut the system down, and had lunch. Came back and everything came back up.I never found out what the problem was, I just assume the USB driver got glitched as rebooting 'fixed' it.

More than likely the 328P is damaged or has lost its bootloader. You can try to burn the bootloader using a programmer or another Arduino (used as a programmer). Not sure if it will revive the Nano.

If the 328P is damaged, you will need to try to figure out why so it does not happen again.

All that means is that the power is connected, nothing else.

We get these sorts of "problems" all the time here. You have done something wrong, but unfortunately you don't know what. One thing for sure is that it has nothing to do with the software.

It has to do with how your project was wired up, and if there was a fundamental error with this. Or you managed to apply an inappropriate accidental voltage to somewhere no matter how short this was applied.

It is also that some time in the past you did something that resulted in damage but did not kill your board immediately, but resulted in shortening the board's life. And its time was up when you saw the final demise of your board, so nothing related to what you are doing at the time.

These boards are quite forgiving normally but like all electronics once abused and a time bomb is ticking.

The board once burnt out are not hot, basically because they are not working. Try looking for physical damage on the top and under side of the board, especially around the chips.

As I have no background in electronics I wonder if it could have been an ESD that killed my nano and if getting an anti-esd wrist strap or anything else in that direction would be something worth having - or is that overkill?

No it is overkill. Unless you are working on a production line there is no need for static straps.

Do you have hot arid weather and nylon carpets, and do you suffer from static shocks when you touch a radiator, then you are in no danger.

You need to post a diagram of how everything was wired up. You were possibly misunderstanding what you were supposed to be doing.
What sort of LEDs do you have?
Are they single GRB LEDs or strips?
If single LEDs were they common anode or common cathode?
Did you use any resistors with the LEDs?
How were they wired?

You said:-

Your use of the word "data-pins" worry me here, as that implies you had a strip, and if so how many LEDs were in that strip?

Just looked at the LedControl library.

It says:-

The library supports two Maxim IC display drivers, the MAX7219 and the MAX7221. Both circuits can drive up 64 Leds or a 7-Segment display with 8 digits.

You have never mentioned this extra chip and I am not sure this Library is compatible with what you are trying to do.

If you go to
http://wayoda.github.io/LedControl/index.html

And then click on the hardware tab, you will see the circuit you are supposed to use. This is nothing like the verbal description you made.

And this is probably why you burned out your Arduino.

So I was using this led-matrix (only 1): https://www.amazon.de/dp/B07CRF13ZQ

It has 5 pins and I had wired it up as follows:

LED Nano
VCC 5V
GND GND
DIN D12
CS D10
CLK D11

In the sketch the library was initialized like this:

LedControl lc=LedControl(12,11,10,1);

This worked for a few days until my nano died.

Do you see anything wrong with it?

In the code I was doing some pointer arithmetic - but even if I did something wrong there I assume you cannot kill a nano by accessing invalid memory (or can you)?

The data sheet says

The AZDelivery LED matrix with 256 LEDs consumes a maximum of 160 mA,

What is this Vcc?
Normally you would connect this to the 5V pin on your nano if powering it directly from the USB socket.

As mentioned I only used one led-matrix element, it has only 64 leds.

And "VCC" is the name of the pin as printed on the led-matrix. I did connect it to the 5V pin on the nano and it worked. I was able to light up the led-matrix any way i wanted.

There is no "only" about 64 LEDs.
I think you were pushing what you can take from that 5V pin.

This is because there is a reset-able fuse in the USB path and that might be kicking in.

Still without the ability to put an oscilloscope on things it is hard to say what is actually happening.