Boot-Loading ATmega

Goal

At the heart of Arduino uno is the Atmega 328P uC chip. When it comes from the vendor, this chip is brain dead. We have to burn the boot load program to enable it to understand USB speak. In this lab we will make a fully functional Arduino Uno built on a breadboard and we will also understand the necessary connections and components that allow it to be programmed via USB.

Background

Boot Loader: A Bootloader is a program which starts as soon as the machine is powered ON. Its job is to launch the operating system. Arduino lacks an operating system but it still has bootloader, which allows new firmware to be installed onto the chip without the need of external ISP. Arduino doesn’t support USB but it does support programming over the UART Bus, We use CH340G module which converts USB to UART.

The 328P and most MCUs can be programmed without a bootloader. We use SPI communication to flash program into memory of the Arduino. We make use of this interface to burn the bootloader.

Circuit Connection


Detailed report on this lab can be found here :