nRF24L01+ bootloader for avr and other mcus
C++ C Makefile Shell
Latest commit 815c59d Dec 23, 2015 @nekromant Add missing rf24address.cpp
Signed-off-by: Andrew Andrianov <>


What the heck is this thing?

It's a bootloader for AVR and other micros that can deliver your code
to the MCU via cheap nrf24l01 wireless modules. 

Is it good?

* Clean architecture
* Very portable, since it's based off antares
* Easy to integrate external memory devices, since 
  it supports several memory partitions. 
* Easy to add your own device-specific hacks.

Can I use it with arduino?

Yes, you can. The bootloader doesn't care where you got your file from.
Be it arduino, avr-gcc, avr-brainfuck compiler, /dev/urandom or even astral ;) 

Does it work with intel hex? 

Not yet. rf24tool only accepts binary files. So either add -Obinary to your
makefiles, or use srecord/hex2bin to get a binary file. 

Does it work under windows?

No. Only Linux and other *nix flavors that have libusb. Patches welcome. 

Does it work under Mac OS X?

No. Only Linux and other *nix flavors that have libusb. Patches welcome. 

What about usb programming dongle? 

See README.dongle

How to connect nrf24l01 with avr/arduino?

See README.compiling. If the relevant section is not enough for you, I 
suggest you give official nrf24l01 datasheet a read as well as avr's 
datasheet. I can't pack a book 'avr for dummies' into a small README file. 

Can I use nrf24l01 wired directly to Raspberry Pi/OpenWRT Router/Toaster?
Theoretically - yes. Practically - you'll need to implement spidev or 
gpio-bitbang adaptor for rf24tool. 
See rf24tool/adaptor-uisp.c as a reference. 
This is TODO, yet not a priority one.

Daunting documents worth reading
README.compiling - How to compile the bootloader for your device.
README.hacking   - If you want to help out by porting to new devices.
README.dongle    - How to get your programming dongle up and running.       - How to compile the userspace app.

Dude, this crazy stuff is too hard on my brains

And who said it will be easy? Go take a break, try again and send me some