There is a really grand price difference between an empty Atmega328 chip and the one with the Arduino bootloader installed. In my country, this difference is 1:3. This means that uploading bootloader manually would save me a lot of money, while this operation takes about 5 minutes altogether.
I've heard (but not read) about the possibility to make an Arduino upload the bootloader on another Atmega. This has at least 2 disadvantages:

  1. You need to have one Arduino first.
  2. You must turn that arduino into programing device - so you cannot have fun with it.
  3. The process will be hard to control until some advanced techniques are implemented (control leds, start button)

I own a few old PCs with standard real serial port and I also have a USB to serial converter.

  • Is there any chance to create a little PCB that connects dirrectly to a PC and would serve to upload the bootloader to the chip?
  • Is it thinkable for me, to create an application for this in C++? (I'm a begginer, but I don't give up fast) Or does it already exist?
  • Could you please provide links to any tutorials concerning this matter?
  • \$\begingroup\$ Why do you need to "Sacrifice" an Arduino? Once it's done, you just unplug everything and you can start working. Do you mean while developing the software and testing? \$\endgroup\$ Commented Apr 9, 2013 at 21:31

2 Answers 2


The answer is that it's very easy to bootload your Arduino directly from your computer, just using a simple USB to serial interface. When I bootloaded my own Arduino for a Reprap, I used a USBTinyISP to connect to the Arduino (it requires a bit of circuit, but it's not much) and then used AVRDUDE to upload the bootloader directly to the Arduino. It's obviously not the only way, but it's one which has worked for me in the past, and which is much cheaper than using another Arduino.


To get the Arduino bootloader onto a unprogrammed AVR device, you need a special programmer initially.

There are, however, a number of fairly easy-to-build programmers that use either a serial or parallel port.

SI-Prog is a programmer that works off the serial port. However, this may not work with some serial ports (mostly some USB-serial adapters - it depends on the specific adapter).

PonyProg is the programming utility.

Really, it would probably be cheaper and easier to buy a USBtiny ISP. This programmer will work with AVRstudio and avrdude.

  • \$\begingroup\$ Just to add a note - I recently failed to succeed with USBasp programmer. It's really not fun to burn the bootloader either way. \$\endgroup\$ Commented Sep 23, 2014 at 9:31
  • \$\begingroup\$ I've never had significant issues with any of the programmers actually manufactured by atmel (I have a AVR One and a AvrISP MK2). It's probably a good example of "you get what you pay for". \$\endgroup\$ Commented Sep 23, 2014 at 23:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.