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.
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 le 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 :
- Segmentation 12-bit sur les ADC (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, Cryptographie sur les courbes elliptiques (ECC), Générateur de nombres aléatoires (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.
Outils de développement
Il est notamment supporté par les outils de programmation suivants :
- Arduino IDE avec le module ESP32 Arduino Core[5] ;
- Espruino (en) ;
- FAUST, langage de programmation de traitement de données audio, utilisant son DSP[6] ;
- 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[7] ;
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.
- Cartes IoT TTGO
- 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[8]. L'échantillonnage utilisant l'ADC intégré peut être effectué via la plateforme de développement Arduino[9].
Il est notamment adapté à des synthétiseurs au format Eurorack, comme le CTAG-Strämpler[10],[11],[12].
Qun-synthesizer est un synthétiseur analogique portable, basé sur la carte ESP32-LyraT, fonctionnant avec la carte mère Nunomo[13].
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
- (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,
- (en) Jean-Luc Aufranc, « ESP32-C3 WiFi & BLE RISC-V processor is pin-to-pin compatible with ESP8266 », sur CNX-Software,
- (en) Jean-Luc Aufranc, « ESP32 Arduino 2.0.0 release adds ESP32-C3 and ESP32-S2 support », sur CNX-Sotware
- (en) « ESP32 Datasheet », Espressif Systems, (consulté le )
- Hendry 2019.
- (en) « DSP on the ESP32 With Faust », sur faust.grame.fr
- (en) « MicroEJ Now Supports ESP32 Chipsets | Espressif Systems », sur www.espressif.com (consulté le )
- (en) Bokontep, « esp32soundsynth », sur compte Bokontep sur Gihub
- (en) Ivan Voras, « Working with ESP32 Audio Sampling », sur Toptal.com
- (en) Robert Manzke, « Eurorack audio synthesis platform », sur Hackaday.io,
- (en) Lewin Day, « Eurorack Synth Module Runs On ESP32 », sur Hackaday,
- (en) rma-31, « ESP32 real-time audio synthesis platform », sur ESP32.com,
- (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, notice BnF no FRBNF45512787) (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