Author Topic: Why does RFduino draw some current every 4 seconds?  (Read 966 times)


  • RFduino Newbie
  • *
  • Posts: 9
  • Karma: +0/-0
    • View Profile
Why does RFduino draw some current every 4 seconds?
« on: July 24, 2016, 01:58:57 AM »

even if "RFduino_ULPDelay( INFINITE )" is called and Connection Interval is set to 1000ms (and connection established), every 4 seconds some extra current (red dots in diagram) is drawn.
Does anyone know the reason therefore and does someone have an idea what I can do against it?

Code: [Select]
//Arduino 1.5.8
//RFDuino-Lib v 2.2.4
//RFduino is comsuming some additional power every 4 seconds (no matter if advertising or connected)

#include <RFduinoBLE.h>

void RFduinoBLE_onConnect() //callback if connection starts; set connection intervall here; (is called only once, at beginning of connection)
  RFduinoBLE.updateConnInterval(1000, 1000); //ms (min, max)  [7.5-4000ms in 1.25ms steps] //default [20ms] (16,24)?;   

void setup()
  RFduinoBLE.advertisementInterval = 1000; //ms (default: 80) (Range: 20-10240 in 0.625ms steps)   

void loop()
  //android app "BLE Device Scan - BluetoothLeGatt" connects with RFduino; (Android 4.4.2)
  RFduino_ULPDelay( INFINITE ); //ms  //ulp would draw <5µA if BLE advertising (started with RFduinoBLE.begin()
                                      // has been stopped before (with RFduinoBLE.end())

Some diagram related infos:
The white numbers are voltage measurements in [mV] at a 100 Ohm shunt. So a value of 33mV for example means 330µA current.
The black [µA] value is the long term current average.
The non uniform peak height is due to aliasing effects of this undersampled measurement. If measured with 1000 Samples/s, these 1s connection peaks have more or less the same height (and higher peak levels).

Best regards,
« Last Edit: August 03, 2016, 02:19:33 AM by martin7743 »