Learn about AVR UART and Bootloader

Use the AVR UART for a bootloader that loads a program via USB to EEPROM. That is basically what the Arduino Bootloader does.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 23


  • 8 months ago: mbrugger liked this project.
  • 8 months ago: aschnell started this project.
  • 8 months ago: aschnell liked this project.
  • 8 months ago: aschnell originated this project.

  • Comments

    • aschnell
      8 months ago by aschnell | Reply

      The bootloader is working.

      The hardware is a AVR ATmega328P connected 1. via an FTI232 and USB and 2. via an USBTiny ISP to the computer. The USBTiny is used to flash the bootloader to the AVR. The AVR is programmed to start the bootloader on reset. The bootloader communicates via the FTI232 (so the UART) with the computer.

      Once the bootloader is running, screen can be used to connect to it and thus to program and control the AVR:

      The bootloader itself looks more like WozMon than any Arduino stuff AFAIK. It has three commands:

      • LPM (load program memory) to read the flash
      • SPM (store program memory) to write the flash
      • jmp to start the application code

      I managed to write a program using two flash pages to the AVR and start it.

    Similar Projects

    This project is one of its kind!