Autoreset possible!

A project log for rf24boot: The NRF24L01 bootloader

nrf24l01 over-the-air bootloader for different microcontrollers

necromantNecromant 06/28/2014 at 09:450 Comments

A few people asked if autoreset is possible with nrf24l01. With a little hack - it is! If you remember, rf24boot doesn't use IRQ line of nRF24L01. And since the IRQ line is active-low:

* Connect IRQ line to the RESET via a jumper

* Mask all nRF24L01 IRQs while the bootloader works. 

* Unmask TX_DR (data received) IRQ just before jumping to app code

* Any packet received by nRF24L01 will result in avr rebooting to bootloader as if reset has been pressed. 

This won't work if you initialize nRF24L01 in your app code and use it for anything. So you'll still have to implement some kind of software-reset in your firmware or just get up and hit reset button yourself. 

The trickery mentioned above will hit git master as soon as I get the boards for my next project where the required jumper is builtin.