Denis Machard

My technical gists

Infrastructure background, developer mindset. I build things for pleasure.
    @github @mastodon @rss

    Le monde des microcontrolleurs ESP32

    Ma préférence pour des projets IoT

    ESP32-C3:

    • Avantages : Prix, processeur RISC-V, BLE, WiFi
    • Limitations : Moins de GPIO (11), moins de RAM (400 KB)

    ESP32-C6

    • Avantages : processeur RISC-V, WiFi 6, Zigbee, Thread/Matter

    Comparaison ESP32

    CaractéristiqueESP32 (V1)ESP32-S2ESP32-S3ESP32-C3ESP32-C5ESP32-C6ESP32-H2ESP32-P4
    ProcesseurXtensa Dual-Core 32-bit @ 240 MHzXtensa Single-Core 32-bit @ 240 MHzXtensa Dual-Core 32-bit @ 240 MHzRISC-V Single-Core 32-bit @ 160 MHzRISC-V Dual-Core 32-bit @ 300 MHzRISC-V Dual-Core 32-bit @ 160 MHzRISC-V Single-Core 32-bit @ 96 MHzXtensa Dual-Core 32-bit @ 360 MHz
    Année20162019202120212024202320232024
    Prix (DevKit)~4 - 6 €~4 - 5 €~6 - 9 €~3 - 5 €~6 - 8 €~5 - 7 €~5 - 7 €~15 - 20 €
    Bluetooth Classic✅ (4.2)
    Bluetooth LE✅ (4.2)✅ (5.0)✅ (5.0)✅ (5.4)✅ (5.3)✅ (5.3)✅ (5.3)*
    Zigbee
    Wi-Fi802.11 b/g/n802.11 b/g/n802.11 b/g/n802.11 b/g/n802.11ax (Dual-Band¹)802.11ax (Wi-Fi 6²)
    DAC (Audio Ana.)✅ (2x 8-bit)✅ (2x 8-bit)
    Deep Sleep (μA)~10 μA~20 μA~7 μA~5 μA~5 μA~7 μA~7 μA~8 μA
    Sécurité Mat.AES, RSA, SHAAES, RSA, ECCAES, RSA, ECCAES, RSA, ECCAES, ECC, DSAES, ECC, DSAES, ECC, DSAES, ECDSA, TEE
    RAM (SRAM)520 KB320 KB512 KB400 KB400 KB512 KB320 KB768 KB
    Flash4/8/16 MB4/8/16 MB8/16 MB4 MB4/8 MB4/8 MB4 MB16 MB
    GPIO3443451130301454
    ADC12 ch.20 ch.20 ch.6 ch.6 ch.6 ch.6 ch.Variable
    Consommation Active (mA)~85~80~100~45~50~40~20~200
    Thread / Matter
    USB Natif✅ USB OTGUSB OTG✅ Serial/JTAG✅ Serial/JTAG✅ Serial/JTAG✅ Serial/JTAGUSB 2.0 HS
    DatasheetLienLienLienLienLienLienLienLien

    ¹ Dual-Band : WiFi 6 sur deux bandes de fréquence (2.4 GHz + 5 GHz)
    ² Wi-Fi 6 : WiFi 6 (802.11ax) sur bande unique standard

    Définitions

    Flash

    La mémoire Flash est une mémoire non-volatile qui conserve les données même après extinction de l’appareil. Elle stocke le firmware et les données de l’application. La plupart des ESP32 proposent des variantes avec différentes capacités (4 MB, 8 MB ou 16 MB).

    USB OTG

    USB On-The-Go (OTG) permet à l’appareil de fonctionner à la fois en tant que maître USB (pour connecter des périphériques) et en tant que périphérique (pour se connecter à un ordinateur). C’est utile pour les applications nécessitant une plus grande flexibilité.

    JTAG

    Joint Test Action Group est un protocole de programmation et de débogage utilisé pour charger le firmware et accéder à des informations de débogage pendant le développement. Sur les ESP32 C, H et P, il est intégré via le port Serial/JTAG.

    RISC-V

    RISC-V (Reduced Instruction Set Computer - Five) est une architecture de processeur open-source basée sur le principe RISC. Contrairement à l’architecture Xtensa propriétaire, RISC-V offre une meilleure standardisation et une plus grande flexibilité.

    RAM (SRAM)

    SRAM (Static Random-Access Memory) est la mémoire vive utilisée pour stocker les variables, les structures de données et l’exécution du code en cours. Contrairement à la Flash, elle est volatile (perd ses données lors de l’extinction). Les ESP32 ont généralement 320 KB à 768 KB de SRAM.

    Sécurité Matérielle

    Les ESP32 intègrent des fonctionnalités de sécurité matérielle comme l’accélération cryptographique (AES, RSA, ECC), le hachage (SHA) et les éléments de sécurité (DS - Digital Signature, TEE - Trusted Execution Environment).

    ADC

    L’ADC (Analog-to-Digital Converter) convertit les signaux analogiques en valeurs numériques. Chaque ESP32 dispose de plusieurs canaux ADC pour mesurer des tensions analogiques provenant de capteurs. Par exemple, l’ESP32 V1 a 12 canaux ADC, tandis que les ESP32-C en ont 6.

    USB 2.0 HS

    USB 2.0 High-Speed est la version haute vitesse du standard USB 2.0, capable de communiquer à 480 Mbps. Seul l’ESP32-P4 dispose de cette interface native, offrant une bande passante considérablement plus élevée pour les transferts de données.

    Thread / Matter

    Thread est un protocole réseau maillé (mesh) basé sur 802.15.4, tandis que Matter est un standard IoT unifié pour la domotique. Contrairement à Zigbee (qui est aussi 802.15.4 mais avec un écosystème différent), Thread/Matter est orienté vers la maison intelligente moderne et offre une meilleure interopérabilité entre appareils. Les ESP32-C6 et H2 supportent nativement Thread et Matter.

    NVS (Non-Volatile Storage)

    NVS est un système de stockage persistant qui garde les données même après extinction. Il est utilisé pour sauvegarder les configurations, les paramètres WiFi, les clés de chiffrement, etc. Contrairement à la SRAM qui se vide, NVS permet de conserver des données critiques. C’est une partition de la mémoire Flash, généralement dimensionnée à 20-64 KB selon les besoins de l’application.

    Dual-Band 6 vs Wi-Fi 6

    • Dual-Band 6 : WiFi 6 (802.11ax) sur deux bandes de fréquence (2.4 GHz et 5 GHz). Offre plus de flexibilité et de débit.
    • Wi-Fi 6 : WiFi 6 standard, généralement sur une seule bande (2.4 GHz). Le C6 supporte WiFi 6 sur les deux bandes mais la notation “Wi-Fi 6” est simplifiée.
    propulsed by hugo and hugo-theme-gists