Hi,
I'm currently working on a company project with an ESP32S3-WROOM-1, a DFPlayer Mini(DFRobotDFPlayerMini library) and a LoRa Ra-02(SX1278) module (Sandeep mistry library).
Everything work fine but I definetly use too much energy, I tried several things :
put to sleep the Lora and the MP3 (no change on the consumption)
reduce CPU frequency from 240 to 80 (significative change on the consumption)
deep sleep my ESP (huge difference on the consumption)
But I'm still consuming too much, plus I think there is something I'm missing because when I see others consumption on the forum it's lower than mine.
My stats :
65mA is with the test code and 100mA is with the real code
Also for the deep sleep I tried to wake up from a button, that's working fine but I can't get the fact that the button was pressed after the wake up and I need this information any tips ?
I also tried to wake up my ESP when the Lora receive a message but I don't get it to work and I don’t see any exemple with this module and library.
I want to precise that my circit can't change now because it's a card made by a professional and the welds are inside the card. So for my test I got an other cirkit made by myself with the same components exept the ESP32S3-WROOM-1 is replace with an ESP32-WROOM-32.
For designing applications which require low running or sleep power consumption, you need to test the setup at the breadboard stage, in particular if using the ESP32, since exactly which pins you use on the LoRa module can prevent it going into sleep mode or waking up the ESP32 when a packet is received.
To measure the power consumption I use Kowsi USB-C Power Meters. And as I say I cannot measure the consumption component by component because the board is fix but I tried with my self made cirkit with an ESP32 and this is what I got :
The numbers you see from other posts are confusing you for two reasons. The first is the lowest numbers you see are for the actual esp32 NOT the entire DEV board. The second is they are probaby using something like a current ranger in order to get accurate readings. See the Swiss guy videos on burden voltage to understand why you bench meter is creating wrong readings.
The best way to save power is to use an external power latch circuit, so instead of sleeping, you turn the ESP32 off, and it uses ZERO amps. That requires something like a DS3231 to periodically turn on the ESP32, but there are even other means to turn it on. Do not try to use the ZS-042 with its many flaws; get a Chronodot genuine RTC.
I checked others' posts on the forum, their expectations, and what they really got. I also checked the ESP32S3 documentation.
The ESP32 himself in deep sleep mode should be 8 µA, and I got 3 mA. I’m far away from the expectation with the ESP32 in the first place, and I want to know why because maybe it can reduce the consumption with the MP3 and the Lora.
My goal is to get this circuit powered by a lithium rechargeable battery of 3000 mAh. Right now I calculated it can last 1 week, which is not possible for the client, so the first step I have is to make it last 1 month and ideally 6 months or even longer.
Thanks for your response. Actually, I want my ESP32 to wake up when a button is pressed or when a Lora message is received, so the periodic may not work in my case.
Yeah, I see something like a transistor or resistor on some circuit for powering off the module when the ESP32 is in deep sleep. Is it the right way to do it ?
I’m really new to this; it’s my first project, and I don’t have much cognizance on the subject. Thank you for pointing this out ! So actually when I power my ESP32 with the battery, the consumption will slightly reduce ?
No, what I am talking abot is using the RTC board DS3231. If you also want a button or Lora then a button is a trivial matter to add to the DS3231 but Lora is a totally seperate approach. I would be inclined to research suppliers like WaveShare? who sell esp32 with LORA built in, they may have the perfect answer. Another I would check closely is SEEED Studio as they ave thumbnail esp32-s3 and more plus a LORA module and they sort of specialize in thumb nai module and low power. Real low power as in uA, mA is a heater almost (tongue-in-cheek)
The only downside with SEEED is wading through there docs. I am redoig my game cameras using SEEED XIAO esp32-s3-sense and I might add HaLo or LoRa from them as well.
Here is a link to one solution LINK and here is a slightly different solution LINK. The specs mention 5uA but message them for link to ALL the power specs for both solutions. The 2nd board is a different but supported processor, the nrf52840. I installed the boards package with the most supported devices (last one). Contact SEEED support for clarification.
This is an advanced project. You would be better to start with the Arduino Cookbook. You will also need significant coding skills and hardware knowledge.
Good luck.