Hello,
I’m working on ESP32(basic one) on Espressif-IDF. I have coded all the Application parts needed for my project and is working fine. Now, I have to focus on Power Management. I was going through the Documentation provided by the ESP, which didn’t clarify my doubts, so posting this question.
Questions:
1. How can I make my ESP32 go into sleep mode? (One thing, I know is there are two sleep modes: a) Light Sleep Mode and b) Deep Sleep Mode)
2. Can I wake up my ESP32 using CAN/UART messages? (I’m running ESP32 on FreeRTOS, so the CAN/UART, I’m using is in Polling mode. Now if I want to wake up my ESP using CAN/UART, that has to be in Interrupt Mode or should generate Event[as per my limited knowledge], ie., WFI and WFE)
3. Which pins in the ESP32, should I be measuring to get the Voltage/Current Readings?
4. Please put some light on ULP. How to make use of it and its advantages?
Thanks in advance…
Hello,
Really good question about different sleep mode for ESP32 and your requirements for sleep mode perspective.
There are different sleep modes are available and provided into ESP32 which you can use as per your requirement but i suggest to use deep sleep mode if you are using battery as power source for your product.
So, Basically there are different wake up system like GPIOs, Timers and others to wake up from deep sleep mode but i suggest to use timer best as per your requirement in which you can define duration accordingly and no need to do any manual effort to wake up as it will be wake up once timers will be expired.
I think there is no any support to wake up using UART or CAN because into deep sleep mode only timers are alive while rest of interface and CPU are off to reduce overall power consumption.
Best link to understand into details
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/sleep_modes.html
Still let us know if you have any queries for the same.
Regards,
Ritesh Prajapati
Hi
I don’t know whether you have checked ESP IDF examples. If you are not checked please go through examples. there are examples for UART event, deep sleep and ADC(which measure voltage).
Thank you