Build Your Own Arduino & Bootload an ATmega Microcontroller – part 1

Arduino Bootload an ATmega Microcontroller part 1

There are many reasons to build your own Arduino circuit on a protoboard or a custom-designed printed circuit board. At the heart of the Arduino platform is an AVR microcontroller, in usual way you need a special hardware programmer and suitable hex files to program the Atmel AVR chip. Fortunately, Arduino is a beginner-friendly platform because a bootloader is included in the AVR chip which allows you to program the board over the serial port without any dedicated AVR programmer.

Arduino Bootload an ATmega Microcontroller part 1

The bootloader is basically a small hex file that runs when you turn on the Arduino board. At first looks around to see if the computer (at the serial port) is trying to program it. If so, it absorbs the program code from the computer and transfers it into the AVR chip, in a specific location so as not to overwrite the bootloader. If the computer isn’t trying to upload any code, it instructs the microcontroller to run the code that’s already stored inside.

Now, have a look at our favorite Arduino UNO to find out the AVR chip inside. It is ATMega328P-PU, a low-power version of the traditional ATMega328-PU. The P indicates pico for pico-power which is a technology ATMEL has developed that allows the microcontroller to run with less power. This ATMega328 chip holds a pre-burned bootloader, allows you to upload code without using any additional hardware. So if you are in a plan to make your own open source microcontroller platform – Arduino, no doubt, you need an AVR chip with pre-charged bootloader!

This part of AVR tutorial will teach you how to make your own Arduino chip, ie Atmega328P with Arduino Bootloader. First we need one blank Atmega328P-PU microcontroller with a few supproting components:

 Arduino Bootload an ATmega Microcontroller part 11

  • Atmega328-PU/ Atmega328P-PU – 1
  • 16Mhz Xstal – 1
  • 22pF Ceramic Capacitor – 2
  • Small Breadboard / Protoboard & 28-Pin (PDIP) IC socket – 1
  • Your Arduino UNO board (here used as a programmer)

If you go through the Arduino IDE you can see an example sketch called “Arduino as ISP”. If you upload this code to your Arduino, it will basically act as an AVR programmer. Next, set-up your Arduino as an ISP. Here is the procedure:

  • Plug in your Arduino UNO (through USB) to your computer
  • Open the Arduino IDE
  • Open → Examples → ArduinoISP
  • Select → Arduino UNOfrom Tools Board →
  • Select your Serial Portfrom Tools Board →
  • Upload the Sketch (When finished, close the IDE and disconnect your Arduino)


Read more: Build Your Own Arduino & Bootload an ATmega Microcontroller – part 1

Leave a Comment

Your email address will not be published. Required fields are marked *