MicroSD power consumption on Expansion Board, PyTrack, PySense, etc



  • Following @jmarcelino comment from another topic :
    Power Consumption Issue

    The SD card is always consuming power even when idle (during deepsleep) about 5mA. For low power applications using the SD card is not recommended.

    I want to confirm about the 5 mA consumption when using microSD card :

    • this happens on all Pycom boards with microSD ? Expansion Board v1/v2/v3, PyTrack, PySense, etc ?
    • this happens even before mounting microSD card in MicroPython ? Or only after mounting ?

    The Pycom community would gain a lot if we do detailed power consumption analysis of microSD usage, e. g., in active mode x deep sleep mode, microSD inserted x not inserted, before x after mounting, before x after openning file, during reading x writing to file, etc.

    Many of us want to use deep sleep to obtain long battery endurance, counting each uA, so this microSD 5 mA issue is important.



  • I did some measurements of power consumption a few months ago, when i started working with a FiPy + Pysense board. Back then i could measure around 7.5 mA in Lightsleep mode, when disabling all antennae and such.

    Since then i haven't been measuring current. But my current program that i have running on the Fipy consumes (with all connections / antennas disabled) around 35 mA, when i did a measurement today. This is due to having the SD card inserted (not mounted) as far as i can see, because when i remove the SD card i measure 7.5 mA again... Can this really be correct? It's much more than what is described in this thread, has anyone gotten similar results?

    In an older thread, @jmarcelino wrote that simply inserting SD card uses 5 mA, but that's still nowhere near what i am seeing!
    https://forum.pycom.io/topic/3097/power-consumption-issue

    Edit: I think i have a broken FiPy, since the same code on another FiPy measures around 7.5 mA, which is what i expected. I also tried the one i suspect to have a fault on another Pysense board, but it still measured 35 mA in Lightsleep, also after flashing..



  • @jmarcelino
    Thanks ! So for each uSD card we need to test the power usage, both in active mode and deep sleep mode.



  • @rcolistete
    This depends on the microSD card/sd card controller used, as you noticed the higher density newer technology tend to have lower power consumption. Also there are differences regarding the unused (floating) pins.



  • First tests with Expansion Board v2.1 with respect deep sleep with/without uSD card.

    1. alone (without LoPy/WiPy/etc), consumes about 0.12 mA (battery connector with 3.3V) to 0.18 mA (with 5.0V), with or without uSD card, with any jumpers configuration;

    2. with LoPy4, without uSD card, with battery connector with :

    • 3.3V : doesn't boot;
    • 4.1V from Li-Po/Li-Ion battery, only TX/RX jumpers : 0.16-0.17 mA;
    • 4.1V from Li-Po/Li-Ion battery, with all jumpers : 0.23 mA;
    • 5.0V from power source, only TX/RX jumpers : 0.19 mA;
    • 5.0V from power source, with all jumpers : 0.25 mA;
    1. with LoPy4, with 8GB Sandisk UHS-I uSD card (not mounted, without open files, just inserted), with battery connector with :
    • 3.3V : doesn't boot;
    • 4.1V from Li-Po/Li-Ion battery, only TX/RX jumpers : 0.40 mA;
    • 5.0V from power source, only TX/RX jumpers : 0.40 mA;
    1. with LoPy4, with 32GB Samsung Evo UHS-I uSD card (not mounted, without open files, just inserted),, with battery connector with :
    • 3.3V : doesn't boot;
    • 4.1V from Li-Po/Li-Ion battery, only TX/RX jumpers : 0.30 mA;
    • 5.0V from power source, only TX/RX jumpers : 0.31 mA;

    Conclusions to save power during deep sleep with Expansion Board :

    • it is important to use only TX/RX jumpers, or else we will have extra 0.06 mA;
    • large voltage values implies some extra (e.g., 0.02) mA;
    • avoid using uSD cards, because even just inserting a uSD card, not mounted, without open files before deep sleeping, there is an increase in deep sleep current, depending on the type of uSD, e. g., extra 0.21-0.24 mA for a 8GB uSD, extra 0.12-0.14 mA for a 32GB uSD.

    But the cited extra 5 mA due to uSD card being inserted wasn't obtained, even during active state.


Log in to reply
 

Pycom on Twitter