Actually putting NRF24L01+ radio into Power Down mode

According to the NRF24L01+ datasheet:

(p. 20):
This radio has 4 operating modes:

Power Down
Standby
RX
TX

(p. 21):
Current consumption should be:

0.9 uA (0.0009 mA) in Power Down
26 uA (0.026 mA) in Standby

My goal:

  • uber low-power consumption while sleeping.

My Setup:

My Experience thus far:

  • I'm having no problem putting the MCU into a super-deep sleep:

Thanks largely to Gammon's Power Saving examples I am able to pull as little as 0.1 uA (0.0001 mA) w/ just the MCU in sleep. (measured w/ a decent DMM)

But once I add the NRF24L01+ radio, I've hit a wall...

  • I'm not able to put the radio into power-down mode.

I've flashed a variety of different example code that claims to put these radios into power-down mode, including maniacbug's and gammon's.

neither of these examples are getting me anywhere near the claimed power-down consumption of the NRF24L01+. I'm seeing ~ 2.02 mA in sleep w/ maniacbug's and ~1.6 mA in sleep w/ Gammon's.

My Questions:

  • Can anyone show me example code that actually puts the NRF24L01+ radio into Power-Down mode, consuming only 0.9 uA ?

hum... maybe I posted this question in the wrong section?

Nick Gammon claimed to measure the expected current, once the radio is in power down mode, and the rest of his results in the solar-power experiment support that observation.

So, why would it not work for you?

Post an example of his code, precisely as you are using it, and tell us how you determined that the radio failed to go into power-down mode, once the power-down command has been executed.

jremington:
...
So, why would it not work for you?
...

Great question. (seriously).
Per your advice I re-visited Gammon's code.
Wired my MCU, Radio, and LED (w/ resistor) exactly as he described,
didn't change anything about his code what-so-ever.

Code seemed to function fine (based on LED).
Ran the DMM in-line:

Got the same "bad" results...
~1.34 mA "sleeping"
then strangely after first TX:
~2.74 mA "sleeping" there after.

I then thought back to your comment: "why would it not work for you?"

Replaced the radio with another...
(moment of truth)

Much better results!:
~0.02 - 0.03 mA range "sleeping"
strangely, my DMM was telling me:
~400 - 680 uA range

I remembered Maniacbug experienced a similar issue with his DMM measurements, so I guess DMM suck at taking uA measurements. (?)

I repeated the test with 3 other radios.
same good mA reading results.
same whacko uA readings.

so...
I guess why it wasn't working for me was because I was:
using a disfunctional nrf24L01+ radio!

Doh!
(I spent an entire day trying to solve this)
:o

Good to know!

By the way, you often can't use a DMM to make low current readings on active circuits -- they interfere with circuit function because of the inserted resistance and voltage drop. To accurately measure low currents, these amplifier adapters are great.

jremington:
these amplifier adapters are great.

missing link?
I did end up purchasing the uCurrent device from EEV blog in Australia.

Fixed the link. Indeed, the uCurrent is very nice.

I'm having the same issues, although mine takes roughly 7mA while presumably in radio.powerDown mode. I heard about lots of users experiencing this issue with these modules, on guy purchased 4000 modules and 1000 chips and needless to say he was pretty disappointed.
He tested 8 modules, they were working just fine for a couple of hours, then they started exhibiting this issue. I guess I'm lucky for having ordered only 6 of them and I am still in doubt on whether to give up using them and use RFM69W / RFM12B or just add a MOSFET to the circuitry that would cutoff their power before putting the ATmega to sleep.

Is there anyone else who found a fix, or at least a way to prevent them from failing?

Sounds like there are a lot of fakes or rejects being sold cheaply. Buy from a reputable source.

Hi, can someone explain how do I measure the current consumption of my nrf24l01?

gusha:
Hi, can someone explain how do I measure the current consumption of my nrf24l01?

Best thing is probably to read the Nordic datasheet.

Next best thing is to hook up your multimeter between the power supply and the Vcc pin of the nRF24 and measure the current.

...R

Next best thing is to hook up your multimeter between the power supply and the Vcc pin of the nRF24 and measure the current.

Keeping in mind, of course, that the nRF24L01 will probably malfunction with the multimeter connected in series with the power supply.

jremington:
Keeping in mind, of course, that the nRF24L01 will probably malfunction with the multimeter connected in series with the power supply.

Why?

...R

Because of the high impedance of the DVM, the subsequent voltage drop when the radio draws significant current and the lack of power supply decoupling.

For exactly the same reason, it usually helps to add a reasonably large capacitor across the nRF24 power terminals.

Circuit malfunction is a very common problem when attempting to measure current draw by low power circuits.

jremington:
Circuit malfunction is a very common problem when attempting to measure current draw by low power circuits.

Thanks. I had assumed my DMM had a low resistance when measuring current but it seems to be about 70ohms. When it's on the 10Amp setting it is much lower - but that is no use for measuring milliamps :slight_smile:

...R

is it an issue with these devices aging? I've had some work....then no longer support powerdown...change in libraries? or change in the device.