Rak5010 current consumption

Hello,
I’m trying to reach the minimum current consumption.
I read that the nRF52840’s regulator has to be
in DC-DC mode and all the sensors have to be in sleep mode.
I wrote some code to set sensors in sleep mode (SHTC3, OPT3001DNPR, LPS22HB and LIS3DH) using the i2C and NRF52 sdk but I got a minimum of 0.75mA.
To enable the DC-DC mode I wrote:
sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE);
How could I reach a lesser current consumption using the NRF52 Sdk?
Could you send me an example code?

Thank you!

Hi,

You mean to use your own code, not our RUI? The low power is really a difficult issue. Because our code is not open, I think you may ignore something in your code.

  1. Do you turn off bg96?
  2. Do you turn off gps enable gpio?
  3. Do you disable all bus, like I2C, UART?

Try above and test, It maybe ok. But I advise to use RUI.

Hi,
thank you for your response.
Could you tell me how can I reach the lower power consumption using RUI?

Thank you!

HI,
I modified a rak5010 example project to reduce the power consumption using RUI.
This is my main code:

void main(void)
{
    //system init 
    rui_sensor_register_callback(sensor_on,sensor_off);
    rui_init();
    while(1)
    {
        //do your work here, then call rui_device_sleep(1) to sleep
        rui_device_sleep(1);
        rui_cellular_set_mode(RUI_SLEEP_MODE);
        //here run system work and do not modify
        rui_running();
    }
}

The power consumption is 1,21mA.
Is it possible to reduce it and how?
Thank you

Please, find attached the project archive
test-project.zip

Hi,
You can do a below:

void main(void)
{
//system init
rui_sensor_register_callback(sensor_on,sensor_off);
rui_init();
while(1)
{
//do your work here, then call rui_device_sleep(1) to sleep
rui_device_sleep(1);
//here run system work and do not modify
rui_running();
}
}
Just call rui_device_sleep(1);

Hi,
doing as you explained I measured 0.80ma for almost a minute then the consumption increased to 1.22ma.
And also if I switch off and switch on again the rak5010 board, bg96 activate and consumption is very high.
I tried to manually switch off bg96 module pressing and releasing the button on board but it seems that bg96 cannot be turned off anymore.

Do you test our firmware V3.0.0.8? It is 20uA, and the app code is in https://github.com/RAKWireless/Products_practice_based_on_RUI/tree/master/based%20on%20RAK5010/5010

You can refer to it.

Yes I did.
I modified the main function into the user_app.c file.
Then I did a zip file containing all the project file and sent it to the online compiler.
Finally, I extracted the .hex and flashed it on the board.
Is it the right procedure?
Thanx

project zip file

Hi,

Can you try this
https://downloads.rakwireless.com/Cellular/RAK5010/Firmware/

Then send this to sleep
at+set_config=device:sleep:1

Or do not modify code, just compile and burn.