Lilygo sim7000G Module

Hi everyone,

I’m working on a low-power project using a LilyGO SIM7000G module with an ESP32 onboard. The device sits idle most of the time waiting to receive data over ESP-NOW from a nearby ESP32. Once it receives the data, it uses the SIM7000G to send it to a server.

Right now, I’m seeing around 300 mA current draw during transmission (which is expected) but still about 200 mA while idle, which drains my Imren 2000 mAh battery much too fast.
Ideally, I’d like the device to sleep as much as possible while still being able to receive ESP-NOW messages, then wake the modem and send the data when needed. I’ve looked into deep/light sleep modes but I’m not sure how best to handle this with the SIM7000G trying to sleep as deep as possible while still bing able to receive from the ESP32. Ive tried deep sleeping examples codes online, but the current draw is still 200maH so I am guessing there are some AT commands I have to use?

Has anyone here implemented a low-power strategy with the LilyGO SIM7000G while keeping ESP-NOW reception active (or at least waking quickly)?
What’s the best way to put the SIM7000G into a proper sleep mode when not sending?
Can the ESP32 remain in light sleep and still receive ESP-NOW reliably?
Any tips for drastically lowering idle current?

Any advice would be super appreciated!

Thanks a lot :folded_hands:

(P.S. If it helps: I’m currently using Arduino framework.)

I think it depends how often you need to send. There are several low power modes and power off option. So if you don't use it for long times, turn it off. But the time it takes for a cellular modem to be ready can be quite long, up to 30s.

Thank you, but for the low power modes is it mainly code based like esp_deep_sleep or is it based on the AT commands for the sim7000 Module or both?

Well, if some library gives you some syntax like "modem_low_pow" to send AT command X to the sim7000, then both.
Under the hood they are AT commands anyway.

Did you read some tutorials?

Thank you! Yes I have gone through that tutorial with the exact code, but the current still stays at 200mAH idle

That indicates that modem is on, did you try to turn it off?

Yes using the tutorial above but was not successful

Complicated devices...
try power saving mode instead
AT+CPSMS=1