I may have fried the Atmega328P on my Arduino Uno R3 today by applying 12 volts to three of its analog input pins. The pins are supposed to detect switches being turned on or off that are part of an external power source, and unfortunately today I accidentally briefly set the voltage on that power source to 12 volts, unlike the 5 volts that it normally runs on, and thus putting 12 volts directly onto the A1-A3 pins.
This instantly caused my laptop computer to cut out (it suddenly went completely dark, but I was able to reboot it and it had no damage and the USB port that my Arduino was connected to still works fine).
Now when I try to upload sketches to the Arduino, I keep getting the "avrdude: stk500_recv(): programmer is not responding" error message. I can also not burn a bootloader. When I pull up hardware devices on my computer though (Windows 7), the Arduino is still visible on COM port 3, as always, and Windows tells me that the device is running properly.
On the Arduino board itself, the green "on" LED is on constantly, as well as the yellow LED opposite of Pin 13.
Will I have to buy a whole new Arduino board, or does all that point more to just my Atmega being fried?
ok thanks, I did the loopback, and that's actually working fine.
The Atmega is actually slightly warm to the touch; I've got no idea though if it's warmer than usual, because I have actually never really touched it for that purpose before
EDIT: ok, I just tried burning a bootloader using various different programmers; none of them seem to work, and most of them come back with the "avrdude: stk500_recv(): programmer is not responding" error again. Not good, right?
You do need to have a programmer device hooked up to the ICSP header to do that. You can get a dedicated ISP programmer such as an USBasp with a 6 pin cable, or you can use another Arduino as ISP programmer. That is probably something you will want to get familiar with doing. For now, if it is warm to the touch I probably would not bother trying to bootload it. Mine runs at about room temperature. You can buy ATmega328P chips that already have the Uno bootloader on it, and that will most likely get you going. They typically cost $3.50 to $5.50 USD.
I do have other projects planned once this current one is completed, so a programmer device should be a worthwile investment...
Thanks for all the advice, it was very helpful... although it comfirmed that my Atmega is toast...
I am working on a simple anti-theft car alarm system which will take its cue from the ignition; simply put, ignition turned over and secret button not pressed for five seconds beforehand to deactivate the alarm will make the horn and hazard lights go off for 30 seconds and shut down the fuel pump. Big unexpected ruckus on the curb at 3am and car won't move an inch... simple but effective. I've made a mock-up circuit here on my desk at home to simulate the ignition, and it's powered by a general-purpose AC adaptor which has a number of different settings from 3.5 to 12 volts. I had to use the adaptor for something else yesterday that needed 12 volts, and today when I plugged it back into my mock-up, I forgot to set it back to 5 volts. Bzzzz.
I do have other projects planned once this current one is completed, so a programmer device should be a worthwile investment...
You ONLY need a programmer if you buy a blank ATmega chip. If you buy one with the Arduino bootloader on it you can use the regular IDE software and USB port.
To me, the bootloader is one of the coolest things about the Arduino! No separate programmer or separate development board required!
DVDdoug:
You ONLY need a programmer if you buy a blank ATmega chip.
Yes, only if you don't buy a chip with a bootloader, or until you want to upgrade a bootloader, re-write a bootloader as a troubleshooting step, upload a sketch using programmer, or other advanced things. And even then you don't technically need a programmer if you have another Arduino. My favorite programmer is a Pro Micro running the ArduinoISP sketch with minor modification to define the reset-sending pin. But there are a significant number of people who have trouble getting started using an Arduino as a programmer.
ok so I went out yesterday and bought a second Arduino Uno and burned a bootloader by connecting the two Arduino Uno boards. Everything went well, I now have two working Arduinos.
Maybe it was unnecessary to have bought a second Arduino; on the other hand, I've got a new project in mind pretty soon that will involve a master-slave architecture using two Atmegas, and my guess is the I2C protocol will make a lot of sandboxing necessary so it's just as well that I've now got two, to be able to figure out how I2C works in practice and learn how to implement it.
The Atmega in my anti-theft car alarm will be stand-alone on a circuit board, so I'll have to buy yet another Atmega chip anyway soon and burn another bootloader.
That is good. I recommend having more than one Arduino. For permanent projects people often get a Pro Mini which is very small and inexpensive. It has the support circuitry such as regulator and crystal, and the USB-to-serial part is omitted from the board. You can program it via the RX, TX, and ground pins from a separate USB-to-serial adapter or from another Arduino, or you can program it via ISP programming which you are already somewhat familiar with. With ISP you can do Upload Using Programmer, and the sketch you upload will replace the bootloader.
If that ATmega328P you think you fried works but runs warm, it could be it will work fine for a while before finally failing. If you get a blank replacement chip, you now have the know-how to burn the bootloader.