This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Question about consumption nRF51822

Hi,

I'm looking for a BLE device to work with an arduino and to speak with a smartphone. The point is that the connection should be made by the user via the smartphone. This connection would be rare and short (around 5 seconds to transmitt data and every 5 hours or so) Meanwhile, I would like low consumption (sleep mode ? Then the problem is how to wake him up, since it has to be woken up by the smartphone...)

So my questions :

In sleep mode, can we pair with the smartphone and wake him up. I think no...

What would be the consumption between the 5 hours, doing nothing but wainting for connection ?

Thanks

  • There are two "sleep" modes on nRF5x SoCs: one is "SYSTEM ON" or "sleep" which is basically used by all FW examples whenever the device is not doing anything. Still with this one you should be able to achieve average consumption in 10-50uA level if you are having proper HW design. If you are not satisfied with that you need to use SYSTEM OFF which basically means POWER OFF with possible soft reset/wake-up. But because timers/clock isn't available you cannot wake-up periodically to maintain radio activity so BLE cannot work and not wake-up from smart phone over radio is possible, only trigger over GPIO wire (e.g. button or some external sensor which will send logical pulse to nRF5x chip) or NFC field detect (applicable only on nRF52 of course).

    So the strategy might be to lower advertising frequency to let's say 1s or even more. The power consumption will be really minimal (see nRF52 power profiler to get some rough view, of course nRF51 will have slightly different values but the main point is the relative effect of lowering adv. frequency, the exact number will anyway depend on the HW and also on other HW peripherals you will keep enabled) but the price you will pay is that any connection to such low-frequent Peripheral will get established over several adv. intervals so several seconds (with ~1s I've seen phones connecting at around 5-7s in average).

  • I have, but it still wasn't clear if one can wake it up via smartphone thanks to sd_app_event_wait() .

  • Function sd_app_event_wait keeps MCU in SYSTEM ON and BLE is active (the fact that your app isn§t receiving any events doesn't mean that chip is dead, RTC timer in Soft Device is running and all BLE related activity which is scheduled is happening under the hood).

  • Thanks for your answer and your help !

    There is something I am not sure... (I'm a beginner) I will wire the RX/TX with those of the arduino. My goal is to wake my arduino with an interruption on its RX pin. When something is received from bluetooth device (connection attempt) the arduino is waking up.The basic thing to do is to wire RX with an interruption pin. Is that possible? I can't see why it won't, but ...

    Thanks again !

Related