Ende letzten Jahres kündigte Espressif bereits den ESP32-C3 an – einen kostengünstigen, RISC-V-basierten Mikrocontroller mit Wi-Fi- und Bluetooth 5 (LE)-Konnektivität für sichere IoT-Anwendungen.
Der ESP32-C3 ist eine 32-Bit-Single-Core-MCU auf RISC-V-Basis (RV32IMC) mit 400 KB SRAM, die mit bis zu 160 MHz getaktet werden kann. Neben integriertem 2,4-GHz-WiFi und Bluetooth 5 (LE) mit Long-Range-Unterstützung verfügt der ESP32-C3 über 22 GPIOs mit Unterstützung für ADC, SPI, UART, I2C, I2S, RMT, TWAI und PWM. Das ausführliche ESP32-C3-Datenblatt finden Sie hier.
Nun ist seit November reichlich Zeit vergangen und Module auf Basis des ESP32-C3 sind jetzt bestellbar.
Bei Schukat habe ich ein ESP32-C3-DEVKITM-1 und ein ESP32-C3-DEVKITC02 zu je € 9.65 bestellt. Andere Distributoren hatten wesentlich längere Lieferzeiten.
Beide DevKits unterscheiden sich nur durch das jeweils eingesetzte ESP32-C3-Modul und die resultierende Pinbelegung.
Das im ESP32-C3-DevKitM-1 eingesetzte ESP32-C3-MINI-1 ist ein universelles Wi-Fi- und Bluetooth LE-Kombimodul mit einer PCB-Antenne. Kern des Moduls ist ESP32-C3FN4 mit 4 MB embedded Flash Memory. Da das Flash Memory im ESP32-C3FN4-Chip verpackt ist hat das ESP32-C3-MINI-1 ein kompakteres Gehäuse.
ESP32-C3-DevKitM-1 Pin Mapping
Das im ESP32-C3-DevKitC-02 eingesetzte ESP32-C3-WROOM-02 ist ebenfalls ein universelles Wi-Fi- und Bluetooth LE-Kombimodul mit einer PCB-Antenne. Das Flash Memory ist ein externes 4 MB SPI-Flash.
ESP32-C3-DevKitC-02 Pin Mapping
Sollten Sie noch nicht mit RISC-V konfrontiert worden sein, dann hilft Ihnen vielleicht die in der Zeitschrift Design&Elektronik veröffentlichte Übersicht weiter:
Wenn meiner Bestellung von Schukat eintrifft , werde ich erste Tests und Benchmarks in der mittlerweile ebenfalls vorhandenen Arduino-Umgebung vornehmen und darüber berichten.
Den dort enthaltenen Benchmark habe ich in meine Benchmark-Übersicht mit aufgenommen.
Aus Sicht des Anwenders möchte ich seinem Schlussgedanken zustimmen:
„Aber es ist schön, RISC-V-Kerne in mehr Geräten zu sehen, nicht zuletzt, weil die standardisierte Befehlssatzarchitektur – die im Wesentlichen einem Standardsatz von maschinensprachlichen Befehlen gleichkommt – das Schreiben von optimierenden Compilern einfacher und schneller macht. Für den Endbenutzer ist das nicht so wichtig, aber wenn es Espressif durch das Einsparen von IP-Lizenzgebühren ermöglicht, ein moderneres Peripherieset zum ESP8266-Preis hinzuzufügen, dann sind wir alle dafür.“
An manchen Stellen wird der ESP32-C3 schon als ESP8266-Killer bezeichnet. Das bleibt abzuwarten, noch muss sich dieser neue Mikrocontroller erst behaupten.
Schon heute setzen wir uns mit zunehmender Tendenz mit automatisierten Abläufen, Algorithmen und vernetzten Gegenständen im Alltag auseinander. Künstliche Intelligenz wird Prozesse unterstützen und möglicherweise auch irgendwann autonom übernehmen.
Auf diese Entwicklungen vorbereitet zu sein, um sie zu beherrschen, zu gestalten und weiter zu entwickeln bedarf es mehr als einen IT-Grundkurs im Gymnasium oder Studium. Wichtig ist es, die Chance zu haben, in diese Welt und das damit verbundene Denken hineinzuwachsen.
In einigen Ländern wurde das frühzeitig erkannt und durch entsprechende Initiativen gefördert. Die Idee ist, jedes Kind zu inspirieren, seine digitale Zukunft zu gestalten und die Maker-Bewegung in den Unterricht zu bringen.
Im Schweizer Lehrplan 21 wird der heutigen Lebenswelt von Kindern und Jugendlichen entsprochen, die „durchdrungen (ist) von traditionellen und digitalen Medien sowie von Werkzeugen und Geräten, die auf Informations- und Kommunikationstechnologien basieren und die durch ihre Omnipräsenz neue Handlungsmöglichkeiten und neue soziale Realitäten schaffen“ (https://v-fe.lehrplan.ch/index.php?code=e|10|2). Abgestimmt mit dem Lehrplan 21 steht mit der Oxocard ein mit WiFi ausgestatteter Computer zur Verfügung, der auch bereits über den Browser programmiert werden kann. Auch in Deutschland und Grossbritannien werden solche Aktivitäten durch Hard- und Software für den Einsatz in der Schule unterstützt.
„Unser Anspruch ist, dass jeder Schüler und jede Schülerin in der dritten Klasse in Deutschland so ein Ding in die Hände bekommt“, sagt Stephan Noller, einer der Gesellschafter von Calliope. „Es soll nicht irgendein Leuchtturmprojekt in Berlin-Wedding werden, sondern wir wollen in die Fläche – und zwar jedes Jahr von Neuem.“
So unterschiedlich die Angebote sind, eines haben sie gemeinsam: Sie werden von Menschen organisiert, die mit großer Begeisterung ihr Wissen rund um Programmierung und digitale Themen an Kinder und Jugendliche weitergeben. Bei den Machern um BBC micro:bit, Calliope mini und Oxocard ist diese Begeisterung zu spüren.
Ich möchte mich hier auf den technischen Bereich beschränken. Für ideologische Auseinandersetzungen sind andere besser geeignet.
Die folgende Tabelle zeigt eine Gegenüberstellung der technischen Merkmale der drei hier betrachteten Mikrocontrollerboards.
Mikrocontroller Board
BBC micro:bit
Calliope mini
Oxocard
Herkunft
UK
D
CH
Hauptmerkmale
Nordic nRF52833, BLE, Radio Motion Sensor (ST LSM303AGR) 5×5 LED Matrix Display (rot) 2 Taster 19 GPIO Piezo-Lautsprecher MEMS Mikrofon USB Micro B Anschluss (Programmierung und Stromversorgung) JST Batterieanschluss (3.3V) Temperatursensor (on-chip NRF52)
Nordic nRF51822, BLE, Radio Motion Sensor (Bosch BMX055) 5×5 LED Matrix Display (rot) DC Motortreiber (TI DRV8837) Piezo-Lautsprecher MEMS Mikrofon Neopixel (WS2812b) 2 Taster 8-11 GPIOs, PWM, 4 x analog UART + SPI + I2C USB Micro B Anschluss (Programmierung und Stromversorgung) JST Batterieanschluss (3.3V) 2 Grove Stecker (I2C + Seriell/Analog)
Espressif ESP32, BLE, WiFi Motion Sensor (ST LIS3DE) 8×8 Neopixel Matrix Kopfhörerbuchse für 8bit-Audioausgabe (mono) Mikrofon (PDM) NeoPixel Data-Out 6 Taster 6 GPIOs UART + SPI + I2C USB Micro B Anschluss (Programmierung und Stromversorgung) LiPo-Akku Anschluss für Grove I2C-Hub Temperatursensor (on-chip LIS3DE)
Programmier- umgebungen
MakeCode, MicroPython, JavaScript
MakeCode, Swift, abbozza! Calliope (basiert auf Blockly), C/C++ (Segger), MicropPython
Blockly, Oxoscript, Arduino (C/C++), MicroPython.
BBC micro:bit, Calliope mini, Oxocard – im Vergleich
Wie aus den Hauptmerkmalen abzuleiten ist, stellen alle drei Boards eine vergleichbare Infrastruktur bereit. Auf markante Unterschiede will ich im Folgenden eingehen. Eine Betrachtung der Ausgangsversionen von BBC micro:bit und Calliope mini hatte ich in einer früheren Veröffentlichung (https://www.elektroniknet.de/embedded/hardware/mikrocontroller-nicht-nur-fuer-die-schule.150415.html) bereits vorgenommen.
Herausstechendes Merkmal beim BBC micro:bit ist seine an der Unterkante des Boards befindliche als Goldfinger bezeichnete Anschlussleiste. Hier können zahlreiche Erweiterungsboard direkt angeschlossen werden. Einen guten Überblick zu diesen Erweiterungen finden Sie unter https://shop.pimoroni.com/collections/micro-bit-uk.
BBC mirco:bit v2
Beim Calliope mini wollte man den Goldfinger nicht übernehmen, da wegen der viel zu eng liegenden Kontakte im Schuleinsatz mit ständigen Kurzschlüssen durch die Schüler gerechnet werden müsste. Es wurden auf dem Board Erweiterungen, wie RGB-LED (Neopixel) und Motortreiber (H-Brücke) u.a., vorgesehen. Zusätzlich stellen die beiden Grove-Connectoren einen I2C-Bus, einen UART-Anschluss sowie einen analogen Eingang zur Kontaktierung von Sensoren oder Aktoren des umfangreichen Grove-Systems zur Verfügung. Eine gute Übersicht zum Grove-System bietet ein Grove Wiki von Seeedstudio (https://wiki.seeedstudio.com/Grove_System/).
Calliope mini v2
Die Oxocard geht einen etwas anderen Weg. Die elektronischen Interna sind gut verpackt in einem Kartongehäuse. Durch den Einsatz eines ESP-32 steht neben BLE auch WiFi zur Verfügung, wodurch Internet-Konnektivität gegeben ist. Durch diese Option ist es möglich IoT-Projekte zu realisieren. Der LiPo-Akku sorgt dann für einen gewissen Zeitraum sogar für autonome Einsatzmöglichkeiten ohne externe Spannungsversorgung.
Nach außen hin stehen die sechs Taster und die 8×8 Neopixel Matrix für Experimente zur Verfügung. Durch die Verwendung der internen Sensoren kommt der Anwender erstmal vollkommen ohne elektrische Verbindungen nach außen aus.
Kommuniziere Meldungen zwischen Oxocards, hol dir Daten aus dem Internet oder stelle deine Karte als Sensor anderen zur Verfügung. All das ist ohne Erweiterungen möglich.
Oxocard mit Kartongehäuse
Für den Maker von Interesse sind natürlich die Erweiterungsmöglichkeiten. Ergänzend zum Lieferumfang der Oxocard ist der OXOCARD i2C-Hub-Erweiterungsport verfügbar.
Lieferumfang Oxocard
Der Oxocard I2C Hub ist ein kleiner Bausatz, um der Oxocard relativ einfach das Anschließen von beliebigen I2C-Grove- Komponenten zu ermöglichen. Mit diesem I2C-Hub können Sie die Oxocard mit zusätzlichen GROVE-kompatiblen Sensoren und Aktoren erweitern. Außerdem kann über eine Buchsenleiste der SPI-Port nach außen geführt werden.
SPI- und I2C-Bus an der Oxocard
Mit diesen Erweiterungsmöglichkeiten ist die Oxocard ein für den Schulbetrieb geeigneter, komplett ausgestatteter und erweiterbarer Mikrocontroller, der als einziger Internet-Zugriff aufweist.
Allen drei vorgestellten Boards gemeinsam ist neben der grafischen Programmierung in MakeCode resp. Blockly die Programmierung in MicroPython.
In der fünften Generation sorgt RISC für Aufsehen – auf Grund des Open-Source-Ansatzes. In kurzer Zeit wuchs mit RISC-V eine Community, die auf Basis des neuen Befehlssatzes Prozessorkerne entwickelt hat.
Einen Blick auf RISC-V und die ersten RISC-V SoCs finden Sie in ELEKTRONIK 18/2020 auf den Seiten 40 bis 44.
Für die Datenübertragung über Funknetze steht mit SubGHz Meshnet eine interessante Alternative zum verbreiteten LPWAN bereit.
Wo liegen Unterschiede und mögliche Vorteile? Harald Naumann nimmt im gleichnamigen Beitrag einen direkten Vergleich vor und hilft mit einem detaillierten Blick hinter die Funktionsweise Ihrem Fachwissen auf die Sprünge.
Mehr zum Thema LPWAN und SubGHz Meshnet können Sie zum Seminar mit dem Titel „LPWAN und energiearme Alternativen“ am 24.09.2020 in Reichwalde bei Berlin erfahren. Die Seminaragenda fin den sie hier.
Der Longan Nano von Sipeed baut auf dem 32-Bit-RISC-V-Mikrocontroller GD32VF103CBT6 von GigaDevice auf und weist dadurch ein 12-Bit-ADC & DAC-Subsystem auf (2 x ADC, 2 x DAC).
Die Angaben im Datenblatt des GD32VF103CBT6 beschränken sich auf Kennwerte der DACs, die als „(1) Based on characterization, not tested in production“ gekennzeichnet sind. Für den ADC fehlen diese Daten ganz.
Vom DAC0 (PA4) wird eine analoge Ausgangsspannung bereitgestellt, die dann vom ADC0 (PA3) gemessen und zur Anzeige gebracht wird. Es genügt also eine Verbindung der beiden Anschlüsse PA3 und PA4 am Longan Nano.
Longan Nano
Mit einfachen Messmittel gestaltet sich eine Aussage über die Genauigkeit des DAC nicht ganz einfach, wie das folgende Bild zeigt.
Longan Nano DAC-Charakteristik
Aufgetragen ist die Abweichung der gemessenen Ausgangsspannung von der Idealkennlinie. Bei einem Spannungswert von 0.8 mV für das LSB ist ein hochauflösendes Digitalvoltmeter erforderlich. Mit einem üblichen Multimeter sind alle Messwerte über 2.2 V wegen zu geringer Auflösung unbrauchbar. Im Bereich unterhalb diese Wertes zeigt die DAC-Charakteristik aber Werte der Ausgangsspannung die allesamt im Bereich von +/- 2 LSB liegen. Die Angaben im Datenblatt können damit (zumindest in diesem Bereich) als messtechnisch bestätigt betrachtet werden.
Durch die Verbindung der beiden Anschlüsse PA3 und PA4 am Longan Nano kann nun der ADC0 die Spannungen des DAC0 erfassen. Das Programm LonganNano_ADC_DAC dient dem Erzeugen der Daten, die die DAC-ADC-Charakterstik beschreiben.
Ausgabe des Programms LonganNano_ADC_DAC
Die Abweichungen vom erwarteten Idealverhalten liegen bei maximal 10 mV.
Das DAC-ADC-Subsystem des Longan Nano (GD32VF103) zeigt damit wesentlich bessere Eigenschaften, als das des ESP32, wodurch bei weniger kritischen Anwendungen auf den Einsatz eines externen ADCs verzichtet werden kann.
Longan Nano von Sipeed ist ein kleines Evaluationboard auf Basis eines 32-Bit-RISC-V-Mikrocontrollers GD32VF103CBT6 von GigaDevice. Für Studenten, Ingenieure, Geeks und Enthusiasten ist das eine Möglichkeit, um auf die neueste Generation von RISC-V-Prozessoren zuzugreifen.
Sipeed Longan Nano wird aktuell nicht durch die Arduino IDE, wohl aber durch PlatformIO unterstützt.
Auf die Installation selbst gehe ich an dieser Stelle nicht ein. Hierzu gibt es einen sehr guten Beitrag von Michel Deslierres.
Der Sipeed Longan Nano bietet zwei Möglichkeiten für den Programm-Upload. Auf der rechten Seite befindet sich ein USB-C-Anschluss über den kann mit dem Tool DFU-Util das compilierte Programm zum Controller geladen werden. Die andere Möglichkeit ist die an der linken Seite herausgeführte serielle Schnittstelle (UART0).
Ich habe diese Möglichkeit verwendet, da ich die seriellen Ausgaben über dieses Port vorgenommen habe. Wie im Bild unten gezeigt bedarf es eines USB-TTL-Konverters, der Tx und Rx sowie 3.3 V und GND zur Verfügung stellt.
Das Programm LonganNano_HelloWorld dient dem Test der Inbetriebnahme von PlatformIO IDE und erstem Programm. LonganNano_LCD zeigt die Ausgaben auf dem Onboard-LCD und LonganNano_Dhrystone liefert die Ergebnisse des Dgrystone-Benchmarks.
Serielle Kommunikation & Programm-UploadAnzeige des Sipeed-Logos
Serielle Ausgabe Programm LonganNano_HelloWorld
Serielle Ausgaben des Dhrystone Benchmarks
Mit einem VAX MIPS Rating von 91 liegt der hier eingesetzte RISC-V Controller deutlich oberhalb der Cortex-M3 von ARM. Vergleichen Sie die Benchmark-Resultate für verschiedene Mikrocontroller von 8-Bit bis 64-Bit unter https://ckarduino.wordpress.com/benchmarks/.
Seeeduino XIAO ist das kleinste Arduino-kompatible Board in der Seeeduino-Familie. Basis des XIAO ist ein Microchip-SAMD21 (ARM Cortex-M0+ CPU (SAMD21G18)). Der Controller weist 256 KB Flash Memory und 32 KB RAM auf und wird mit 48 MHz getaktet.
Aus dem Pinout des Seeeduino XIAO ist die Ausstattung des kleinen Boards mit Schnittstellen ersichtlich. Durch den mit 48 MHz getakteten Cortex-M0+ weist das kleine Board eine gute Performance auf. Der Dhrystone Benchmark liefert einen Wert von 41589 Dhrystone/sec und das VAX MIPS Rating beträgt 23.67. Für raumsparende Aufbauten und Wearables ist das Board sehr geeignet, wenn auch die On-Board LEDs und die Stromaufnahme von ca. 350 uA im Sleep Mode weniger optimal sind.
ATOM Matrix und ATOM Lite sind ESP32-Entwicklungsboards mit einer Größe von nur 24 * 24 mm. Zum Einsatz kommt ein ESP32-PICO-Chip, der WiFi und Bluetooth für die Kommunikation bietet und über 4 MB integrierten SPI-Flash-Speicher verfügt. Für die IO-Erweiterung steht ein Grove-Port zur Verfügung. Über 6 GPIOs können beide Boards mit externen Sensoren und Aktoren verbunden werden. Die integrierte Typ-C-USB-Schnittstelle ermöglicht das schnelle Hochladen und Ausführen von Programmen
ATOM-Lite bietet eine Infrarot-LED, eine RGB-LED, Tasten und eine PH2.0-Schnittstelle.
ATOM-Matrix verfügt über einen integrierten IMU-Sensor (MPU6886) und eine 5 * 5 RGB-LED-Matrix, die sich sehr gut zu farbigen Signalisationszwecken eignet.
Nach langer Wartezeit, aber doch noch vor der Embedded World 2020 ist mein Beitrag „Neustart mit RISC-V“ in der Zeitschrift Design & Elektronik 1/2020 S.29-35 erschienen.
Entwicklungsboard SiFive HiFive 1 Rev. B im Arduino Uno-Formfaktor
Damit sich eine neue Befehlssatzarchitektur für Controller oder Prozessoren durchsetzt, ist viel Aufwand erforderlich. Hardware-Hersteller müssen überzeugt, Entwicklungswerkzeuge angepasst und Entwickler eingearbeitet werden. Entsprechend selten kommt ein neuer Befehlssatz auf den Markt. Aber RISC-V hat die Anfangshürden genommen und ist auf dem Weg zum Erfolg.
Die RISC-V FOUNDATION finden Sie auf der Embedded World 2020 in Halle 3A Stand 536.
Calista Redmond (CEO, RISC-V Foundation) spricht über Neuigkeiten bei RISC-V:
Das ist neu bei RISC-V Datum: 26.02.2020 Uhrzeit: 16:10 – 16:30 Uhr Ort: Markt&Technik VIP-Bühne, Halle 3A, 3A-502