stk500_recv() Error w/Uno on a Mac

Hello,

I recently started getting a "avrdude: stk500_recv(): programmer is not responding" error when I try to upload anything to my Uno from an iMac (10.6.6). The setup worked fine until I tried to use an analog reference voltage of 12v. I'm pretty sure I did everything right for the aref, but I assumed the ATmega328 had been fried, anyway, so I bought a new one. Installed the new chip last night, but I'm still getting the same error.

This is what Arduino tells me when I try to upload:
Binary sketch size: 1426 bytes (of a 32256 byte maximum)
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

I have a Mac w/10.6.6, and an Uno board.

Thanks for any help or advice!

Sam

P.S. I tried looking through the troubleshooting page (which actually has very little useful information on it about really anything...) and searching the forums for similar problems. I found one that I thought was close, but they suggested I start my own thread, so here it is!

I got this message with my arduino BT card. What I needed to do was to press the reset-button right before I press the upload-button. Maybe it helps?

I assumes that you have selected the correct COM-port?

The error is a generic error and there are probably thousands of pages (and old-forum posts) that give ideas on what to do.

The two most common issues appear to be: 1) Something wrong with the USB-Serial Interface or 2) Auto-Reset not working.

If you damaged the 8u2 on the Uno, it may not be able to communicate with the computer any more. The first step is trying the manual-reset already mentioned.

As for applying 12V to AREF, you probably shouldn't. The reference (nor the ADCs inputs) are not rated for anything over ~5V.

Did you put a bootloader on the new 328? It is possible that the 8U2 is dead too.

Thanks for all the suggestions!

Yeah, I've tried manual reset already, to no avail.

The chip said it came preloaded with the bootloader (from Sparkfun), but I got the same error when I tried to write the bootloader to the chip, anyway.

I'm selecting the same COM ports and have the same settings on my computer as I did when the communication worked, so I don't think that's the issue.

I thought I read that you could use pretty much any aref voltage as long as you told the board you were going to beforehand. Maybe I missed where the max is 5v. I thought using an external reference was for if you needed a reference above 5, but maybe it's just if you need it other than 5...

I don't know what the 8U2 is, but it sounds like that's probably what I fried, then. I'm guessing this means I'lll just need to get a whole new board?

Thanks again,

Sam

Maybe I missed where the max is 5v.

The Atmega328 Datasheet clearly says that all I/O pins have a Max Voltage of VCC+0.5v. The Arduino documentation could probably be clearer on this point. You are right, the reason for ARef is for anything other than the internal 1.1V or VCC as the reference.

I don't know what the 8U2 is, but it sounds like that's probably what I fried, then. I'm guessing this means I'lll just need to get a whole new board?

The 8U2 is the other microprocessor on the Uno. It is the surface mount component near the USB port. It handles the USB/Serial communication between the PC and the ATmega328. Unless you can do the rework yourself, you'll need to purchase another Uno.

Well.. Just as a suggestion (and to ensure your old and new chip is not completely fried) try wiring it in a breadboard and communicating with it if you have an avr programmer.

Here is a site that shows you exactly how you can do so:
http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard

And yes there are a few tutorials here, but this one is more visual(to me anyways).
Heck if both chips work, buy a few boards from radio shack, two usb to serial chips, 5v(or 3.3v) regulators, a few capacitors and resistors, and two reset buttons, and you have efficiently multiplied one dead arduino for two good ones :slight_smile:

I added some more explicit notes to the analogReference() page and Uno documentations about the voltage range for the AREF pin.