1 Punkte von GN⁺ 22 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • 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-elf angekommen
    Wer 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

    • SIMD-Befehle stimmen zwar, aber Hardware-Gleitkomma scheint zu fehlen. Die Beschreibung des CORDIC-Moduls weist ebenfalls auf Festkommarechnung hin, was auch dazu passt, dass Gleitkomma nirgends erwähnt wird
      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
    • Trotzdem ist man wieder am Ausgangspunkt, sobald man IP-Blöcke wie Wi‑Fi, Ethernet oder USB braucht
    • Ich frage mich, wofür das imac im Architektur-Zielnamen steht
    • Damit man die Projekte, die man sich mit dem ESP32 immer ausgemalt hat, auch wirklich alle bauen kann, braucht es so etwas wie Claude Code für Hardwareprojekte
      Mit 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 wollte Rust auf so einem Gerät ausprobieren, aber bei dem, was ich bisher auf der RISC-V-Seite gesehen habe, wirkte es seltsam, als wären ARM und RISC-V miteinander vermischt
  • 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 wirkt, als würde hier grundsätzlich missverstanden, wie eine Mikrocontroller-Produktfamilie aufgebaut ist
      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
    • Das ist ein Namensschema wie bei STM32, EFM32, GD32 usw.
    • Der Name steht für ESP-IDF-Kompatibilität
    • Andere Produktfamilien sind ähnlich. Es gibt STM32, und darunter viele Zwischenstufen vom Einstiegsmodell STM32C0 bis hin zu vollständigen Linux-Chips wie dem STM32MP2
    • Lustigerweise hast du gerade selbst das Entwicklungsboard Pico und dessen Chip RP2040 durcheinandergebracht
  • 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

    • Mich würde interessieren, welche Hardware du verwendest. Welche LEDs oder Matrizen kaufst du, und welches Modell von QuinLED-Controller nutzt du? Ich habe in letzter Zeit viel Spaß mit HUB75-Displays, daher würde ich mir gern auch andere Optionen und Projekte anschauen
    • Ich mache viele LED-Projekte, benutze aber einfach WS2812. Ich frage mich, wozu man einen Controller braucht. Geht es um hohe Helligkeit?
    • cr.yp.to/ ist auch eine ziemlich coole URL und gibt es schon sehr lange
  • Im Datenblatt sehe ich das BitScrambler-Peripheriegerät, und was die Flexibilität angeht, wirkt es dem PIO des Raspberry Pi Pico sehr ähnlich

    Bitweise Operationen können die CPU stark belasten, und DMA wurde ursprünglich genau dafür entwickelt, solche Arbeiten von der CPU zu entlasten. Deshalb integriert der ESP32-S31 zwei dedizierte Peripherieeinheiten namens BitScrambler. Diese Module sind dafür ausgelegt, das Datenformat bei Übertragungen zwischen Speicher und Peripherie umzuwandeln. Ein BitScrambler verarbeitet Übertragungen von Speicher zu Peripherie oder von Speicher zu Speicher, der andere ist ausschließlich für Übertragungen von Peripherie zu Speicher vorgesehen. Der BitScrambler kann die zuvor erwähnten bitweisen Operationen ausführen, ist in Wirklichkeit aber eine flexible und programmierbare Zustandsmaschine, die auch anspruchsvollere Umwandlungen durchführen kann.
    Hoffentlich ist es genauso nützlich wie das PIO des Pi Pico

  • 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...

    • Wenn der Preis ungefähr auf demselben Niveau bleibt, wäre das Preis-Leistungs-Verhältnis enorm. Vielleicht muss ich mein aktuelles Side-Project wieder aufschieben, um zu einem anderen Side-Project zurückzukehren, das ich wegen Optimierungsproblemen auf älteren ESP32s liegen gelassen habe
    • ESP32-S31-WROOM-3 sowie zwei darauf basierende Development Boards, das ESP32-S31-Function-CoreBoard-1 und das ESP32-S31-Korvo-1, sind bereits erschienen. Alle sind im offiziellen Aliexpress-Store von Espressif erhältlich
  • 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

    • Es wäre wirklich schön, wenn beides auf demselben Chip wäre
    • Ich frage mich, wie kabelgebundenes Ethernet auf solchen Chips technisch funktioniert. Läuft das über 8 dedizierte GPIO-Pins?
  • 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

    • Ich wollte schon immer mal eine n-cube-Maschine bauen. Persönlich mag ich den RP2350 lieber, und ich finde es ziemlich spannend, darüber nachzudenken, was man mit PIO↔PIO zwischen Chips machen könnte
      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?

    • Niedrige Latenz bei Bluetooth-Audio hängt vom Codec ab, und die besten Codecs sind proprietär
      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
    • Espressif-Produkte sind für Bluetooth-Audio nicht ideal. Die Unterstützung für Classic Bluetooth, das für Bluetooth-Audio noch meist gebraucht wird, ist uneinheitlich, und bei neueren Modellen fehlt sie teils ganz
    • Ich frage mich, ob es einen besonderen Grund für den Wunsch nach Wireless gibt. Soweit ich weiß, ist Bluetooth-Audio ziemlich miserabel, und ich würde es nicht für Musik verwenden wollen. Kabel ist einfach besser, und der Funkraum ist ohnehin schon überfüllt
    • Für ernsthafte musikbezogene Anwendungen würde ich zustimmen, dass Bluetooth unter Windows von der Audiowiedergabe bis zur MIDI-Eingabe eine Katastrophe ist
      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