Electron Operating Current, Cellular OFF

Today I’ve been trying to push my Electron to its lowest possible operating current with the Cellular module turned off.

The lowest current reading I’ve gotten to is 47mA.

Here is test code that runs at about 48mA. With the D7 LED off, the Electron is closer to 47mA:

#include "application.h"

SYSTEM_MODE(MANUAL); 

void setup() {

  pinMode(D7, OUTPUT);
  Cellular.off();

  RGB.control(true);
  RGB.color(0, 0, 0);
  RGB.brightness(0);
}

void loop() {
  delay(500);
  digitalWrite(D7, HIGH);
  delay(50);
  digitalWrite(D7, LOW);
  delay(500);
}

In the datasheet I see the spec as:

Operating Current (Cellular OFF) IIN avg 2 15 mA

Have I got something wrong here? Have I forgotten to turn something off?

As an aside, when I put the device in SLEEP_MODE_DEEP I can get close to the 130uA guideline in the datasheet. When I put the device in normal sleep mode, with SYSTEM_MODE(AUTOMATIC); and System.sleep(10); I get around the same readings, ~48mA.

2 Likes

In my understanding

System.sleep(10); 

will just deactivate with Cellular module. It will not put the processor in stop mode, which would actually save on the processor power consumption. Here is the excerpt from the docs:

System.sleep(long seconds) does NOT stop the execution of application code (non-blocking call). Application code will continue running while the Wi-Fi module is in standby mode.

So it is not surprising that you get the same power consumption as if you switch off the Cellular. To actually do the stop mode, you use

System.sleep(uint16_t wakeUpPin, uint16_t edgeTriggerMode, long seconds);

According to the docs

This mode achieves the lowest power consumption while retaining the contents of SRAM and registers.

What current are you getting with the deep sleep mode? Is it at least in the same ballpark?

@Stevie,

Sorry if I was not clear above.

In SLEEP_MODE_DEEP, with Cellular.off() being called, I get close to the spec, which is 130uA. I am not worried about this.

I am trying to optimize for when the cellular modem is off and just the MCU is on. The scenario where Cellular.off() has been called. From the datasheet it looks (at least to me) like the electron should consume between 2-15mA in this mode. Mine is consuming closer to 50mA.

I’d like to know if there is a way to get to that 2-15mA with the MCU on and running.

Okay, got it now. I think you were actually clear, but I was just assuming you are talking about the sleep mode, because the power consumption of 2 to 15 mA is - in my experience - really highly unrealistic. Although I can now see it in the Electron datasheet I believe that must be an error.

My understanding is that the MCU is basically the same as that of the Photon. There the datasheet talks about something between 30-40 mA. Which is at least in the same ballpark as what you are measuring. And that’s also what I usually get with the Photon. So I assumed that would be the same for the Electron. Of course there could be a difference in the efficiency in the power supply etc.

But even looking at the STM32F205RG datasheet, the consumption is even with all peripherals disabled above 21 mA. With all peripherals enabled it is about 49 mA…

1 Like

I have opened an issue on that to have it checked and updated

Thanks @ScruffR.

Yeah, 2-15mA seems like an unrealistic target, was actually surprised to see it there.

Guess I will be sleeping more :smile:

Hi everyone,

Has anyone tested the above question about current consumption of the Electron with Cellular on and off (MCU still running) ???

I am trying to get the current consumption down as much as possible (while still using the MCU) then turning cellular on if needed - probably only weekly.
I can get the Electron “breathing white” but it’s using about 46mA :frowning: :frowning:

1 Like