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.