Burning the Bootloader without  AVR-Writer

Well, I did not receive my blanck mega168, so I erased the only one with the bootloader that I had. Trying to upload from the Arduino IDE returned an error. Normal. I burned the bootloader with the avrdude-serjtag, it worked perfectly ^^

I think I'll soon try to burn a .hex file written with AVRstudio or other, to see if this works (don't see why it shouldn't), and I'll try to order some tiny13 and/or other avr chips, to try to use this programmer to burn programs on ohter chips ...

So, the only thing I can say : thanks again kimio ^^

Kimio : you might want to add your technique to the playground, on this page

There are still a lot of people asking about burning the bootloader, and a lot still answers with "you need to buy an external programmer"

Cheers

I tried your instructions yesterday since my Diecimila went dead (rapidly flashing LED L, bootloader not responding). Worked like charm! Thank you very much! I tried for hours to find a working solution for the FT232R bit-bang mode without success before coming across your page. Should definitely be mentioned on all the important Wiki pages.

I did it a bit differently that you suggest though: I soldered a female header into X3 so I can use the same cables I have anyway for working with Breaboards. The cables I connected to the 11-13 and RESET pins (reset pin is probably not really necessary since it's possible to use the auto-reset traces).

I had to call avrdude by hand though. Is there any documentation on the programmers.txt file? I couldn't figure out how to integrate the new programmer.

Thanks for the good work! Saved my day :slight_smile:
Greetings,
Sebastian

PS: I added a fourth wire to RESET after taking the picture:

Kimio : you might want to add your technique to the playground, on this page
http://www.arduino.cc/en/Hacking/Bootloader

There are still a lot of people asking about burning the bootloader, and a lot still answers with "you need to buy an external programmer"

Cheers

I wouldn't consider this as "hacking", but regular usage :slight_smile:

There's already a link to his site in the playground: Arduino Playground - AvrdudeFTDIBitbang

If he likes to add in depth explanations, I suggest to bundle it there and not split it to several different locations.
Or at least add crosslinks to each article.

Looks great- anyway this could work with a mac and a terminal?
If so Id love to hear it! Lots of folks who use arduino use it because its one of the few mac friendly micorcontroller systems out there....
Thanks!
Raphael

I used a Mac to flash my Arduino! Instructions work with very few changes. Can't remember exactly, but most likely you only have to adjust the device file used.

could you be a little clearer- for example are you using the terminal ?
R

Aaaah, that was rubbish, sorry. Now I remembered: I actually used Windows in a Parallels VM. Sorry for the confusion :slight_smile:

! ah you got my hopes up!

I use avrdude and the AVRispmkII (USB model) on Mac OS to burn bootloader to hand-built Arduino clones, as well as program Arduino derived circuits.

-j

I see, another piece of hardware- thats okay if necessary.
Im sort of new to all this,but can deal with the arduino interface- If I get that box, is it pretty straight forward to plug it into the arduino and burn the bootloader with it- I havent used the terminal before if thats necessary, but can follow instructions.

Question:
I just basically want to take the code I have written for the arduino and multiply it out to about 10 naked chips. and then embed them in a circuit. I wont need to talk to them later, or plug them into usb .
DO I still need to burn the bootloader?

Question2, Either if I have that box (the AVRispmkII) why dont I use it to program the whole sketch while Im at it-?- and skip the plugging it into the arduino at all (assuming it has a power supply and the crystal resonator and the caps required for the bare bones chip...)

Thanks!

You've got to get the program onto the ATmega somehow. It doesn't really matter if you burn the bootloader (with a programmer) or just burn the program, you've got to have a programmer to do so (unless you buy your ATmegas with the bootloader pre-burned).

For flight hardware, I like to burn the program directly without using the bootloader, so there isn't the remotest possibility that the bootloader could cause my device to hang. It also leaves a bit of program space free, which did matter for one system I built.

-j

Hello everyone

I really liked this bootloader burnig approach and I instantly had to try it. I used to burn my ATmegas with a STK500 which was always some kind of a hassle.

It all works great, even with the old ATmega8 chips.
I just fixed 5 broken Arduinos here at my university!

It would be great if this could be included in the Arduino Software.
thanks.

so long, broenni

How is the difficulty packing the scripts and command line into an universal graphic program? A lot of people got to be frustrating with the command line operations.

We made one with Bitbang and ICSP ping out, inspired by this very thread.

:wink:

I think I have come apon a universal solution- maybe we should start a new thread- but why not write a sketch that would automatically let the arduino burn the bootloader itself on a naked chip?

  1. Upload the sketch to a - pre bootloaded chip, the only one youll ever need to buy

  2. put the naked chip on a Bare bones board. Its relatively easy to make a bare bones breadboard- only a two caps and a resistor needed as you can steal the clean power off the arduino board itself.

3.connect the two chips together, then power them both up

  1. You now have two chips that are bootloaded.!

This would be way cheaper than buying another programmer or cable or in the case of macs going through all that terminal stuff which many (including myself) don't understand.

or people could sell the chip and 3 parts for a chip- again way cheaper and simpler than anything else out there - especially for those of us comfortable with components and breadboards but fell iffy around the programing side of things...

now all we need is someone who can figure out the sktech....

I think this already exists. If memory is right it is called 'boot-cloner' or something like that.

http://www.arduino.cc/playground/Code/Programmer2
http://www.arduino.cc/playground/BootCloner/BootCloner

well in classic style the one that seems to work better for the atmega 168
http://www.arduino.cc/playground/Code/Programmer2
reads as coding gibberish to me- It may work but I think Id need a "step by step" like in the other link:
http://www.arduino.cc/playground/BootCloner/BootCloner

This one seems really promising and easy to follow what to actually do- however its unclear to me what needs to be done to adapt it to the larger chip...

?

well i'm trying to use this method to burn a bootloader into an Atmega8 with my deumilanove.. but i keep getting an error message asking to check my conenctions when i try the slow clock mode or the normal mode.... i use the following command after inserting the new Atmega 8 chip and connecting the arduino to my usb..
Command: avrdude -c diecimila -P ft0 -p m8 -t -B 4800

Error:
avrdude: BitBang OK
avrdude: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude: drain OK
ft245r: bitclk 230400 -> ft baud 115200
avrdude: ft245r_program_enable: failed
avrdude: initialization failed, rc=-1

double check connections and try again...

Now i've double checked my connections and tried another ATMEGA8 as well. I get the same error. However if i insert the original Atmega168 i'm able to execute the command with -m168 parameter.... is there some modification here to be done for ATmega 8 for clock speed?

Is there another way to burn bootloader into a Atmega8 from a Atmega168 Deumilanove without using a programmer? :-/

pracas, I'm not at all sure about the Atmega8 vs ATmega168, but have you checked to be sure the pins are the same?

I just did this method for a ATtiny45 this morning and it seems to have worked, tonight I will be testing the chip to see if it actually works in the circuit with the program I loaded.

Good luck, Ken H>

Hi all. I've been fighting with this all day. I followed the instructions sequentially, the first time I used
avrdude -c diecimila -P ft0 -p m168 -t -B 4800
it worked. However every time after that it's produced an error. Have I somehow fried the chip? I can I recover it? My knowledge of Avrdude is minimal right now :-S

Thanks

Cynar