Electronic – NRF24L01 presence detection


I have adapted my RF73/RFM73 library for the NRF24L01. These chips are almost identical, except that the RFM73 has a second bank of registers that must be initialized with some magical values. The RFM73 has a special command to switch between the banks, and a bit in the status register that indicates the current bank. This provides a good mechanism to test for the presence of the chip (switch the the other bank and check that the bit in the status register toggles), without disturbing any settings or transmitting anything.

Has anyone found a feature of the NRF24L01 that can be used in a similar way to test for the presence of this chip?

Best Answer

This library distinguishes the NRF24L01 from the NRF24L01+ by trying to set the 250Kbps data rate. If it succeeds then the chip is of the + variety. You might also try just powering the chip on and off. It seems unlikely that you would disturb other driver software? by setting and re-setting these settings. https://github.com/jpbarraca/pynrf24/blob/master/nrf24.py#L671