Page 1 of 1

Lowering energy consumption

Posted: Thu Nov 25, 2021 6:15 am
by juliuslt
Hi there,
I currently have Freematics ONE+ Model H. I have my code compiled and uploaded into the device, which collects data when the car is running. I want to leave my Freematics in the car when the car is not running, for the convenience reasons.

Currently, I am using the ESP deep sleep to keep the power usage low, however it draws about 0.07 A (measured on 5V). Device wakes up every minute, checks if OBD connection can be initialized and goes back to deep sleep if connection failed.

Is there any better way to make the device track if the vehicle is running? Also, maybe there is a way to decrease power consumption while in "sleep mode"? Thanks.

Re: Lowering energy consumption

Posted: Sat Nov 27, 2021 9:12 pm
by stanley
You can consider using ESP32's power management API to lower CPU clock while in stand by.

Re: Lowering energy consumption

Posted: Tue Nov 30, 2021 2:25 pm
by smith
I have the same problem.

In deep sleep, the ESP32 should use ~ 10 microamps (https://lastminuteengineers.com/esp32-s ... nsumption/), however my current draw during ESP32 deep sleep is, at best, 110mA.

Stanley, how can this be reduced? I understand that the MEMS, SIM7600, GNSS, and OBD coprocessor may be drawing current, and am using the following commands to power them down. Could you perhaps clarify the correct commands for each, and if there are other current drains that need to be addressed? What is the minimum current draw we should be able to reach with every component powered down too?

OBD:

Code: Select all

// obd is a COBD object
obd.uninit();
obd.enterLowPowerMode();
MEMS:

Code: Select all

// mems is a ICM_20948_I2C object
mems->end();
GNSS:

Code: Select all

// freematicsLibrary is a FreematicsESP32 object
freematicsLibrary->gpsEnd()
SIM76000:

Code: Select all

sendCommand("AT+CPOF\r");
Thanks

Re: Lowering energy consumption

Posted: Fri Dec 03, 2021 8:26 pm
by stanley
With GPS, cellular module turned off and no wifi connection, are you still getting 110mA? You can test by uploading a code doing nothing.

Re: Lowering energy consumption

Posted: Mon Dec 06, 2021 4:48 pm
by smith
Hi Stanley,

With the following, I get 60mA.

Code: Select all

void setup() {}
void loop() {
	esp_deep_sleep_start();
}
From this, I have two questions...

1. What is using 60mA? (Is it possible to reach lower power consumption?)
2. How can I properly power down all components (GPS, cellular, wifi, etc.) to get to this 60mA when moving from operational to sleeping?

Re: Lowering energy consumption

Posted: Tue Dec 07, 2021 2:40 am
by juliuslt
Also, is there any way to get back from the sleep mode automatically, without checking for obd connection? For example, using ESP light sleep and checking for some obd pin?