🛠 Battery optimization via M5PM1

PaperDIY Assembly Kit (M5Stack) · intermediaire · Techniques de gestion de l'énergie sur la puce M5PM1 pour maximiser la durée de vie de la batterie 140mAh.

  1. Context: The 140mAh battery is small. ESP32-S3 consumes significantly during activity. The M5PM1 chip manages voltage rails and sleep modes. 2. Configuration: Access M5PM1 registers via I2C. Enable ESP32-S3 Deep Sleep mode when the screen is static. E-paper screens retain images without power, unlike LCDs. 3. Sleep strategy: Write a routine that, after 30 seconds of inactivity, disables backlight (none here) and puts ESP32 into Deep Sleep. Configure a timer or physical button for wake-up. 4. Peripheral management: Disable WiFi and Bluetooth 5.0 LE via esp_wifi_deinit() and bt_deinit() before sleeping. These modules consume several mA continuously. 5. Microcontroller: Use esp_sleep_enable_timer_wakeup() for periodic wake-ups (e.g., weather update every 15 min). Adjust CPU frequency to 80MHz in light sleep if needed. 6. Verification: Measure sleep current with a multimeter in series with the battery. Target < 50µA in Deep Sleep. Test simulated battery life by displaying a static image for 1 hour. 7. Deepening: Implement adaptive refresh logic based on ambient brightness (if sensor added) or time of day to reduce screen update frequency.

Other tutorials for this board

← Back to the board 🛠 All tutorials