Sometimes when you deploy your device for permanent use it is not always convenient to connect to it in order to perform software upgrades. Necromant wanted something convenient and cheap that would allow him to connect to AVR without wires. Since he already had several nRF24L01 RF dongles he decided to build so called over-the-air bootloader. He ported Arduino based nRF24L01 library to AVR by removing Arduino dependencies along with few fixes.
One RF dongle is attached to target MCU using either hardware SPI or software SPI. Bootloader fits in to 4KB. As programmer, there is a uISP dongle used where nRF24L01 sits on top. Currently programming speed isn’t great which is probably mostly limited by V-USB. Since RF dongles can handle up to 2MBPS speeds there are plenty space for improvements. But rather sticking to AVR, Necromant plans to build another dongle which will be STM32 based USB chip.