Skip to main content

Achieving <2uA current consumption on DA14531MOD

DA14531 SmartBond TINY Module

7 months ago

Posted by thomas.linder 40 points 2 replies
0 upvotes

Hi

This question explicitly targets the DA14531MOD (the one with the SPI flash embedded into the module). I read the documentation on sleep modes:

http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/introduc…

I understand that this documentation is for the non-module version but I see that it should consume 1.2uA (or something around that) in Deep Sleep mode.

I have also read various threads that point out that the embedded SPI flash requires ~9uA when it's enabled and not in sleep mode.

Currently, I have tried with the sleepmode and prox_reporter example and I am unable to achieve a lower current consumption than 9.5uA, measured with a Fluke 87 IV and a Keithley 2635B Source Meter - so the value should be fairly exact. I am only using the module and supplying it directly with 3.0V through the battery connector.

I have read that one should put the SPI flash into PowerOff mode to further reduce the current consumption but although I have added the required call to both examples (and checking that the SPI flash is initialised at all) I am unable to get any lower than those 9.5uA.

Can you give me a Step-By-Step example on what to do. I have the current SDK (SDK_6.0.14.1114) with the hotfix. I'd like to know which example I should start to modify to achieve less than 2uA power consumption.

Kind regards

Thomas

 

7 months ago

thomas.linder 40 points

Alright, it took me a while but I got it together using the following information:

Current consumption is now down to ~1.3uA which is ok for me.

accepted answer!

7 months ago

PM_Dialog

Hi thomas.linder,

Thanks for your question online and for your interest in out TINY module solution.

This sounds like the SPI flash is note powered down and that’s why you are seeing an increased power consumption in deep sleep.

Please follow the Deep Sleep tutorial ( this one that you have already shared in the initial post ) and power down the SPI flash before going to deep sleep. I replicated in my side, so please find some instructions below.

-          Use the Deep Sleep tutorial and configure the WKUP Controller as a wake-up source.

-          I am using adverting with time out after 3 seconds. So, the app_advertise_complete() will be triggered once the advertising is completed.

If I run the project as it is, the current consumption in deep sleep is approx. 9.5uA (see  attached - deep_sleep_flash_on.png)

In order to power down the flash and achieve the current deep sleep current, the spi_flash_power_down(); should be called app_advertise_complete() before put_system_into_deep_sleep()in user_proxr.c :

void app_advertise_complete(const uint8_t status)

{
        …
        …

        //power down SPI flash

        spi_flash_power_down();

       

        // Put system into deep sleep

        put_system_into_deep_sleep();

        …
        …

}

After this modification, the current consumption during deep sleep is approx.. 1uA (see  attached - deep_sleep_flash_off.png). It is verified from the SmartSnippets Toolbox Power Profiler.

Thanks, PM_Dialog

Attachment Size
deep_sleep_flash_off.png 77.99 KB
deep_sleep_flash_on.png 77.95 KB