Le véritable courant consommé par les ESP32

Setup utilisé pour mesurer le courant des ESP32

D'après la datasheet de l'ESP32, le courant consommé en mode deep sleep (RTC) est d'environ 10µA.

Datasheet de l'ESP32 | Courant en veille profonde

Nous avons utilisé un multimètre Matrehit Energy qui peut mesurer des courant à partir de 10nA. le lecteur trouvera plus de détails sur les pages relatives à chaque carte:

Ces mesures ont été faites avec les versions suivantes :

Nous avons utilisé un multimètre Matrehit Energy qui peut mesurer des courant à partir de 10nA.

Resultats

Le tableau suivant présente les résultats par ordre croissant de puissance consommée :

Carte Courant Puissance
ESP32-S3-DevKitM-1 @3.3V 31.7 mA 0.026mW
ESP32 FireBeetle DFR0478 @5V 10 µA 0.052 mW
ESP32 FireBeetle DFR0654 (Low Power Mode) @5V 11.6 µA 0.058 mW
ESP32 AZ-Delivery LOLIN32 @5V 12 µA 0.06 mW
ESP32 FireBeetle DFR0654 @5V 520 µA 2.7 mW
ESP32-DevKitC V4 @5V 3.8 mA 19 mW
ESP32 Thing Plus @5V 4.1 mA 20.5 mW

Code source

Le code source utilisé pour basculer en mode deep sleep est présenté ci-dessous. L'ESP32 reste 10 secondes en fonctionnement normal, puis bascule en mode deep sleep pendant 10 secondes avant de recommencer. Le code a pû être adapté pour chaque carte.

// Convert from microseconds to seconds
#define uS_TO_S_FACTOR 1000000ULL
// Duration of each cycle (deep sleep and wakeup)
#define TIME_TO_SLEEP  10      

// Setup() is call on startup and wakeup from deep sleep mode
void setup() {

  // Display a message in the console
  Serial.begin(9600);
  Serial.println("Wake up");

  // Turn the built-in LED on during wake up
  pinMode(LED_BUILTIN, OUTPUT); 
  digitalWrite(LED_BUILTIN, HIGH); 

  // TIME_TO_SLEEP seconds delais
  delay(TIME_TO_SLEEP*1000); 

  // Display a message before deep sleep
  Serial.println("Go to deep sleep");

  // Turn off and keep off the built-in led during deep sleep
  digitalWrite(LED_BUILTIN, LOW);   
  gpio_hold_en(GPIO_NUM_2); 

  // Set deep sleep duration
  esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); 

  // Switch to deep sleep mode
  esp_deep_sleep_start();  
}

void loop() {}

Conclusion

Si vous recherchez la carte ayant la plus faible consommation en veille profonde, de toutes les cartes que j'ai meusurée, c'est l'ESP32-S3-DevKitM-1 qui présente la plus faible consommation avec une puissance de 26µW.

Download

Voir aussi


Dernière mise à jour : 26/12/2023