Small and Fast Bootloader for Arduino and other Atmel AVR chips
Processing C C++ Makefile Shell Arduino
Latest commit c811854 Oct 14, 2016 @WestfW WestfW committed on GitHub Merge pull request #188 from ctag/patch-1
Declare .init0 section as used in example sketch.
Permalink
Failed to load latest commit information.
optiboot Merge pull request #188 from ctag/patch-1 Oct 14, 2016
README.md Update "install" instructions Sep 26, 2016

README.md

Optiboot Bootloader for Arduino and Atmel AVR

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.

Notes on IDE Version compatability

Optiboot in "compatible", it a loose sense, will all versions of the Arduino IDE. It was originally written at about the same time as v1.0, and has some "quirks" that date back to that timeframe. Most significantly, install procedures and locations change between releases, and the ability to compile optiboot using only the tools installed with the IDE broke in the v1.5 timeframe.

To install into the Arduino software

You do NOT need to "install" Optiboot if you are trying to update an installed platform that already uses some form of Optiboot. In that case, you should probably just find and replace the existing .hex files from the platform support directories. Using the optiboot "install" procedure does not install any cores or variants, so it is only useful for cpus that are already supported by the standard Arduino core. (or, if all you want to do is install bootloaders.)

The following instructions are based on using the Arduino "Board Manager", present in IDE versions 1.6.5 and later.

  1. Find the desired Optiboot release on the Optiboot Rlease page.
  2. Use the "Copy Link" feature of your browswer copy the URL of the associated .json file.
  3. Paste this url into the "Additional Boards Manager URLs" field in the Arduino IDE "Preferences" pane. (Separate it from other URLs that might be present with a comma.)
  4. After closing the preferences pain, the Tools/Boards/Boards Manager menu should include an entry for that version of Optiboot. Select that entry and click the Install button.

For addition installation information, see the Optiboot AddingOptibootChipsToIde Wiki page

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.