arduino as isp bricks chips??

ok so this has happened to 2 chips so far so might just be my bad luck :P

anyways i tried to burn a mega328p using a dueimlanove as the ISP and using the arduino 21 app on Mac... it immediately complained that the programmer was responding. i reseated the connections and tried again, then it started saying signature error..

i installed crosspack for mac so id have command line access to avrdude to run it manually and it came up with avrdude: Device signature = 0x1e9514 avrdude: Expected signature for ATMEGA328P is 1E 95 0F

using the force option i wrote the boot loader to the chip (it failed once, tried again it verified correctly)

i popped the newly flashed chip into my dueimlanove's board to write a test sketch and now it gives a programmer not responding error...

This happened to me before with 2 mega8 chips and i only managed to get one flashed with the boot loader

I started all this following the instructions here but it doesn't work for me -_-

Any thoughts????

ps- my dueimlanove has a m328p chip as well in full working order

You're not programming a 328p, you've got a non-picoPower 328. But I'm not sure why that would be causing your problem, plenty of people have been using that chip as is with no problems (I've got a bunch of them in service myself)

Maybe you've still got it set to use the avrISP programmer when uploading your blink sketch to the new chip. Double check that you've got the board set to Uno in the IDE.

I'll have another go with it in the morning, but I was able to upload a new sketch to the original chip of the duemilnove with no error

extent: You're not programming a 328p, you've got a non-picoPower 328. But I'm not sure why that would be causing your problem, plenty of people have been using that chip as is with no problems (I've got a bunch of them in service myself)

To program the non-picopower atmega328 using arduinoisp, you need to edit the boards.txt file. See http://arduino.cc/forum/index.php/topic,68889.0.html.

i trust you mean the post made by 32teeth on the first page or by the same user on the second page?

(and crap.. that programmer not responding bs again -_-)

i think i fried the chip... it now gives a device sig of 0x000000

:( but now i can leave my duemlinove with the ISP sketch and know it works until the new chips come in

shippo0708: i trust you mean the post made by 32teeth on the first page or by the same user on the second page?

Replies #3 and #8 on that page contain the solution.

i guess I'm going to have to get myself an actual programmer.... i can't get a valid read no more using my arduino as isp i always get 0x000000 as the device signature ...

Have you tried westfw's modified version of optiboot yet? It unbricked my chip.

https://github.com/WestfW/Arduino/tree/master/hardware/arduino/bootloaders/optiboot

Forum thread (very long):

http://arduino.cc/forum/index.php/topic,64105.0.html

If all you need to do is burn a bootloader, then consider using westfw's optiloader sketch to do the actual burning vs arduino as isp sketch and the IDE "burn bootloader" tool or Makefiles.

optiloader sketch has the bootloader image(s) built into the sketch so it is self contained and can burn the bootloader on its own, so it does not depend on avrdude talking to the arduino acting like an ISP programmer.

He also has a nice sketch (fusebytes) that will report information about the chip. Here is the link to his sourceforge home where you can grab the optiloader or the fusebytes sketches: https://github.com/WestfW

--- bill

Optiloader only took a few seconds to burn bootloaders to my chips (already bootloaded) where arduinoISP takes minutes. I'll try optiloader on bare chips to see how long it will take. Highly recommended!

Ive glanced at it but was too aggravated to make sense of it :(

ill give it a try but if the thing is reporting bad device signature what would happen?

"bad signature 0x000000" usually seems to mean that there is bad wiring between the arduinoISP and the target.

westfw: "bad signature 0x000000" usually seems to mean that there is bad wiring between the arduinoISP and the target.

Either that, or the chip has already been programmed to use an external crystal or external clock, and you have not provided such a crystal or clock.

so you can program it to only run using a crystal of clock and nothing else works? I'm using a brand new breadboard with jump wires -_-

The clock needs to be working for ISP programming to work. It is relatively easy to set the clock in a way that causes it to STOP working. The usual "brick my chip" mistake is to confuse "external crystal" and "external oscillator." There's a substantial explanation on avrfreaks: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=106325

grr… using arduino as ISP has been nothing but trouble for me -_- monday or tuesday ill get my actual ISP from spark fun so ill research more thanks to y’all and hopefully bootload all of my chips

Unless your real programmer has a zif socket, it may have similar issues. (but at least any auto-reset uncertainties will be gone.)

shippo0708:
so you can program it to only run using a crystal of clock and nothing else works? I’m using a brand new breadboard with jump wires -_-

Yes. As shipped from the factory, the fuse bytes in an atmega328p are set to use the internal 8MHz clock scaled down to 1MHz. So it works (at 1MHz) and can be programmed without the crystal and caps connected. Programming the bootloader on it using the Arduino IDE also sets the fuse bytes to require a crystal, so that in future the mcu only works and can only be programmed when the crystal and 22pf capacitors are connected [EDIT - or when an external clock is connected, see Coding Badly’s comment below].

Nearly any reasonable (e.g. 1 MHz) clock signal applied to XTAL1 allows the processor to be programmed regardless of the fuse settings.