Tinkering in London writes –
At Tinker London we frequently built large interactive projects using Arduino, often to tight timescales. We frequently use libraries that give us lots of functionality, but code space in Arduino can be tight, and it always feels like programming takes too long.
The open source nature of the tools we use gives us flexibility to customise them to suit us better. I had a delve into the Arduino source code to see what could be done. Hours went into code examination, tweaking, restructuring and compiler optimisation, and a lot was learnt along the way. The result of these labours is Optiboot, a replacement bootloader for Arduino platforms.
Optiboot gives us:
- Faster sketch uploading. Optiboot has improved serial port handling and programming algorithms which speeds up uploading.
- More space for sketches. Optiboot is a quarter of the size of the normal Arduino bootloader, giving 1.5K of extra space to use for our sketches.
- Adaboot enhancements. Optiboot has extra logic that makes sure that our application runs as soon as possible after programming.
- Better maintainability. Optiboot is written in C without large blocks of assembly language, so alterations will be easier in future
Changing the bootloader on an Arduino requires some form of device programmer – we use the AVRISP Mk II programmer, but you also use another Arduino as a programmer.
Optiboot is an open source project for anyone to use and build upon. It is available at the Optiboot Google Code repository.