ESP32-S31
(espressif.com)- Der ESP32-S31 ist ein Dual-Core-32-Bit-RISC-V-Mikrocontroller mit bis zu 320 MHz, der auf fortschrittliche IoT-Anwendungen mit Multiprotokoll-Konnektivität und umfangreicher HMI abzielt.
- Die Konnektivität umfasst 2,4-GHz-Wi-Fi 6, Thread und Zigbee auf Basis von IEEE 802.15.4, Bluetooth 5.4 LE und Bluetooth Classic sowie einen 1000-Mbps-Ethernet-MAC.
- System und Speicher bieten 60 GPIOs, eine MMU, 6,86 CoreMark/MHz, 512 KB SRAM, 250-MHz-8-Bit-DDR-PSRAM-Anbindung, gleichzeitigen Zugriff auf Flash und PSRAM sowie eine dedizierte SPI-Schnittstelle mit Unterstützung für High-Speed-Octal-SPI.
- HMI und Audio kombinieren DVP-Kamera, paralleles RGB/I8080/MOTO6800-LCD, JPEG-Codec, PPA und 2D-DMA, bis zu 14 Touch-Kanäle, LC3-basiertes LE Audio und hardwareseitige Bluetooth-Audio-Synchronisierung über Dual-I2S.
- Sicherheit und Software umfassen TRNG, RAM-basiertes PUF, Secure Boot, Flash- und PSRAM-Verschlüsselung, AES/RSA/ECDSA/ECC-Beschleuniger sowie TEE/APM und sollen mit ESP-IDF, ESP-Matter, ESP-BLE-AUDIO, ESP-GMF und ESP Private Agents zusammenarbeiten.
Überblick
- Der ESP32-S31 ist ein leistungsstarker Dual-Core-32-Bit-RISC-V-Mikrocontroller, der mit bis zu 320 MHz arbeitet und auf fortschrittliche IoT-Anwendungen mit umfassender Multiprotokoll-Konnektivität und umfangreicher Mensch-Maschine-Schnittstelle abzielt.
- Mit 60 GPIOs bietet er Flexibilität für komplexe Designs, die mehrere Funkprotokolle, verschiedene Display-Schnittstellen und eine breite Palette von Peripheriegeräten integrieren.
- Er eignet sich für Edge-AI- und Machine-Learning-Workloads und ist darauf ausgelegt, neuronale Inferenz, fortschrittliche Signalverarbeitung, Computer Vision und intelligente Audioanwendungen innerhalb der Effizienz einer Embedded-Plattform zu bewältigen.
Konnektivität und Rechenleistung
- 2,4-GHz-Wi-Fi 6 (802.11ax) zielt auf höhere Übertragungseffizienz und geringeren Stromverbrauch ab und ist damit eine geeignete Option für batteriebetriebene und dauerhaft verbundene Geräte.
- IEEE 802.15.4 ermöglicht die Protokolle Thread und Zigbee, während Bluetooth 5.4 LE LE Audio, Direction Finding und Bluetooth Mesh 1.1 unterstützt.
- Bluetooth Classic (BR/EDR) stellt die Kompatibilität mit bestehenden Audiogeräten und latenzarmen HMI-Anwendungen sicher, während der 1000-Mbps-Ethernet-MAC eine stabile kabelgebundene Hochbandbreitenverbindung bietet.
- Das System basiert auf einer Dual-Core-32-Bit-RISC-V-Architektur mit MMU und bietet 6,86 CoreMark/MHz Rechenleistung sowie 60 GPIOs.
- Ein Kern verfügt über einen 128-Bit-Datenpfad und SIMD-Befehle, um schnelle parallele Verarbeitung zu unterstützen.
- Der Speicher umfasst 512 KB SRAM, 250-MHz-8-Bit-DDR-PSRAM-Anbindung, gleichzeitigen Zugriff auf Flash und PSRAM sowie externe Speichererweiterung über eine dedizierte SPI-Schnittstelle mit Unterstützung für High-Speed-Octal-SPI-Modi.
HMI und Audio
- Der Kameraeingang nutzt eine 8- bis 16-Bit-DVP-Kameraschnittstelle, und das LCD unterstützt 8- bis 24-Bit-paralleles RGB, I8080 und MOTO6800.
- Unterstützt werden Konvertierungen zwischen RGB565, YUV422, YUV420 und YUV411; JPEG-Codec, PPA und 2D-DMA-Hardwarebeschleuniger steigern die Effizienz bei Bildverarbeitung und Display-Updates.
- Bis zu 14 kapazitive Touch-Erkennungskanäle ermöglichen Konfigurationen für Smart Displays, Video-Türklingeln, Multimedia-Panels sowie Anwendungen mit integrierter Touch-, Visual- und Audiofunktion.
- Bluetooth 5.4 LE Audio unterstützt hochwertiges stromsparendes Streaming auf Basis des LC3-Codecs und von Multi-Stream-Audio.
- Bluetooth Classic sorgt für Kompatibilität mit Kopfhörern, Lautsprechern und Fahrzeugsystemen, während die Dual-I2S-Controller durch hardwareseitige Bluetooth-Audio-Synchronisierung präzises Timing und geringe Latenz liefern.
Sicherheit
- Die hardwarebasierten Sicherheitsfunktionen richten sich an Anwendungen mit strengen industriellen Anforderungen.
- TRNG und RAM-basiertes PUF sind integriert und schaffen die Grundlage für Schlüsselgenerierung und Gerätesicherheit.
- Unterstützt werden Secure Boot, Verschlüsselung von Flash und PSRAM sowie Kryptobeschleuniger für AES-128/256, RSA, ECDSA und ECC.
- Eine ECDSA-basierte Digital-Signature-Peripherie schützt private Schlüssel vor Softwarezugriff, und TEE sowie APM ermöglichen Software-Isolation für die sichere Bereitstellung mehrerer Anwendungen.
Software und Produktressourcen
- Der ESP32-S31 soll über Espressifs Open-Source-IoT-Entwicklungs-Framework ESP-IDF, ESP-Matter für Matter-Geräte, ESP-BLE-AUDIO und ESP-GMF für Multimedia-Anwendungen unterstützt werden.
- Über die Plattform ESP Private Agents und die direkte Anbindung an allgemeine LLMs soll es möglich sein, Client-Geräte zu bauen, die AI-Agenten ausführen oder mit ihnen interagieren.
- Als Produktressourcen werden das ESP32-S31-SoC, das Modul ESP32-S31-WROOM-3 sowie die Entwicklungskits ESP32-S31-Korvo-1 und ESP32-S31-Function-Coreboard-1 aufgeführt.
1 Kommentare
Hacker-News-Kommentare
Espressif ist wirklich auf dem Vormarsch, und sogar SIMD-Befehle finden Einzug in die CPU
Für Embedded-Systeme ist ein RISC-V-Kern von großer Bedeutung. Denn für SoC-Kompilierung muss man nicht mehr halb kaputte proprietäre Toolchains und SDKs herunterladen, sondern ist fast bei einer einzigen Zeile wie
rustup target add riscv32imac-unknown-none-elfangekommenWer mit moderner Embedded-Entwicklung in Rust anfangen will, sollte sich https://kerkour.com/introduction-to-embedded-development-wit... und https://kerkour.com/rust-esp32-pentest ansehen
CAN-FD- und Motor-PWM-Module sind willkommen, aber nirgends ist die ADC-Wandlungszeit zu sehen. Für Motorsteuerung braucht man Wandlungszeiten unter 1µs, und nach etwa 15 Jahren Verzögerung ist man erst letztes Jahr von Festkomma auf Gleitkomma umgestiegen
imacim Architektur-Zielnamen stehtMit 3D-Druck, automatischer Teilebeschaffung, dem Schreiben passender Software und vielleicht sogar einem Roboterarm wäre ein Gerät toll, bei dem man die Teile wie in einen Briefkasten in eine hübsche Box auf dem Schreibtisch wirft. PROFIT
Ich wünschte, man würde nicht alles einfach ESP32 nennen. Der Übergang von ESP8266 und ESP8285 zu ESP32 war noch nachvollziehbar, aber inzwischen gibt es mehr als zehn Versionen mit unterschiedlichen Funktionen und Architekturen
Das ist ähnlich wie bei Threads zum Raspberry Pi Pico (RP2030/RP2350), in denen immer jemand mit der Single-Board-Computer-Version durcheinanderkommt
Wenn ich ESP32 höre, denke ich immer noch zuerst an den normalen ESP32 Classic, meist den WROOM-32E
Es sind nicht einfach über zehn unterschiedliche „Versionen“ mit verschiedenen Funktionen. Das Wort Version vermittelt stark den Eindruck, dass sich etwas im Laufe der Zeit schrittweise entwickelt und dann durch An- und Abflanschen von Modulen verwässert wird
Tatsächlich gibt es 4–5 Produktlinien, die dasselbe SDK, dieselbe Designphilosophie, Preisstruktur, Lieferkette und Supportkanäle teilen. Für Engineering-Teams, die Produkte entwickeln, ist jede davon sehr wichtig. Es geht nicht nur um Hobbyisten, auch wenn ich finde, dass man diese ebenfalls recht gut unterstützt
Innerhalb dieser Linien gibt es dann tatsächlich Versionen. Derzeit gibt es vor allem die Linien S, C, H und P, und der ESP32-S2 wird für neue Designs nicht mehr empfohlen; stattdessen sollte man den ESP32-S3 verwenden
Letztlich versteht man das am besten über die Frage: „Kann ich einen Chip mit dem Namen ESP32 auf ein PCB setzen und ihn mit demselben SDK programmieren?“
Für die RP2XXX-Mikrocontroller-Serie gilt im Grunde dasselbe. Wenn man Mikrocontroller und Single-Board-Computer verwechselt, ist das vielleicht einfach nicht der richtige Bereich für einen
Allgemeiner betrachtet lernt man schneller, wenn man bei so etwas nicht mit der Annahme startet: „Ich habe es schon verstanden, die anderen liegen falsch.“ Besser ist es, offen zu fragen; für Autodidakten ist gerade ein goldenes Zeitalter, aber nur für diejenigen, die sich ihre bescheidene Neugier lange bewahren
Ich baue mit WLED als Hobby LED-Art-Projekte, und WLED basiert ausschließlich auf der ESP32-Plattform. Es macht wirklich Spaß, und die Leistung dieser kleinen Boards sowie die Open-Source-Community überraschen mich immer wieder
Meine bevorzugte Controller-Plattform ist die QuinLED-Reihe. Sie bietet Stromverteilung, Spannungsregler, dicke Kupferleitungen, konfigurierbare Widerstände für Datenleitungen und Unterstützung für clevere Zusatzhardware und ist mit etwa 30–50 Dollar pro Controller günstig. quinled.info
<https://kno.wled.ge/> ist die WLED-Homepage, und ich halte das persönlich für eine der cleversten URLs überhaupt
Im Datenblatt sehe ich das BitScrambler-Peripheriegerät, und was die Flexibilität angeht, wirkt es dem PIO des Raspberry Pi Pico sehr ähnlich
Die Spezifikationen sehen gut aus, und man muss abwarten, wie lange es dauert, bis das Ganze als WROOM-Modul im bevorzugten Espressif-Formfaktor oder als kleines Development Board erscheint. Auch der Preis würde mich interessieren, aber bisher war es beeindruckend, dass ähnliche Preise von Generation zu Generation deutlich mehr geboten haben
Wenn man sich auf einen relativ schnellen RISC-V-Core und SIMD freut, ist auch der bereits verfügbare P4 einen Blick wert. Der Takt ist etwas höher, aber es gibt kein Wireless: https://products.espressif.com/#/product-comparison?names=ES...
Es gibt auch interessante Projekte, die DSP-Funktionen und integrierte Bildverarbeitung nutzen, um viele Pixeldaten zu verarbeiten; auf dem S31 dürfte Ähnliches möglich sein: https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...
Frühere Diskussion zur Ankündigung vor zwei Monaten: https://news.ycombinator.com/item?id=47561678
Es ist gut, dass derselbe Baustein wieder Wi‑Fi und kabelgebundenes Ethernet enthält
Allerdings fehlt nun die MIPI-Unterstützung, die es in der P4-Dual-Core-RISC-V-Linie gab
Diese kleinen Geräte sind wirklich faszinierend. Ich habe ein Side-Project, das ich irgendwann anfangen will: 32 SoCs oder eine kleinere Zahl von SoCs mit mehr Cores anzuordnen, sie über PCB-Leiterbahnen mit einem Ethernet-Hub zu verbinden und dabei einen oder mehrere übergeordnete Netzwerkports freizulassen, damit man mehrere Boards zusammenschalten kann
Jeder Core soll über einen 90-Grad-LED-Halter die rote LED an der Vorderseite des Boards einschalten
Ich würde gern 16 solcher Boards zu einem kleinen Connection-Machine-Würfel zusammenbauen
Wofür ich allerdings einen Cluster aus 512 sehr schwachen Servern verwenden würde, weiß ich nicht so recht. Wahrscheinlich, um zu lernen, wie man irrational viele Nodes verwaltet
Das Kernziel wäre herauszufinden, wie man so etwas programmiert und dabei ein Gleichgewicht zwischen Benutzerfreundlichkeit und Performance erreicht
Auch Ideen wie PSRAM-Übergänge gefallen mir. Jeder Core hätte dann sein eigenes PSRAM, aber benachbarte Cores könnten den Besitz untereinander austauschen
Bei einer Umsetzung mit dem ESP32 habe ich mich auch gefragt, was im Funkfrequenzband passieren würde. 512 Geräte in einem kleinen Raum würden sich schließlich gegenseitig anbrüllen
Ich begrüße die zunehmende RISC-V-Nutzung in der gesamten ESP32-Linie. Die früheren Xtensa-basierten Bauteile waren auch in Ordnung, aber mit RISC-V dürften Tools, Compiler-Support und das langfristige Ökosystem sauberer werden
Ich beschäftige mich ein wenig mit Musikinstrumenten und interessiere mich daher für Audioausgabe
Ich frage mich, wie es derzeit um Bluetooth-Audioausgabe auf Mikrocontrollern steht. Sind niedrige Latenzen und hohe Ausgabequalität möglich?
Wenn man auf solcher Hardware Wireless nutzen und die Latenz wirklich klein halten will, könnte man einen weiteren ESP32 einsetzen und direkt einen Bitstream zwischen beiden übertragen
Vor einigen Jahren wollte ich mit einem hochwertigen Windows-Laptop unterwegs ein Hobby-DAW-Kompositions-Setup aufbauen. Schon die reine BT-Audio-Latenz vom Laptop zu Kopfhörern oder Earbuds war unbrauchbar, und zusätzlich war auch die BT-MIDI-Controller-Eingabelatenz unbrauchbar. Zusammen war die Gesamtlatenz geradezu lächerlich
Damals war das Problem weithin bekannt und wurde oft beklagt. In einigen Technikblogs, darunter auch MSFT-Blogs, hieß es, dass es auf jeder Ebene des Stacks Probleme gebe – Treiber, Firmware, Silizium und so weiter – und dass an einer Behebung dieses End-to-End-Chaos gearbeitet werde
Die einzige brauchbare Windows-Lösung, die online erwähnt wurde, bestand darin, bestimmte nicht-Bluetooth-basierte Funkgeräte zu verwenden. Dass man einen dedizierten USB-Dongle an den Laptop stecken und entweder ein ganz bestimmtes Gerät oder einen Empfänger-Dongle wählen musste, der alle Geräte dieser Familie unterstützt, war einfach weniger attraktiv, als direkt ein Kabel zu benutzen
Seitdem habe ich etwa einmal im Jahr wieder nachgeschaut, aber noch immer keine Berichte über nennenswerte Fortschritte gesehen, und auch Diskussionen über laufende Arbeiten sind seltener geworden. Sehr enttäuschend. Auch bei der BT-Audioqualität scheint es keinen großen Fortschritt zu geben
Um Qualitätsverluste beim Audio zu vermeiden, muss man entweder bestimmte Geräte wählen, die proprietäre BT-Codecs unterstützen, oder auf nicht-Bluetooth-basierte Funk-Dongle-Hardware ausweichen. Es gibt zwar weiterhin Gespräche über bessere Audioqualität, aber es gibt keine klaren Anzeichen dafür, dass der Bluetooth-Audio-Standard künftig eine bessere Mindestqualität verbindlich machen wird
Falls es Informationen dazu gibt, dass sich unter Windows die Standardlatenz oder -qualität gewöhnlicher BT-Geräte – ob für Ein- oder Ausgabe – verbessert hat, würde ich das wirklich gern hören