Tuesday, October 25, 2011

Bootloading an Atmega328 with an Arduino Uno


My most recent hack required a second microprocessor, something much smaller than your standard off-the-shelf Arduino. After some research I decided to use an Arduino’s ATmega328 chip due to it’s ease of use and wide variety of online resources. I then went online and ordered the necessary parts for my breadboard Arduino (ATMega328, 16MHz Crystal, 2 22pf capacitors and the parts necessary for my project). But after I received my parts I realized the Arduino boot-loader wasn’t on the chip...Uh oh.

After some research I found that I could bootload the chip using an Arduino Duemilanove (An older version of the Uno). Well, considering the Duemilanove and the Uno are essentially the same, theoretically you could install the bootloader using an Uno. Directions on how to do so are on the Arduino website (HERE), but sadly state that the method will not work using an Uno or older Arduino boards. This is because of the Uno’s auto-reset feature.  After a while of testing and research I found that you can download the boatloader using an Uno if you connect the reset pin to the 5v pin using a ~120ohm resistor. This disables the automatic reset, and then you can burn the boot-loader just like you would on the Duemilanove. (Set up the circuit like in the picture below and choose Duemilanove w/ 328 - under the board selection in the Arduino IDE)



You then have your own Arduino for only ~$6 in parts! Not a bad deal, and with some good soldering capabilities and EagleCAD skills (I have neither) you won’t ever need to buy another Arduino ever again. Especially because your Uno can also program any ATMega328 chips. If anyone needs any help feel free to comment below or shoot me a tweet or email!

30 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. This comment has been removed by a blog administrator.

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. This comment has been removed by a blog administrator.

    ReplyDelete
  6. This comment has been removed by a blog administrator.

    ReplyDelete
  7. This comment has been removed by a blog administrator.

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. This comment has been removed by a blog administrator.

    ReplyDelete
  10. This comment has been removed by a blog administrator.

    ReplyDelete
  11. This comment has been removed by a blog administrator.

    ReplyDelete
  12. This comment has been removed by a blog administrator.

    ReplyDelete
  13. This comment has been removed by a blog administrator.

    ReplyDelete
  14. This comment has been removed by a blog administrator.

    ReplyDelete
  15. This comment has been removed by a blog administrator.

    ReplyDelete
  16. This comment has been removed by a blog administrator.

    ReplyDelete
  17. This comment has been removed by a blog administrator.

    ReplyDelete
  18. This comment has been removed by a blog administrator.

    ReplyDelete
  19. This comment has been removed by a blog administrator.

    ReplyDelete
  20. This comment has been removed by a blog administrator.

    ReplyDelete
  21. This comment has been removed by a blog administrator.

    ReplyDelete
  22. This comment has been removed by a blog administrator.

    ReplyDelete
  23. This comment has been removed by a blog administrator.

    ReplyDelete
  24. This comment has been removed by a blog administrator.

    ReplyDelete
  25. This comment has been removed by a blog administrator.

    ReplyDelete
  26. This comment has been removed by a blog administrator.

    ReplyDelete
  27. This comment has been removed by a blog administrator.

    ReplyDelete
  28. This comment has been removed by a blog administrator.

    ReplyDelete
  29. This comment has been removed by a blog administrator.

    ReplyDelete
  30. This comment has been removed by a blog administrator.

    ReplyDelete