Go Down

Topic: UNO as ISP? (Read 24223 times) previous topic - next topic

johnhunk

i tried google all day and i am still unsure if i can use UNO as ISP. if possible how?  . Basically to burn bootloader and program other atmel chips. All i found out is using another Duemilanove +UNO board to burn bootloader for UNO. If i dont wish to buy the Duemilanove and other AVR programmer.. is there other way to burn UNO bootloader into raw ATmega chips?

So can someone update me on that... if UNO as ISP is possible? and any other related/links would be appreciated.
sorry if this question is being ask thousand of times i did my best in searching.

spycatcher2k

Yes - at can be done using the UNO. You need to disable reset, but thats easy to do cap from +5 to reset.
Mrs Drew
-=-
http://www.uk-pcb.co.uk - UK PCB Fab Company
I will design & code for you, but I will also charge you (PM me)
If you don't like my answers, realize : I'm not being cheeky, I'm Just trying to prompt you to use your own brain/google etc.

johnhunk

Thank for the positive reply.. do you mind explaining it further or link me to a tutorial/site to go about doing it?

johnwasser

You can run Examples->ArduinoISP on any Arduino.

http://arduino.cc/en/Tutorial/ArduinoISP

The one thing they forget to tell you is to disable auto-reset on the Arduino running ArduinoISP.

http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection

Note that they recommend a 10uF capacitor to ground for the UNO since the 110 ohm resistor to +5v may not work.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

johnwasser


Yes - at can be done using the UNO. You need to disable reset, but thats easy to do cap from +5 to reset.


The cap goes from Reset (+) to Ground (-).  This keeps the reset high, briefly, when the USB chip tries to pulse it low.

For pre-UNO boards you can use a 110 ohm resistor between Reset and +5v to get the same effect but apparently the UNO USB chip has more drive than the FTDI chip on earlier models and the 110 ohm pull-up might not be strong enough to keep the signal high.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

johnhunk

ok thanks. just to sum it up, all i have to do is
1) disable autoreset ,
2) following the tut on http://arduino.cc/en/Tutorial/ArduinoISP
3) hook up the circuits as shown in 2)
4) Am i ready to be able to use arduino UNO as ISP to burn the bootloader onto an AVR ?

Anyway why does the http://arduino.cc/en/Tutorial/ArduinoISP show this note:
"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." 
i found some thread about optiboot fixer or something. do i have to do something from that to make UNO as ISP? 
Thanks for clearing up my doubts. :~


GianfrancoPa

UNO doesn't have FTDI chip, so is impossible to use it as ISP
Gianfranco

spycatcher2k

GianfrancoPa, I have built a standalone board without the FTDI chip, and program chips almost every day, the avr as isp has got the optiboot loader on it (for future upgrading). So it can be done.


Drew.
Mrs Drew
-=-
http://www.uk-pcb.co.uk - UK PCB Fab Company
I will design & code for you, but I will also charge you (PM me)
If you don't like my answers, realize : I'm not being cheeky, I'm Just trying to prompt you to use your own brain/google etc.

pluggy

#8
Mar 18, 2011, 11:05 am Last Edit: Mar 18, 2011, 11:29 am by pluggy Reason: 1
Quote
For pre-UNO boards you can use a 110 ohm resistor between Reset and +5v to get the same effect but apparently the UNO USB chip has more drive than the FTDI chip on earlier models and the 110 ohm pull-up might not be strong enough to keep the signal high.


For pre-Uno boards you don't need to disable the autoreset at all- it just works which probably explains the omission of any mention of it it the documentation, they haven't updated it for the Uno. Can't see the drive having much to do with it, the auto reset signal is in both cases transferred through a titchy 100nF capacitor against a 10K pullup.  The bootloader doesn't affect very much, you can program a Duemilanove 328 with the Uno bootloader and vice-versa, you just need to change the board settings to reflect the bootloader.  It doesn't affect the need for disabling the auto reset, The Uno with a Duemilanove bootloader still needs it disabling, and the Duemilanove with the Uno bootloader doesn't.

* Bootloaders supplied with Arduino 0022 at least, earlier ones may have issues.

http://pluggy.is-a-geek.com/index.html

pluggy

Quote
UNO doesn't have FTDI chip, so is impossible to use it as ISP


Obviously never tried it, it does work, provided you disable the autoreset.  The FTDI chip doesn't really enter into the equation, other than for talking to the host, the (main) Atmega on the target is programmed by the (main) Atmega  on the host.
http://pluggy.is-a-geek.com/index.html

GianfrancoPa

I knew that we can use Arduino 2009 as avr isp because it has the FTDI. And
because UNO doesn't has it, we can't use it as avr isp.

I'm happy that is wrong, and I hope the there is a way to write bootloader on blank chip, or to load sketches on chip without bootloader.
Gianfranco

pluggy

Bah, now I've been messing with bootloaders, I'm back to the issues (sketch amnesia) with the Uno bootloader, back to opti-fix.......  ;)
http://pluggy.is-a-geek.com/index.html

johnwasser

If you have problems running ArduinoISP on an UNO (which has the 'optiboot' bootloader), try this patch to ArduinoISP:

http://code.google.com/p/optiboot/issues/detail?id=21

Code: [Select]

  case '0': // signon
    static boolean signon_done = false;
    if (!signon_done)
        {
        empty_reply();
        signon_done = true;
        }
    break;
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

xelendilx


You can run Examples->ArduinoISP on any Arduino.

http://arduino.cc/en/Tutorial/ArduinoISP

The one thing they forget to tell you is to disable auto-reset on the Arduino running ArduinoISP.

http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection

Note that they recommend a 10uF capacitor to ground for the UNO since the 110 ohm resistor to +5v may not work.

That's very interesting!

So with an uno I must only use a 10uF capacitor, without the 110ohm resistor?

johnwasser


So with an uno I must only use a 10uF capacitor, without the 110ohm resistor?


That is what I think they are saying.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

Go Up