Go Down

Topic: Problem Replacing Atmega328 on Uno (Read 812 times) previous topic - next topic


Jun 15, 2011, 04:37 pm Last Edit: Jun 15, 2011, 04:39 pm by kelliott Reason: 1
So I've been working with Arduinos for the past 6 months and just recently have been having a pretty major problem.  About a week ago, I was using my Uno to control some relays for my robotics project.  I made a stupid mistake and ended up (I believe) breaking the onboard Atmega by drawing to much current from it.  I assumed this is what happened because the board wasn't programmable and the output pins always were at 4V.  So anyways, I luckily had an extra 328P lying around, and ordered the Sparkfun pocket programmer (http://www.sparkfun.com/products/9825) to program the bootloader and replace it.

So that's what I tried to do today.  I followed the following Sparkfun tutorial (http://www.sparkfun.com/tutorials/247), set the fusebits, and reprogrammed with the bootloader they supplied.  However, this still didn't work so I tried reprogramming the bootloader via the Arduino IDE.  Still can't upload.  So now my problem is that everytime I try to program I get the following error

avrdude: stk500_recv(): programmer is not responding

The correct board and serial port are both selected.  And when I plug in the board, only the on light goes on, and when I hit reset the L light blinks quickly 3 times and then stops.  So does anyone have any suggestions as to what the problem could be and how I could fix it?  I'd really like to be able to get back to my project sometime soon without having to spend another $30 plus shipping for a new microcontroller.  Thanks in advance!


Some thoughts: 
use a volt (multi) meter and check output from voltage regulator.
double check the new 328 chip is inserted in the correct direction
try reprogramming the ATMega8U2 chip


Why not buy a 328 with the bootloader already installed? I think Sparkfun sell them amongst others.
I write books about Arduino and Electronics: http://simonmonk.org


Jun 16, 2011, 03:01 pm Last Edit: Jun 16, 2011, 04:51 pm by kelliott Reason: 1
When running off of USB I get the normal 5V when I measure on the 328 itself, and I triple checked that it's oriented correctly, based on the Uno picture in the hardware section.  As for the U2, I don't really know how I could have overwritten the bootloader.  Is that possible when programming from the ISP?  But I can give it a try when I get the chance.

And I didn't buy one with a preinstalled bootloader because I already had a spare 328 lying around so I didn't see a point in buying another.  Plus at some point I'd like to break away from the arduino board for my robot's subsystems so I needed an ISP anyway. 

EDIT: I tried reprogramming the U2 firmware and I couldn't manage to get it into DFU mode.  I found conflicting instruction on grounding HWB then RESET and vice versa but to the best of my knowledge, it didn't work.  All that happened was that the L light blinked in bursts of 3.

Go Up