Timonel is an I2C bootloader for ATtiny85 microcontrollers. The aim is to enable AVR firmware updates in scenarios where there is a more powerful MCU (ESP8266, Arduino, RPi, BeagleBone, etc.) acting as I2C master and one or more Tiny85 as I2C slave performing peripheral functions.

Some possible cases:

A small robot controlled by Raspberry Pi where the specific functions of each limb are delegated to several Tiny85 through an I2C bus.
Multi-sensor systems, where each Tiny85 is a node that handles one or more sensors.
etc …
In these examples, it’s handy to have the chance of updating the AVRs firmware straight from the I2C master. But, so far, I haven’t found an I2C bootloader that fits directly the Tiny85, addressing its limitations:

It doesn’t have a specific hardware for I2C, only the USI.
It lacks a protected memory area for the bootloader.
It is not possible to redirect the interruption vectors to the bootloader.
That’s why I started writing this one.”