L’ULP est un coprocesseur à très faible consommation (Ultra Low Power) intrégré au MCU ESP32. Il s’agit donc d’un tout petit processeur qui fonctionne quasiment indépendemment des coeurs principaux et qui peuvent accéder aux GPIO, à certains périphériques et qui dispose aussi d’un contrôlleur I²C.
L’ULP est aussi capable de fonctionner alors que l’ESP32 est en mode deep-sleep. Dans ce mode, quasiment tous le MCU n’est plus alimenté, excepté le domaine RTC, dans lequel se trouve l’ULP. L’ULP est aussi capable de réveiller l’ESP32 (wake-up).
On pourrait envisager d’utiliser l’ULP pour effectuer une mesure de température et réveiller l’application si on dépasse un certain seuil, par exemple.
Programmer cet ULP semble donc très intéressant, mais malgré la documentation toujours très complète de Espressif, j’ai eu du mal à trouver un exemple simple et complet expliquant la programmation de ce coprocesseur.
Voici donc en détail un exemple ultra-simple : le traditionel « blink« , qui consiste à faire clignoter deux LEDs du kit WROVER-KIT V3!
Continuer la lecture de « ULP (ESP32) : un exemple simple »