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

NRF52832 system on mode current consumption reduction

Hello NRF ,

I have used NRF52832 with BLE advertise and  peripherals connected on two different  I2Cs ( temp sensor and gyro sensor ), One SPI( LCD Display ) , three GPIO Interrupt and one PWM (buzzer ) .

I have used SYSTEM ON mode for sleep since my RTC Counter should be always running  which gives me my current time , hence I can not use SYSTEM OFF mode .

After measuring SYTEM ON mode current , it comes around 1.6mA  . How do I reduce this current consumption below 500uA ??

below is how I have called SYSTEM ON mode sleep ,

if(perform_sleep)

{

while(!wakeup_button)

{

if (NRF_LOG_PROCESS() == false )
{
nrf_pwr_mgmt_run();
}

}

}

where , wakeup button is and variable updated by gpio interrupt callback .

Note : I am also turning off ble advertisement before I call SYSTEM ON mode .

Parents Reply Children
  • man said:
    Is the measured current also including the LCD display and the PWM buzzer?

    - yes .

     So how much of the current is drawn through these devices? If they alone draw more than 500µA, you can't go below that.

    Try disabling both and see what your current consumption is then. What is it?

     

    Note : I am also turning off ble advertisement before I call SYSTEM ON mode .

     This sentence confuses me. When you measure your 1.2mA, are you advertising, scanning or in a connection? (NB: If yes, which one?) And what scan window, scan/advertising/connection interval are you using? 

    Hint: Have you tried increasing these intervals?

  •  So how much of the current is drawn through these devices? If they alone draw more than 500µA, you can't go below that.

    Try disabling both and see what your current consumption is then. What is it?

    - from their resister configuration , LCD , temp sensor and gyro sensor are in power down mode ( 5 uA in total )

     This sentence confuses me. When you measure your 1.2mA, are you advertising, scanning or in a connection? (NB: If yes, which one?) And what scan window, scan/advertising/connection interval are you using? 

    - this means in 1.6mA , I have stopped ble advertisement , so the device is neither  advertising nor scanning . once the GPIO interrupt wakes the device up , I am starting the advertising forever . 

  • FYI ,

    I have also tried removing sensors and LCD related code from my main application  ( configuration and read,write code), that time the consumption(1.6mA) drops down to 1mA . 

  • Ok, so it means that something in your application that is LCD related is not properly turned off. It was using I2C. Do you disable the I2C before going to sleep? If not try to do that. If you already have, and the current doesn't drop down to 1mA, then try setting the default pin configuration to your I2C pins after disabling the I2C. 

    Then keep doing the same for all the peripheral you have used for your hardware.

    Best regards,

    Edvin

  • Hello ,

    I tried disabling I2C via  nrf_drv_twi_disable(&m_twi_master); function but the current consumption is same . 

Related