nrf8001 reduce Power Consumption

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
malesco
 
Posts: 2
Joined: Fri Jul 18, 2014 4:32 am

nrf8001 reduce Power Consumption

Post by malesco »

Hi guys,

i'm currently working on a prototype using the nRF8001 Breakoutboard and the MCP9808 Temperature Sensor, both from Adafruit.

I'm using the example Sketch provided by the nRF8001 Library. Currently my Multimeter shows a Current Consumption of around 0.7 mA for the nRF8001, regardless if it is connected to a iPhone 5S or not (i guess the multimeter is too slow to pick up the peak currents when transmitting data). This is already quite good but it would be awesome if there would be a way to further reduce the amount of current used by the nRF8001 while it is idle ? Can one completely turn the Chip of while not using it ? I only want to collect data every few hours so turning it off between this data sessions would be an option or only search for devices every few seconds or something ?

Thanks for every help !

Greetings

EDIT: I forget to mention how my power setup is: I'm using a Arduino Pro Mini 3.3 V and the nRF8001 is connected with 3.3V from the Arduino and i'm measuring between Arduino and nrF8001

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: nrf8001 reduce Power Consumption

Post by adafruit_support_mike »

malesco wrote:(i guess the multimeter is too slow to pick up the peak currents when transmitting data).
By several orders of magnitude, yeah. The nRF8001's transmission frequency is probably faster than the meter's count rate. The 700uA value you got is probably in the correct range, but I wouldn't lean too heavily on its precision.

The easiest way to reduce power consumption is to control the breakout's power from one of the Arduino's GPIO pins.

The nRF8001's peak current consumption, with both receiver and transmitter running, is about 20mA. A GPIO pin can source up to 40mA, so there's plenty of headroom.

malesco
 
Posts: 2
Joined: Fri Jul 18, 2014 4:32 am

Re: nrf8001 reduce Power Consumption

Post by malesco »

thanks for the reply Mike!

So shutting down completely would be an option but i have another question:

so nordic semiconductor is advertising the nRF8001with (how i understood it) low power standby Modes that only need about 20uA. Is there a way to use that mode using the library provided by adafruit ?

Thanks for your help!

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: nrf8001 reduce Power Consumption

Post by adafruit_support_mike »

The standard advertising event involves the nRF8001 emitting an advertising packet then keeping its radio on for a certain amount of time to listen for master devices that want to open a connection. At the end of the timeout, the chip shuts down its radio and waits for a certain amount of time before emitting another packet.

The Adafruit_BLE_UART::begin() function takes two optional parameters that control the timing of those events. The timeout parameter (advTimeout) defaults to 0ms, meaning the master has to request a connection immediately. The delay parameter (advInterval) tells the chip how long to wait between advertising events. That defaults to 80ms.

You can set advInterval all the way up to 4.2s. That reduces your power consumption dramatically, but increases the worst-case time it will take for a master to hear the slave's advertising packet and set up a connection. There are three advertising channels and the master devices listen to each one for a certain amount of time, and on a certain delay. The master and slave delay periods are designed to sync up eventually, but if you have to wait 4.2s between tries, that can take a while.

For your application, since you want a very long interval between connections, even the 4.2s rate would produce far more advertising packets than you need. It makes more sense to shut the chip down entirely for most of an hour, then wake up and use a relatively fast advertising rate for a second or two.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”