Go Down

Topic: Burning bootloader directly on Arduino Uno board (Read 953 times) previous topic - next topic

fungus

Jun 23, 2013, 12:12 pm Last Edit: Jun 23, 2013, 12:38 pm by fungus Reason: 1
I managed to kill an Arduino yesterday by plugging a wire into a pin from another device without connecting the grounds first. The Mega328 got very hot and made a loud crackling sound. :(

So I pulled out a spare Mega328 chip and plugged it into the board, hoping it was just the chip that was dead. I connected up my USBtinyISP and tried to program it but all I get was the dreaded: "avrdude: initialization failed, rc=-1"

After a lot of messing around I pulled the chip out and put it on a breadboard. It programmed perfectly. Put it back in the Uno, it fails to program. Back to the breadboard, works perfectly again...

Can anybody explain this? I thought I should be able to just connect to the ISP header and program it. I've tried different power, check the PCB connections from ISP connector to chip, nothing. I tried another Arduino Uno out of paranoia, same thing.

Has anybody else managed to program an Uno via the ISP header?

PS: The Uno is fine with the new chip.



No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

johnwasser

Yes, I've been able to burn a bootloader on the Arduino UNO (R2) with a USBasp ISP device.  Perhaps one of the lines necessary for ICSP has gotten fried.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

fungus


Yes, I've been able to burn a bootloader on the Arduino UNO (R2) with a USBasp ISP device.  Perhaps one of the lines necessary for ICSP has gotten fried.


That's what I thought but I tested the lines between ISP connector and the Mega328 socket and they seemed OK (and it wasn't one of those pins I killed, it was digital pin 3).

I also tried a different Arduino Uno, same result.

I'm sure somebody must have done it of there wouldn't be a connector on the Uno PCB. It just doesn't work for me and I have no idea why. I use the programmer almost on a daily basis (and it managed to program the exact same Mega328 chip on a breadboard) so I don't see how it's that.

It's a mystery...
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

johnwasser

Have you removed all shields and other hardware connected to the UNO?

Maybe the PIN 1 marker on the ICSP header is in the wrong place and you had the connector on backward?
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

fungus


Have you removed all shields and other hardware connected to the UNO?


Of course.


Maybe the PIN 1 marker on the ICSP header is in the wrong place and you had the connector on backward?


Nope. I tested all that a dozen times.
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

CrossRoads

Maybe reset pin fried on the 16U2 and is preventing programming. Its the only thing in common between the 2 device re: ICSP programming.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

fungus


Maybe reset pin fried on the 16U2 and is preventing programming. Its the only thing in common between the 2 device re: ICSP programming.


It seems to be working just fine with the new chip...

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

fungus



Maybe reset pin fried on the 16U2 and is preventing programming. Its the only thing in common between the 2 device re: ICSP programming.


It seems to be working just fine with the new chip...


Aha! Some light...

Ok, I just got my other Arduino Uno out to give it another try (check if I really am going insane):

I used avrdude to look at the device info and it worked! I could swear it didn't work earlier, but whatever.

I went back to the board I zapped and I get "avrdude: initialization failed, rc=-1"... so there must be something bad on the board. I held down the reset button, ran avrdude again and it got the device signature. Looks like CrossRoads is right, something is preventing the reset line from going low when I use the programmer.

The RESET connection from the ISP header to the Mega328 chip is good, it must be something else.


No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

CrossRoads

On the bad board, start checking the 16U2 - does the loopback test work?
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

pito

#9
Jun 23, 2013, 10:24 pm Last Edit: Jun 23, 2013, 10:28 pm by pito Reason: 1
Is there a diode from reset to Vcc (maybe shorted)..?

CrossRoads

That sounds good too. Diodes are usually pretty durable, but anything can happen.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

fungus


On the bad board, start checking the 16U2 - does the loopback test work?


I can upload/run sketches no problem, so I guess loopback would work too.

AFAICT the Arduino is working perfectly (apart from not being able to burn bootloaders via the ISP connector).
No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy