Micro-contrôleur ESP8266 / ESP32

L’ESP8266 et l’ESP32 sont des circuits intégrés à microcontrôleur avec connexion Wi-Fi & Bluetooth développé par le fabricant chinois Espressif.
Les circuits sont programmables sous différents langages, logiciels ou par des firmwares alternatifs.
Les 2 modèles que nous étudions sont proposés par leurs capacités à créés des IoT maillés et leur prix d’achat très intéressant pour le grand public , surtout dans un milieu pédagogique.

Caractéristiques de l’ESP8266

L’ESP8266 est décliné en plusieurs variantes. Un exemple de caractéristiques est indiqué ci-dessous :

  • 32-bit RISC CPU: Tensilica Xtensa LX106, 80 MHz ;
  • 64 Kio de RAM instruction, 96 Kio de RAM data ;
  • QSPI flash externe – 512 Kio à 4 Mio (supporte jusqu’à 16 Mio) ;
  • IEEE 802.11 b/g/n Wi-Fi ;
    • TR switch intégré, balun, LNA, amplificateur de puissance et matching network ;
    • Authentification par WEP ou WPA/WPA2 ou bien réseau ouvert
    • Certaines variantes supportent une antenne externe
  • 16 broches GPIO
  • Interfaces SPI, I²C ;
  • Interface I²S avec DMA (partageant les broches avec les GPIO) ;
  • UART sur des broches dédiées, plus un UART dédié aux transmission pouvant être géré par GPIO2 ;
  • 1 10-bit ADC

Les variantes ont toutes des spécificités. Certaines auront plus de broches de GPIO accessibles (entre 2 seulement pour l’esp8266 de base, et 11 pour un ESP12), d’autres auront plus de mémoire flash disponible (entre 512K, 1MB or 4MB suivant les versions choisies)

Caractéristiques techniques de l’ESP32

Les ESP32 comprennent notamment les caractéristiques techniques suivantes :

  • Processeurs :
    • CPU : Xtensa double-cœur (ou simple-cœur), microprocesseur LX 32 bits, fonctionnant à 160 ou 240 MHz et fournissant jusqu’à 600 DMIPS ;
    • coprocesseur ultra basse consommation (ULP) ;
  • Mémoire : 520 KiO SRAM ;
  • Connectivité sans-fil :
    • Wi-Fi : 802.11 b/g/n ;
    • Bluetooth : v 4.2 BR/EDR and BLE jusqu’à v 5.0 et v 5.1 ;
  • Interfaces de périphériques :
    • 12-bit Segmentation sur les DAC (SAR ADC) jusqu’à 18 canaux ;
    • 2 × 8 bit DAC ;
    • 10 × capteurs de touché (GPIO de capteur capacitif (en)) ;
    • 4 × SPI ;
    • 2 × interfacs I²S ;
    • 2 × interfaces I²C ;
    • 3 × UART ;
    • contrôleur hôte SD/SDIO/CE-ATA (en)/MMC/eMMC ;
    • contrôleur esclave SDIO/SPI ;
    • interface MAC Ethernet avec DMA dédié et support du protocole de temps précis IEEE 1588 ;
    • Bus de données CAN 2.0 ;
    • contrôleur infrarouge distant (TX/RX, jusqu’à 8 canaux) ;
    • Moteur PWM ;
    • LED PWM (jusqu’à 16 canaux) ;
    • Capteur à effet Hall ;
    • pré-amplificateur analogique ultra-basse consommation ;
  • Sécurité :
    • Standard de sécurité supportant complétement IEEE 802.11,incluant WPA/WPA2 et WAPI de WFA ;
    • Secure boot (démarrage sécurisé) ;
    • Chiffrement de la Flash ;
    • 1024-bit OTP, jusqu’à 768 bit pour les clients ;
    • Accélération matérielle du chiffrement : AES, SHA-2, RSA, elliptic curve cryptography (ECC), générateur de nombre aléatoire (en) (RNG) ;
  • Gestion de l’énergie :
    • low-dropout regulator (en) interne.
    • Domaines d’alimentation individuels pour le RTC
    • Alimentation en sommeil profond de 5 μA ;
    • Réveil depuis des interruption GPIO, timer, mesure ADC, interruption du capteur de touché capacitif.

Notre association propose des initiations sur la découverte, programmation, et réalisations pratiques d’objets connectés à partir de module ESP8266/ESP32.

Un pré requis sur la connaissance de l’Arduino est conseillée pour une bonne compréhension.