[SOLVED] Electron - Very high current consumption with modem off

Why does Electron consume so much even when not using the modem? There’s also a lot of variation (140-190mA) even though system mode is manual and there’s no user code running.

Code is just this:

#include "Particle.h"

SYSTEM_MODE(MANUAL);

void setup(void) {
}

void loop(void) {
}

Adding Cellular.off() doesn’t help.

Hardware setup is a multimeter in current mode is connected in series between Li-Po battery and the Li+ pin.

EDIT: Tried a different Electron, it is closer to 60-120mA range.
EDIT2: Deep sleep mode leads to 14mA consumption in one Electron and 140-80mA in the other. I’m running firmware version 0.5.2 on both.

Ok so I’ve realised that the MANUAL mode doesn’t mean the cellular modem is off and only calling Cellular.off() does that.

But even with the modem off, I’m pulling 60-100mA. This is extremely high, what’s the reason for this?

The problem was that the burden voltage of the multimeter caused a problem with booting and somehow compromised the sleep mode. See this post for more info: [solved - beta electron issue] SLEEP_MODE_DEEP but still using 2,7mA while it should be 0,13mA

Ah!

Look into the uCurrent Gold device if you want to take accurate micro current readings with a regular voltage meter.

Glad you were able to figure it out!

Funny thing is, I have been using a more advanced (with serial output) analog of uCurrent – EE203, but I guess it couldn’t switch ranges quickly enough or something.

A multimeter (Agilent U1252A) in mA range works fine.

Nice to know the EE203 is not up to the task. First I have heard of it.

The Agilent is nice but also expensive :smiley:

Can you share your measured current readings? Where they inline with what is in the datasheet?

I’m reliably getting 170uA with System.sleep(SLEEP_MODE_DEEP, 60) and 130uA with System.sleep(SLEEP_MODE_SOFTPOWEROFF, 60) or System.sleep(SLEEP_MODE_DEEP, 60); fuel.sleep();.

1 Like

Hi andrey, I have been having problem again with the deep sleep mode, it never goes to the desired 100-130µA current, it is more or less at 2,8mA and somethimes it is constantly rangeing from 50-100mA. could you maybe please provide me a working code from you where you can confirm that your device is entering deeps sleep and only consuming around 130µA? and can you tell me when your device returns from deep sleep will it then start by flashing green for few minutes before blinking and finally breating the cyan. I am asking because I just noticed that my electron only gives a short green blink and then straight to cyan when returning from “deep sleep” (which actually is something else than deep sleep I think) but if I seithc my current meter to µA scale (increase the burden resistor) something happends because of the voltage drop and my electron enters deeps sleep mode and consumes only 100µA, but when it wakes up from this deep sleep then it will flash the green for a while (1-4 minutes or so, not really measured it)… please if you or someone else could just try the code below and measure the current that their electron is consuming while in sleep. (if I do the “trick” with increasing the burden resistor to get the electron in deep sleep mode, then it will constantly go back to that mode (using 100µA) each time it goes back to sleep, even if I press the reset button, but if I remove the power and power it up again then the “sleep” current will be back to 50-100mA or so…

SYSTEM_MODE(SEMI_AUTOMATIC);

void setup() {
    delay(1000);
    System.sleep(SLEEP_MODE_SOFTPOWEROFF, 20);
}
void loop() {
}

edit: I have figured out that if I run this test code for some time then it ends with the electron finally entering the deep sleep, consuming 100µA but if I power cycle it then it will take some time untill it finally enters the deep sleep again, maybe in the 10th try/cycle or so

So you’re have the electron connected via a multimeter in uA mode? That would cause problems when electron goes out of the sleep mode (and starts blinking green) as the current increases drastically in that case. You’d have to use a multimeter with lower measurement resistor or keep multimeter leads shorted unless you’re sure that the electron has entered the sleep mode.