Skip to content

Small and Fast Bootloader for Arduino and other Atmel AVR chips

Notifications You must be signed in to change notification settings

kgyrtkirk/optiboot

 
 

Repository files navigation

Optiboot Bootloader for Arduino and Atmel AVR

in this fork:

ota capable optiboot

  • ability to call flash writer function of the bootloader from the application
  • new xchg() operation; takes the upper half of the flash and copies it to the lower part (this will enable me to do remote upgrades at the cost of sacraficing half of the flash memory)

Note: i'm using this only on my pro mini boards

Note: for me the board*txt files are not working so i recommend using:

optiboot/bootloaders/optiboot$ make ISPTOOL=avrisp ISPPORT=/dev/ftdi ISPSPEED=-b19200  BAUD_RATE=57600 atmega328_isp LED_START_FLASHES=0 

all unneccessary features of the bootloader have been disabled:

  • led flashing
  • version number at end of flash

it's not ready yet - but it works.

http://optiboot.googlecode.com/files/optiboot.png

Optiboot is an easy to install upgrade to the Arduino bootloader within Arduino boards. It provides the following features:

  • Allows larger sketches. Optiboot is a quarter of the size of the default bootloader, freeing 1.5k of extra space.
  • Makes your sketches upload faster. Optiboot operates at higher baud rates and has streamlined programming.
  • Adaboot performance improvements. Optiboot runs your sketches sooner, with no watchdog issues.
  • Compatible with 168 and 328 Arduinos including Lilypad, Pro, Nano
  • Believed to work with ATmega1280 ("Mega"), ATmega644 ("Sanguino"), and ATmega1284 ("Mighty")
  • Supports several additional AVR chips (ATmega88, ATmega32)

Optiboot is now installed by default on the Arduino Uno. It can be installed on all older mega8, 168 or 328 based Arduinos.

Additional Documentation

More detailed documentation is being added (slowly) to the repository wiki.

To install into the Arduino software

  1. Download the latest using Git or the Zip download feature of GitHub. If you download as a zip, also extract it.
  2. You will need to be using a recent version of the Arduino environment, version 18 or later.
  3. Create a 'hardware' directory inside your sketches folder.
  4. Copy the optiboot directory into the hardware directory.
  5. Restart the Arduino software. New boards will appear in the Tools>Board menu.

To burn Optiboot onto an Arduino board

  1. Select the appropriate Optiboot board type (or non-Optiboot if you want to change back)
  2. Connect your Arduino to an ISP programmer [[Installing]]
  3. Use the 'Burn Bootloader' item in Arduino.
  4. You can then upload sketches as normal, using the Optiboot board type.

Although it has evolved considerably, Optiboot builds on the original work of Jason P. Kyle (stk500boot.c), Arduino group (bootloader), Spiff (1K bootloader), AVR-Libc group and Ladyada (Adaboot).

Optiboot is the work of Peter Knight (aka Cathedrow). Despite some misattributions, it is not sponsored or supported by any organisation or company including Tinker London, Tinker.it! and Arduino.
Maintenance of optiboot was taken over by Bill Westfield (aka WestfW) in 2011.

About

Small and Fast Bootloader for Arduino and other Atmel AVR chips

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Processing 66.7%
  • C 16.3%
  • C++ 10.4%
  • Makefile 4.6%
  • Other 1.0%
  • Shell 1.0%