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

Activity

  • about 1 year ago: mbrugger liked this project.
  • about 1 year ago: aschnell started this project.
  • about 1 year ago: aschnell liked this project.
  • about 1 year ago: aschnell originated this project.

  • Comments

    • aschnell
      about 1 year 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!