3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Programming Arduino Bootloader without External Programmer

Programming Arduino Bootloader without External Programmer
«
  • 100_0530.JPG
  • 100_0542.JPG
  • 100_0545.JPG
OH NO!!! You've screwed up and now the Arduino bootloader on your 'duino is gone!  What are you going to do? Go spend money for a programmer??? Well don't! I've got a solution that only requires your 'duino and some wires! So its not the end of the world, it is just a minor glitch in the space-time continuum!!! In just under an hour you can have your 'duino back!***

How?

Well you know those pads near the USB that have the label X3? Well those will become your programmer!!!

Ok, ok. Not everybody messes up, but this will help you if you want to put the bootloader on a new chip, or you actually do mess up.  This setup can even program other AVR's using ICSP.

***The amount of time you will spend is not garunteed to be under an hour, and I will NOT take responsibility if you can't reprogram your bootloader.

!!!This will not work with the Uno or Mega2560!!!
 
Remove these adsRemove these ads by Signing Up
 

Step 1What You Need

What You Need
«
  • 100_0532.JPG
  • 100_0530.JPG

This programmer requires minimal physical components, only wire, an Arduino, (with the FDTI USB to Serial converter built in, so no Uno, Pro, Lilypad, Mega2560, etc.) and a soldering iron and solder.

However, you will need some programs and files to operate the programmer.***
Below are the included program files.

avrdude-GUI  
avrdude.conf 
serjtag-0.3
The last download wouldn't work so the link is to the page where you will  find it.  You will have to scroll down until you find the link labeled serjtag-0.3.zip.  The mirror site is the one that works. Save all 3 files in one folder where ever you would like, we will get to those in a minute.
***Currenly available for Windows only.All files are virus FREE.

« Previous StepDownload PDFView All StepsNext Step »
16 comments
Feb 12, 2011. 11:23 PMFourthDr says:
I found this information independently via google searches (http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html) before finding your instructable. This method seems to have a few limitation.

1. Requires soldering (not a problem for me).
2. Only works with the bundled version of avrdude, does not work if you update to latest version.
3. Does not seem to be able to correctly program the new optiboot bootloader used on all newer arduino uno boards. (the reason I wanted to program the chip in the first place was to upgrade my arduino 2009 and mega 1280 boards with optiboot).
4. And finally, does this method work on a mega board? The arduino to arduino programming scheme on the arduino website only works between regular arduinos not with the mega board. Sketch needs to be tweaked??

The method you outline works fine with other bootloader variants designed for the standard arduino boards and with the older original bootloader only.

You might consider updating or creating another instructable that covers upgrading older boards with optiboot.

I'm still trying to find a reliable way to upgrade since I don't currently have an avr programmer.
Feb 19, 2011. 3:40 PMFourthDr says:
Also, have you a had any success programming the optiboot bootloader onto an arduino 2009 using this method? I haven't. Works fine with other bootloaders like the ADABootLoaderR3_9D15.
Feb 19, 2011. 3:36 PMFourthDr says:
This method does not work on an Uno. The Uno does not have the 4 pin header pads that the adruino 2009 has on it.

I tried updating the the avrdude software that was bundled with the avrGUI and serial-jtag software. If you make any changes to the avrdude.conf file then the GUI doesn't work properly or crashes. I also tried updating the FTD2xx.dll to the latest since that is a really old version and that does not work either. Something must be hard coded into the avrGUI.

If you have the arduino IDE installed, then you have a version of avrdude since that is what it uses to upload to the arduino. It is possible to update that version by copying the avrdude directory from the latest winavr to the same folder as avrdude in the arduino IDE.

Jun 5, 2011. 10:40 PMFourthDr says:
@gigavolt

I'm now wanting to upgrade the boot loader on my mega 1280. How would this work on that board?
Jun 5, 2011. 10:38 PMFourthDr says:
@gigavolt

After swapping 328 chips between my first arduino 2009 and a more recently acquired board. It seems the 328 chip is defective in some way. Because I can program both with optiboot ok. But when actually using the programmed avr, the older chip does not operate reliably where as the newer chip does. It's possible the chip had some flaw that was not apparent using the older bootloader. I'll have to pickup some spare 328's on my next order. :-)

PS: How do you edit a comment after it's posted? Seems you can only delete...
Jun 21, 2011. 11:16 PMbricabracwizard says:
Just highlight your comments, copy, and then repaste them into the same reply you want to, then edit, obviously it will change the date to the current date.
Feb 16, 2011. 2:32 PMtech industries says:
Great Instructable! Worked right off the bat!
Feb 1, 2011. 6:59 AMrtty21 says:
I'm just getting started with arduino and I have but one question...
Is a bootloader the piece of software that accepts and stores programs on the ATmega chips?
Feb 2, 2011. 9:44 AMrtty21 says:
Neat! Thanks a lot, Man!

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
48
Followers
10
Author:Teslaling(Teslaling)
I like to make things that move, sense, calculate, compute, blink, and make noise. I like making things that create high voltages, electrical arcs, and can light fluorescent bulbs at a distance. I li...
more »