Go Down

Topic: bootloading with UNO and Arduino as ISP (Read 3 times) previous topic - next topic

obbi13

Hello Team,

I've been busting my head with this for a while now.  I have read pretty much all the post regarding bootloading with an Arduino UNO using the "Arduino as ISP" but found myself failing miserably.

- I have set up my cirtcuit as in here http://arduino.cc/en/uploads/Tutorial/SimpleBreadboardAVR.png
- I have uploaded the ArduinioISP sketch successfully(the led on pin nine pulsating).
- I have put a 100 ohm between 5v and reset and I have selected "Atmega 328 on a breadboard (8Mhz internal clock)".

I have also lowered the speed on the sketch to 2400

And all I get is:
Error While Burning Bootloader

avrdude: stk500_getsync(): not in sync: resp=0x80
avrdude: stk500_recv(): programmer is not responding


At this point, is it possible to burn a bootloader on my new Atmega328P-PU chip on a breadboard using the UNO as ISP???

I don't know what else to try.  It would be nice if the Arduino website posted a detailed step by step procedure using the UNO as ArduinoISP.

Help!

retrolefty

Quote
I have also lowered the speed on the sketch to 2400


That won't help anything because the Arduino IDE will still try and talk to the Arduino as ISP board at 19200 baud, so that will prevent it from working all by itself, regardless of what else might be wrong with your setup.

Lefty

obbi13


Quote
I have also lowered the speed on the sketch to 2400


That won't help anything because the Arduino IDE will still try and talk to the Arduino as ISP board at 19200 baud, so that will prevent it from working all by itself, regardless of what else might be wrong with your setup.

Lefty



Hello Lefty,

I change back the baud to 19200 and now I got:

Error While Burning Bootloader
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): unknown response=0x12


johndimo

According to the site, the UNO can't be used as an ISP yet because of the new optiboot bootloader that the UNO is using.

Quote
NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress.


That quote taken from here: http://arduino.cc/en/Tutorial/ArduinoISP

obbi13

#4
Jan 31, 2011, 01:43 am Last Edit: Jan 31, 2011, 01:46 am by obbi13 Reason: 1

According to the site, the UNO can't be used as an ISP yet because of the new optiboot bootloader that the UNO is using.

Quote
NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress.


That quote taken from here: http://arduino.cc/en/Tutorial/ArduinoISP


I know it says that on the Arduno website, but at the same time I have read that some people managed to do it with the UNO.  That's where all the confusion is coming.  I have read two different kinds of posts:

- the ones that said it is not possible
- the ones that managed somehow to make it work as an ISP.

The reason for my post is for those who have tried with the UNO and succeeded.  Also to provide some trouble shooting tips on what I'm doing wrong and/or point me into the right direction on how to do this. Seems that the instruction on the posts of the ones that have succeeded are not working for me, or they failed to explain a step or two.

This is a classic example of what I'm talking about ---> http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1295163482

I have tried so many things, but mostly I settled on the method that I posted on my first post.

westfw

Quote
is it possible to burn a bootloader on my new Atmega328P-PU chip on a breadboard using the UNO as ISP???

If you're using a 16MHz crystal, you should be able to use "optifix":
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1295516707

obbi13

#6
Jan 31, 2011, 03:44 am Last Edit: Jan 31, 2011, 03:47 am by obbi13 Reason: 1

Quote
is it possible to burn a bootloader on my new Atmega328P-PU chip on a breadboard using the UNO as ISP???

If you're using a 16MHz crystal, you should be able to use "optifix":
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1295516707



WestFW, thanks for pointing me into the right direction.  At the moment I don't have a 16MHz crystal, but should get my hands on them pretty soon (ordered a few last week) to try out your method.  As soon as I have them I'll setup everything per http://arduino.cc/en/Tutorial/ArduinoToBreadboard instructions and let you know how it goes.

obbi13

#7
Jan 31, 2011, 10:42 pm Last Edit: Jan 31, 2011, 10:57 pm by obbi13 Reason: 1

Quote
is it possible to burn a bootloader on my new Atmega328P-PU chip on a breadboard using the UNO as ISP???

If you're using a 16MHz crystal, you should be able to use "optifix":
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1295516707



Alright WestFW, I got the 16MHz Xtal and followed exactly the instruction and as soon as I opened the serial monitor I hit reset and I got the following output:
OptiFix Bootstrap programmer.
2011 by Bill Westfield (WestfW)

Starting Program Mode [OK]

Reading signature:950F
Searching for image...
 Found "optiboot_atmega328.hex" for atmega328
 Start address at 7E00
 Total bytes read: 508

Setting fuses for programming
 Lock: 3F FFE000  Low: FF FFA000  High: DE FFA800  Ext: 5 FFA400

Programming bootloader: 512 bytes at 0x3F00
 Commit Page: 3F00:3F00
 Commit Page: 3F40:3F40
 Commit Page: 3F80:3F80
 Commit Page: 3FC0:3FC0

Restoring normal fuses
 Lock: F FFE000

Type 'G' or hit RESET for next chip


After that I selected on the IDE the Burn Bootloader w/Arduino as ISP and got:
Error While Burning Boorloader

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding


What Am I doing wrong now?
[/s]

obbi13

You know what, forget what I posted above.  It was done as soon as I had the:
Restoring normal fuses
  Lock: F FFE000


This is A.W.E.S.O.M.E !!!!

I moved the freshly burned chip to the Arduino board, dropped the blinky sketch and voila!  I was working perfectly.

WestFW, Thanks for the help you are the greatest! :)


westfw

Yep; that's all there is to it; it's essentially a zero-interaction sketch (with a rather narrow purpose.)
if you make up a little programming cable to attach targets via the ISP connector, you can re-program a lot of boards really quickly, too.  Plug in target, hit reset, watch the blinky lights, remove target, repeat.

dut

why while i want to burn my new atmega8 with arduinoUno it say error..i hv connect the circuit like the tutorial say..
dut eden rockes

brthrjon

Any chance we'll  be able to do this with an smd UNO?

westfw

Yes; no reason why not.  The optifix program should run on, or program, an SMD Uno, given appropriate wiring.

Go Up