ESP32

ESP32 est une série de microcontrôleurs de type système sur une puce (SoC) d'Espressif Systems, basé sur l'architecture Xtensa LX6 de Tensilica (en), intégrant la gestion du Wi-Fi et du Bluetooth (jusqu'à LE 5.0 et 5.1[1]) en mode double, et un DSP. C'est une évolution d'ESP8266.

ESP32
Développeur
Espressif Systems (d)
Fabricant
Date de sortie
Fonctions
Type

Le ESP32-C3, WiFi & BLE, est une variante, annoncée et sorti en novembre 2020, compatible broche à broche avec l'ESP8266, mais utilisant l'architecture RISC-V 32 bits plutôt que Xtensa[2]. Le support du développement via la plateforme et l'IDE d'Arduino est disponible depuis la bibliothèque ESP32 2.0.0[3].

Plus généralement, La série ESP32-C est basée sur RISC-V et la série ESP32-S sur Xtensa LX6.

Son support Wi-Fi et Bluetooth, en fait un système apprécié dans le domaine de l'internet des objets.

Ce SoC rencontre un certain succès depuis quelques années à la fois pour son coût, ses capacités et son intégration dans un nombre croissant de systèmes.

Caractéristiques techniques

Les ESP32 comprennent notamment les caractéristiques techniques suivantes[4] :

  • 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 :
  • Interfaces de périphériques :
  • Sécurité :
  • 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.
ESP32-S2
  • Comporte deux processeur Xtensa LX7 pouvant monter jusqu'à 240 Mhz
  • Un coprocesseur RISC-V est introduit pour le mode ULP.
  • Accélération matérielle du chiffrement
  • Il n'y a pas de fonctions BlueTooth
  • WiFi 2.4 Ghz (IEEE 802.11b/g/n)[5]
  • FPU
ESP32-S3
  • Comporte deux processeur Xtensa LX7 pouvant monter jusqu'à 240 Mhz
  • Accélération matérielle du chiffrement
  • Wifi 802.11 b/g/n, Bluetooth 5.0 LE
  • Un coprocesseur RISC-V est toujours présent pour le mode ULP[6].
ESP32-PICO-D4

Il s'agit d'un System on Package (système dans un paquet) et non d'un SoC[7].

  • Deux processeurs Xtensa LX6
  • 4MB SPI flash
  • WiFi 802.11 b/g/n/e/i, BT
  • consommation moyenne de 80 mA

Base RISC-V

Carte NodeMCU équipé d'un ESP32-C3-32S
ESP32-C3

Contrairement à ses prédécesseurs, le microcontrôleur principal est un unique cœur d'architecture RISC-V RV32IMC 400 Ko de SRAM intégré. . Il permet l'utilisation de ESP-IDF, basé sur FreeRTOS [8], à une fréquence maximum de 160 MHz[9]., il apporte cependant de meilleur performances qu'un seul cœur LX7 à 160 MHz[10].

  • 1 cœur RISC-V 32 bits jusqu'à 160 MHz
  • Accélération du chiffrement
  • WiFi 5.0 b/g/n 2.4 GHz, Bluetooth 5.0 LE
  • Extensions de chiffrement AES
ESP32-C5

Basé sur un cœur RISC-V pouvant monter jusqu'à 240 Mhz, ce module n'a pas d'unité d'accélération de chiffrement, mais gère par contre le WiFi 6.0 en double bande. Il permet l'utilisation de ESP-IDF, basé sur FreeRTOS[11].

  • 1 cœur RISC-V 32 bits jusqu'à 240 MHz
  • dual-band WiFi 6.0 802.11ax (largeur de bande 20MHz) en 2.4 GHz et 5.0 GHz, WiFi 4 802.11b/g/n (largeur 20MHz et 40MHZ), Bluetooth 5.0 LE
  • Sur circuit intégré : 400 Ko RAM, 384 Ko ROM
  • Capteur de température et système d'horloge temps-réel (RTC).
ESP32-C6

Comme le C3, il se base sur un processeur d'architecture RISC-V[12],[13].

  • 1 cœur RISC-V 32 bits jusqu'à 160 MHz
  • Accélération du chiffrement
  • IEEE 802.11ax (Wi-Fi 6) à 2.4 GHz, supportant une bande passante de 20 MHz dans le mode 11ax et 20 or 40 MHz de bande passante dans les modes 11b/g/n
  • Bluetooth 5.0 LE (2 Mbps)

Outils de développement et systèmes

Il est notamment supporté par les outils de programmation suivants :

  • ESP-IDF (développement en C, avec outils en Python, se base sur FreeRTOS, c'est le système de développement de base ;
  • Apache NuttX, système compatible POSIX, porté sur ESP32-C3 (RISC-V) uniquement.
  • Arduino IDE avec le module ESP32 Arduino Core[14], interface en Java, développement en C++ ;
  • Espruino (en) ;
  • ESPHome, spécialisé domotique, comportant une interface web pour l'interaction ;
  • FAUST, langage de programmation de traitement de données audio, utilisant son DSP[15] ;
  • Lua RTOS pour ESP32 ;
  • MicroPython, une variante pour l'embarqué du langage Python ;
  • mruby (en), une variante pour l'embarqué du langage Ruby ;
  • NodeMCU ;
  • MicroEJ[16] ;

Systèmes électroniques l'utilisant

IoT

  • Les Cartes IoT NodeMCU les plus récents utilisent ESP32-S à la place de ESP8266.
  • Le kit de développement modulaire M5Stack.
  • Les cartes IoT TTGO
  • Les cartes ESP32 d'uPesy[17]
  • Différents modules réseau sans fil, supportant LoRa, WiFi et Bluetooth, autonomes ou intégrés dans d'autres cartes de développement, telles que les cartes de Sipeed basés sur des processeurs RISC-V.

Synthétiseurs

L'ESP32 est adapté à la création des Synthétiseurs avancés, dont des synthétiseurs analogiques. Le langage FAUST ou la bibliothèque ESP32soundsynth permettent de faciliter le développement de synthétiseurs basés sur cette architecture[18]. L'échantillonnage utilisant l'ADC intégré peut être effectué via la plateforme de développement Arduino[19].

Il est notamment adapté à des synthétiseurs au format Eurorack, comme le CTAG-Strämpler[20],[21],[22].

Qun-synthesizer est un synthétiseur analogique portable, basé sur la carte ESP32-LyraT, fonctionnant avec la carte mère Nunomo[23].

Console de jeu portable

  • Hardkernel, a créé en 2018 Odroid-Go, une console de jeu portable à très bas prix basée sur cette puce.

Annexes

Notes et références

  1. (en) Jean-Luc Aufranc, « Posted on January 3, 2020 by Jean-Luc Aufranc (CNXSoft) - 13 Comments on Espressif Systems ESP32 Gets Bluetooth LE 5.0/5.1 Certifications Espressif Systems ESP32 Gets Bluetooth LE 5.0/5.1 Certifications », sur CNX-Software,
  2. (en) Jean-Luc Aufranc, « ESP32-C3 WiFi & BLE RISC-V processor is pin-to-pin compatible with ESP8266 », sur CNX-Software,
  3. (en) Jean-Luc Aufranc, « ESP32 Arduino 2.0.0 release adds ESP32-C3 and ESP32-S2 support », sur CNX-Sotware
  4. (en) « ESP32 Datasheet », Espressif Systems, (consulté le )
  5. « ESP32-S2 Family Datasheet v1.3 »,
  6. « ESP32-S3 Datasheet v1.1 »,
  7. (en) « ESP32-PICO-D4 System-in-Package Combines ESP32, 4MB SPI Flash, a Crystal Oscillator, and Passive Components », sur CNX-Software,
  8. (en) ESP32C3 Series - Datasheet, Espressif Systems, (lire en ligne)
  9. (en) ESP32-C3 Datasheet (lire en ligne)
  10. (en) Elliot Williams, « Hands-On: The RISC-V ESP32-C3 Will Be Your New ESP8266 », sur Hackaday,
  11. Jean-Luc Aufranc, « ESP32-C5 RISC-V IoT MCU supports dual-band WiFi 6, Bluetooth 5.0 LE », sur CNX-Software,
  12. (en) ESP32-C6 Datasheet (lire en ligne)
  13. (en) Kerry Scharfglass, « New Part Day: Espressif ESP32-C6 Includes WiFi 6 And A RISC-V Core », sur Hackaday,
  14. Hendry 2019.
  15. (en) « DSP on the ESP32 With Faust », sur faust.grame.fr
  16. (en) « MicroEJ Now Supports ESP32 Chipsets | Espressif Systems », sur www.espressif.com (consulté le )
  17. « Cartes uPesy ESP32 », sur uPesy Electronics (consulté le )
  18. (en) Bokontep, « esp32soundsynth », sur compte Bokontep sur Gihub
  19. (en) Ivan Voras, « Working with ESP32 Audio Sampling », sur Toptal.com
  20. (en) Robert Manzke, « Eurorack audio synthesis platform », sur Hackaday.io,
  21. (en) Lewin Day, « Eurorack Synth Module Runs On ESP32 », sur Hackaday,
  22. (en) rma-31, « ESP32 real-time audio synthesis platform », sur ESP32.com,
  23. (en) raspy135, « Qun-synthesizer », sur compte raspy135 sur Github

Bibliographie

  • (en) Agus Kurniawan, Internet of Things projects with ESP32 : build exciting and powerful IoT projects using the all-new Espressif ESP32, Birmingham, UK, Packt Publishing, (ISBN 9781789953121)
  • (en) Patrick Marchhart, ESP32 Light Controller, Grin Verlag (ISBN 9783668918344, OCLC 9783668918344)
  • (es) Pedro Bertoleti, Proyectos com ESP32 y LORA (ISBN 9788595680661, OCLC 1123096640)
  • (de) Udo Brandes, Erste Schritte: Eigene IoT-Lösungen mit dem ESP32 : Mikrocontroller, Internet und PC, Haar bei München Franzis, coll. « Mach's einfach », (ISBN 9783645606615)
  • (en) Iain Hendry, ESP32 Development using the Arduino IDE,
  • (sl) Jan Pleterski, Rok Vrabič et Peter Butala, Krmiljenje DC motorja z mikrokrmilnikom ESP32 : zaključna naloga univerzitetnega študijskega programa I. stopnje Strojništvo (OCLC 1016112028)
  • (en) Romain Michon, Daniel Overholt, Stephane Letz, Yann Orlarey, DominiqueFober, Catinca Dumitrascu, A Faust Architecture for the ESP32 Microcontroller, Turin, Sound and Music Computing Conference (SMC-20), (lire en ligne)

Avec MicroPython

  • Nicholas H. Tollervey, Programmer avec MicroPython : Programmation Python de systèmes embarqués à microcontrôleurs, Paris, O'Reilly / First éditions, , X-213 p. (ISBN 978-2-412-03746-1, BNF 45512787) (programmation en MicroPhython, avec notamment des exemples sur ESP32)
  • (en) Luca-Dorin Anton, MicroPython complete : the definitive guide to Python for microcontrollers using MicroPython and ESP32, Technics Publications, (OCLC 1122564653)
  • Portail de l’électricité et de l’électronique
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.