Archiv der Kategorie: Hardware

Überwachung der Luftqualität in Innenräumen über CO2, eTVOC, eCO2 und iAQ

In der Vergangenheit habe ich mich mehrfach mit der Überwachung der Luftqualität in Innenräumen befasst.

Die Informationen zur Bewertung der Luftqualität habe ich in einer Sammlung von Beiträgen zusammengestellt, die Ihnen gerade in einer Zeit erhöhter Belastung durch über Aerosole übertragene Infektionskrankheiten den Zusammenhang von CO2-Konzentration und Infektionsrisiko vor Augen führen soll.

Geeignete Sensorik stelle ich Ihnen vor und vergleiche deren Resultate. Praktische Anwendungsbeispiele runden den messtechnischen Teil ab.

Mit dem hier vermittelten Wissen und den zur Verfügung stehenden Elektronikkomponenten (Sensoren, Mikrocontroller) kann der Maker leicht
eigene Lösungen zur Überwachung der Luftqualität implementieren.

Wegen der starken Verbreitung in der Maker-Szene habe ich hier auf
Arduino oder Arduino-kompatible Mikrocontroller gesetzt.

Hier finden Sie den Text als Flipbook.


2022-03-10/ck

M5Stack Stamp-C3U

Heute im Postkasten – M5Stamp-C3U.

Der M5Stamp-C3U basiert auf dem 32-Bit-RISC-V-Mikrocontroller ESP32-C3 – RV32IMC von Espressif und arbeitet mit einer maximalen Taktfrequenz von 160 MHz.

Heute geliefert – – M5Stamp-C3U.

Ein ESP32-C3-DEVKITM-1 und ein ESP32-C3-DEVKITC02 hatte ich zu je € 9.65 bei Schukat bestellt und im Juli 2021 getestet. Siehe hierzu meinen Blogbeitrag ESP32-C3 – RV32IMC von Espressif. Für $ 5.90 erhalten Sie die M5Stamp-C3U im M5Stack Store.

Interessant sind die verschiedenen Bestückungsvarianten (SMT, DIP, Flywire, Grove Interface), die durch das hoch-temperatur-beständige Plastikgehäuse gegeben sind. Mit diesem Gehäuse können die internen Komponenten einschliesslich der 3D-Antenne sehr gut geschützt werden.


2022-02-03/CK

Abgesetzter Wettersensor mit NB-IoT

Im Norden Deutschlands wird man schnell feststellen, dass die Abdeckung mit Gateways für TTS mit der in den Ballungszentren in der Mitte und im Süden Deutschlands in keiner Weise vergleichbar ist.

Was bleibt?

Entweder folgt man dem LoRaWAN-Community-Gedanken und nimmt ein eigenes Gateway in Betrieb und unterstützt die Community in Schwerin oder Rostock oder nutzt mit NB-IoT eine LPWAN-Alternative.

LoRaWAN ist eine verbreitete und unter bestimmten Bedingungen auch für jeden zugängliche Möglichkeit zur Übermittlung von Daten eines IoT-Knotens. Aber, LoRaWAN ist eine Möglichkeit und es gibt weitere, wie NB-IoT, Sigfox, LTE-M, Weightless, Symphony Link u.a.

Von den verfügbaren Technologien setzen sich LoRaWAN und NB-IoT deutlich ab. In der geschilderten Situation ist es also angebracht, sich auch mit NB-IoT auseinander zu setzen, um die Funktionen und Unterschiede der beiden Technologien zu verstehen.

LPWAN-Technologie NB-IoT

NB-IoT dient dem Senden und Empfangen kleiner Datenmengen (einige zehn oder hundert Bytes pro Tag), die von IoT-Geräten mit geringer Zahl an generierten Daten stammen. NB-IoT ist wie LoRaWAN nachrichtenbasiert, jedoch mit einer viel schnelleren Modulationsrate, die viel mehr Daten verarbeiten kann als LoRa.

NB-IoT ist für einfache Geräte gedacht, die über ein lizenziertes Frequenzspektrum eine Verbindung zu einem Betreibernetzwerk herstellen müssen.  Da NB-IoT-Geräte auf 4G (LTE)-Abdeckung angewiesen sind, profitieren sie von einer sehr guten Abdeckung und funktionieren in Innenräumen und in dichten städtischen Gebieten sehr gut. NB-IoT hat schnellere Reaktionszeiten als LoRaWAN und kann eine bessere Servicequalität garantieren.

Eine Gegenüberstellung der Hauptmerkmale beider LPWAN-Technologien zeigt die folgende Tabelle [1].

Technology ParametersLoRaWANNB-IoT
Bandwidth125 kHz180 kHz
Coverage165 dB164 dB
Battery Life15+ years10+ years
Peak Current32 mA120 mA
Sleep Current1 µA5 µA
Throughput50 Kbps60 Kbps
LatencyDevice Class Dependent<10 s
SecurityAES 128 bit3GPP (128 to 256 bit)
GeolocationYes (TDOA)Yes (In 3GPP Rel 14)
Cost EfficiencyHighMedium
LoRaWAN vs. NB-IoT [1]

Da NB-IoT auf 4G (LTE) angewiesen ist, ist der Anwender von NB-IoT auch an einen entsprechenden Provider gebunden, der die Netzabdeckung absichert. Für die deutsche Telekom und Vodafone sieht die Netzabdeckung für NB-IoT in Deutschland sehr gut aus, wenn es da auch noch Unterschiede gibt. Die folgende Abbildung zeigt die NB-IoT-Netzabdeckung der Telekom für Deutschland.

NB-IoT-Netzabdeckung der Telekom für Deutschland

Die NB-IoT-Abdeckung von Vodafone für Deutschland sieht ähnlich aus. Wenn Sie den angegebenen Links folgen, können Sie detaillierte Information für Ihre Umgebung erhalten.

Telekom (D)https://www.telekom.de/netz/mobilfunk-netzausbau
Vodafone (D)https://www.vodafone.de/hilfe/netzabdeckung.html
Swisscom (CH)https://scmplc.begasoft.ch/plcapp/pages/gis/netzabdeckung.jsf?netztyp=lte
A1 (A)https://www.a1.net/hilfe-support/netzabdeckung/frontend/main.html

Für die DACH-Region (D, A und CH) sind damit providerseitig alle Voraussetzungen für den Einsatz von NB-IoT gegeben. Roaming-Vereinbarungen, die beispielsweise von der Telekom mit zahlreichen Nachbarstaaten getroffen worden sind, ermöglichen einen länderübergreifenden Einsatz von NB-IoT.

Die für den NB-IoT-Zugriff erforderlichen SIM-Karten können von verschiedenen Anbietern bezogen werden. Ich verwende hier 1NCE (1nce.com) . Die 1NCE IoT Flat Rate ist ein Pre-Paid Modell für IoT Geräte.

Wettersensor mit NB-IoT

Für den Test von NB-IoT habe ich einen einfachen Wettersensor auf Basis einer M5Stack AtomDTU NB-IoT mit einem Atom Lite als Controller und einer M5Stack ENV.II Unit als Sensor aufgebaut.

Die ENV.II Unit umfasst einen SHT30 Sensor zur Messung von Temperatur und Luftfeuchtigkeit und einen BMP280 zur Messung von Temperatur und barometrischem Druck. Beide Komponenten werden über die Grove-Ports mit dem I2C-Bus miteinander verbunden.

Das über die Arduino IDE erstellte Anwendungsprogramm erfasst die Sensordaten und versendet diese über NB-IoT an einen MQTT Broker. Die Basis für das Anwendungsprogramm ist auf Github unter der URL https://github.com/m5stack/ATOM_DTU_NB/tree/master/examples/MQTT.

Die Beschreibung der AT-Kommandos für das im AtomDTU NB-IoT eingesetzte SIMCom SIM7020 Modul finden Sie unter [2] und [3].

Ich verwendet hier den HiveMQ Public MQTT Broker und greife auf die Daten über eine Webclient zu.

Die Messwerte für Temperatur, relative Luftfeuchtigkeit und barometrischen Druck werden abgefragt und einer nach dem anderen im Minutentakt versendet (published).

Im Webclient habe ich den Topic atomdtu/# abonniert (subscribed) und sehe damit jede versendete Nachricht incl. deren Time Stamp.

Haben Sie keinen WLAN-Zugang ins Internet und zum MQTT Broker, dann kann ein mobiler Zugriff vom Smartphone (hier über 4G) von einer MQTT Dashboard App aus erfolgen.

Mobiler Zugriff über MQTT Dashboard App

Referenzen


2022-01-19/CK

Flip Dot Status Indicator

Elektromagnetische Anzeigetechnologien ermöglichen die Anzeige von Informationen ohne Strom und deren Sichtbarkeit bei sehr unterschiedlichen Lichtverhältnissen.

Ich möchte hier nicht auf die eher betagten Anzeigen im Flughafen eingehen, sondern speziell auf Statusanzeigen (Flip Dot Status Indicators) eingehen, die sich auf Grund des nur während des Umschaltens auftretenden Strombedarfs auch für IoT-Anwendungen eignen.

Den hier eingesetzten Flip Dot Status Indikator hat mir die Fa. Alfa-Zeta Ltd. aus Łódź (PL) zur Verfügung gestellt.

Jede Scheibe enthält einen Permanentmagneten, der mit einem Elektromagneten zusammenwirkt. Ein kurzer Stromimpuls aktiviert eine Umkehr des im Elektromagneten induzierten Magnetfelds, die bestimmt, ob das Segment freigelegt (set) oder zurückgezogen (reset) wird.

Die für die Ansteuerung des Flip Dots notwendigen technischen Daten sind in der folgenden Tabelle zusammengestellt:

MerkmalWert
Pulsdauer Schaltvorgang1,5 ms
Strom für Schaltvorgang (min)250 mA
Strom nach erfolgtem Schaltvorgang0
Spannung4,5 V – 125 V
Spulenwiderstand (@20°C)12 Ohm
Technische Spezifikation Flip Dot Status Indikator

Beim hier verwendeten, zweipoligen Flip Dot wird das Umschalten des Status durch Richtungsänderung des kurzen Stromimpulses durch die Magnetisierungsspule erreicht. Über eine H-Brücke kann die Umschaltung der Stromrichtung im einfachsten Fall vorgenommen werden.

Ansteuerung Flip Dot Status Indikator

Durch Verwendung eines H-Brücken-Moduls ergibt sich die folgende Ansteuerung durch einen Mikrocontroller (hier ein Arduino Uno).

Die beiden Steuerausgänge müssen für einen Stromimpuls immer gegeneinander invertierte Signale führen, wie das leicht am einfachen Ansteuerprogramm zu erkennen ist. Das Programm selbst finden Sie wieder auf Github unter https://github.com/ckuehnel/Arduino2020/tree/master/Generic/FlipDot.

Ansteuerung Flip Dot Status Indicator über H-Brücke
/*
 * File: FlipDot.ino
 * 
 * Controlling Flip Dot Status Indicator by H-Bridge
 * short video: https://youtu.be/UxTjOamWLgs
 * 
 * 2021-12-01 Claus Kühnel info@ckuehnel.ch
 */
 
#define DEBUG 1

const int IN1 = 2;
const int IN2 = 3;

void setup() 
{
  Serial.begin(115200);
  delay(2000); // wait for serial monitor
  
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);

  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
}

void loop() 
{
  FlipDotOn();
  delay(2500);
  FlipDotOff();
  delay(2500);
}

bool FlipDotOff(void)
{
  if (DEBUG) Serial.println("FlipDot Off");
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  delayMicroseconds(1500);
  digitalWrite(IN1, LOW);
  return true;
}

bool FlipDotOn(void)
{
  if (DEBUG) Serial.println("FlipDot On");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  delayMicroseconds(1500);
  digitalWrite(IN2, LOW);
  return false;
}

2021-12-02/CK

Vermittlung digitaler Inhalte in der Schule

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

Ob man mit dem Calliope mini die vielleicht größtmögliche Umwälzung des deutschen Schulsystems in der Hand hält, wie Patrick Beuth in der Zeit im Beitrag „Dieser Computer kann unser Schulsystem revolutionieren“(http://www.zeit.de/digital/internet/2016-10/calliope-mikrocontroller-grundschule-dritte-klasse) schreibt, kann ich nicht beurteilen.

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.

Dass solche Projekte, wie so oft, nicht widerstandsarm umsetzbar sind, zeigen Diskussionen wie sie im Interview „An Calliope scheiden sich die Geister“ (https://www.deutschlandfunk.de/minicomputer-im-klassenzimmer-an-calliope-scheiden-sich-die.680.de.html?dram:article_id=399302) aufgeworfen werden.

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:bitCalliope miniOxocard
HerkunftUKDCH
HauptmerkmaleNordic 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 aussen 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 aussen aus.

Kommuniziere Meldungen zwischen Oxocards, hol dir Daten aus dem Internet oder stelle dein 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 Anschliessen von beliebigen I2C-Grove- Komponenten zu ermöglichen. Mit diesen I2C-Hub können Sie die Oxocard mit zusätzlichen GROVE-kompatiblen Sensoren und Aktoren erweitern. Ausserdem kann über eine Buchsenleiste der SPI-Port nach aussen 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 meinem MicroPython Blog https://ckmicropython.wordpress.com sind MicroPython Programmbeispiele für die Oxocard zu finden.


2021-04-05/ck

Massgeschneidert für IoT Anwendungen

Espressif’s ESP32 ist aus IoT Anwendungen kaum noch wegzudenken. Geringe Stromaufnahme, eine leistungsfähige CPU und WiFi- bzw. BLE-Connectivity sind der Schlüssel für den Erfolg in diesem Bereich.

Eine Vielzahl dieser Anwendungen setzt das ESP-WROOM-32x-Modul von Espressiff ein.

Die ESP32-WROVER Serie besticht durch einige Modifikationen der ESP32-WROOM-32x-Module, die unter anderem ein zusätzliches 8-MB-SPI-PSRAM (Pseudo Static RAM) enthalten.

Das zusätzliche PSRAM kann für Geräte mit einem Display sehr nützlich sein. Wenn der Grafiktreiber einen Framebuffer verwendet, können so mehr Farben unterstützt werden.

Für das maschinelle Lernen bietet TensorFlow Lite alle Tools, die Sie zum Konvertieren und Ausführen von TensorFlow-Modellen auf Mobil-, Embedded- und IoT-Geräten benötigen. Genügend Speicher sollte aber vorhanden sein und den kann ein ESP32-Wrover nun bieten (siehe Tabelle).

Zu Tensorflow Lite auf dem ESP32 finden Sie weitere Informationen unter https://towardsdatascience.com/tensorflow-meet-the-esp32-3ac36d7f32c7

ModuleChipFlash, MBPSRAM, MBAnt.Dimensions, mm
ESP32-WROOM-32ESP32-D0WDQ64MIFA18 × 25.5 × 3.1
ESP32-WROOM-32DESP32-D0WD4, 8, or 16MIFA18 × 25.5 × 3.1
ESP32-WROOM-32UESP32-D0WD4, 8, or 16U.FL18 × 19.2 × 3.1
ESP32-SOLO-1ESP32-S0WD4MIFA18 × 25.5 × 3.1
ESP32-WROVER (PCB)ESP32-D0WDQ648MIFA18 × 31.4 × 3.3
ESP32-WROVER (IPEX)ESP32-D0WDQ648U.FL18 × 31.4 × 3.3
ESP32-WROVER-BESP32-D0WD4, 8, or 168MIFA18 × 31.4 × 3.3
ESP32-WROVER-IBESP32-D0WD4, 8, or 168U.FL18 × 31.4 × 3.3
Key characteristics of ESP32 Modules (https://docs.espressif.com/projects/esp-idf/en/latest/hw-reference/modules-and-boards.html)

Aus Fernost werden mittlerweile unterschiedlich ausgestattet Module mit ESP32-WROVER-B angeboten.

Ein gerade für IoT-Anwendungen optimal angepasstes Board wird mit dem ESP32 ePulse Dev Board von der Schweizer Firma Thingpulse angeboten.

Das Board ist für geringen Stromverbrauch und einen breiten Eingangsspannungsbereich optimiert. Weitere technische Aspekte finden Sie im Beitrag Designing the ESP32 Dev Board I always wanted.

Der VIN-Pin akzeptiert Spannungen zwischen 3.3 V und 12 V DC. Wenn sich das Board im Tiefschlaf befindet, verbraucht es nur zwischen 25 uA (bei 3.3 V) und 35 uA (bei 12 V). Die meisten ESP32-Boards verbrauchen etwa 100 – 130 uA.

Thingpulse bietet das Board für $ 16.90 an https://thingpulse.com/product/epulse-thingpulse-esp32-devboard/. Early Birds bekommen es noch für $ 12.70.

M5StickC Handheld Thermometer

Der M5StickC hat einen internen LiPo-Akku mit einer Kapazität von 80 mAh, der dem mobilen Einsatz dann doch gewisse Grenzen setzt. Bei meinen Experimenten zur Messung der Wassertemperatur hatte ich das zu berücksichtigen.

Kurz vor dem Jahresende 2019 kam Post aus Shenzen mit dem 18650C HAT, einem Batterieteil für den M5SticKC mit integriertem wiederaufladbaren LiPo-Akku 18650 mit einer Kapazität von 2000 mAh.

Das Batterieteil ist mit den Steckern der HAT-Serie ausgestattet, mit denen eine zuverlässige Verbindung zum M5StickC hergestellt werden kann. Die Unterseite ist mit einer USB-Ladeschnittstelle ausgestattet. Der USB-C-Anschluss des Batterieteils wird nur als Ladeschnittstelle verwendet und hat keine UART-Funktion. Auf der Rückseite des Batterieteils befinden sich zahlreiche Befestigungslöcher, die eine einfache Befestigung des gesamten Devices ermöglicht.

Handheld-Thermometer

Ich habe mit dem ENV Hat und dem M5StickC ein Handheld-Thermometer aufgebaut.

Über den BMP280 im ENV Hat werden Temperatur, relative Luftfeuchte und barometrischer Druck gemessen und im Sekundentakt auf dem M5StickC Display zur Anzeige gebracht.

Ich werde die Laufzeit einer Batterieladung in der Folge testen und hier berichten.

Überwachungsmassnahmen für den Batteriezustand sind nicht implementiert.

Neustart mit RISC-V

Damit sich eine neue Befehlssatzarchitektur für Controller oder Prozessoren durchsetzt, ist viel Aufwand erforderlich. Hardware-Hersteller müssen überzeugt, Entwicklungswerkzeuge müssen 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.

Unter dem Titel „Neustart mit RISC-V“ ist eine Beitrag zu RISC-V in der Zeitschrift Design & Elektronik Heft 1/2020 angekündigt.

Um die Performance des Maixduino, einem Arduino-kompatiblen Kendryte K210 Dual-Core 64-bit RISC-V Prozessor (RV64IMAFDC), gegenüber anderen Arduinos resp. Arduino-kompatiblen Mikrocontrollern zu vergleichen, habe ich zwei Benchmarks laufen lassen:

  • Sieve of Eratosthenes
  • CoreMark

Den ersten Benchmark habe ich zu Vergleichszwecken verwendet, da ich in der Vergangenheit damit bereits zahlreiche Tests vorgenommen habe.

Erweiterung der Arduino-Familie: ESP32 – wie gut ist es?
https://www.elektroniknet.de/design-elektronik/embedded/erweiterung-der-arduino-familie-esp32-wie-gut-ist-es-160294.html

Arduino32: Die jungen Wilden.
http://www.elektroniknet.de/embedded/arduino32-die-jungen-wilden-131502.html

CoreMark 1.0 hingegen ist ein vom EEMBC empfohlener Test und zudem an die Arduino-Umgebung angepasst (https://www.eembc.org/coremark/). Beide Benchmarks stehen unter https://github.com/ckuehnel/newArduino/tree/master/Maixduino zum Download zur Verfügung.

Die Resultate der beiden Benchmarks zeigen die folgenden Abbildungen. Verglichen wurden ein Arduino Due (AT91SAM3X8E@84 MHz), ein ESPduino-32 (ESP-Wroom-32@80 MHz) und ein Maixduino (Kendryte K210 RISC-V@400 MHz).

Tastaturerweiterung für M5StickC

Die Eingabemöglichkeiten über die zwei Tasten des M5StickC sind zwangsläufig limitiert. Möchte man eine voll ausgestatteten QWERTY-Tastatur für den M5StickC zur Verfügung haben, dann ist das CardKB HAT eine gute Möglichkeit.

Das CardKB HAT bietet auch Unterstützung für verschiedene Tastenkombinationen (Shift + Taste, Fn + Taste), mit denen praktisch viele verschiedene Tasten hinzugefügt werden können. Der Tastaturstatus wird mit einer RGB-LED angezeigt. Leider ist diese in der Ecke links oben nicht sehr günstig angeordnet, da sie durch den M5StickC abgedeckt wird. Das Keyboard meldet sich als I2C-Device mit der I2C-Adresse 0x5F.

Das die unten angezeigten Ausgaben erzeugende Testprogramm M5StickC_Keyboard.ino steht auf Github zum Download zur Verfügung. Die Tastatureingaben werden hier auf dem M5StickC-Display in grün dargestellt.

Teensy 4.0 – NXP’s i.MX RT1062 für alle

Teensy 4.0

Mit dem Teensy 4.0 steht ein kompaktes, aber dennoch handliches Boards mit NXP’s i.MX RT1062 (Arm Cortex-M7), einem sogenannten Crossover Processor (Kombination aus Mikrocontroller & Application Processor) , zur Evaluation bereit.

Die Ausstattungsliste im Datenblatt liest sich wie der Wunschzettel eines Embedded Entwicklers in der Vor-Weihnachtszeit. Ein Blick ins Datenblatt (https://www.nxp.com/part/MIMXRT1062CVL5A ) zeigt das.

Paul Stoffregen hat dafür gesorgt, dass der Teensy 4.0 auch als Arduino-kompatibler Mikrocontroller gehandhabt werden kann ( https://www.pjrc.com/teensy-4-0/ ) und somit der derzeit wohl leistungsfähigste Arduino zu einem sehr moderaten Preis von USD 19.95 zur Verfügung steht.

Den ersten Eindruck möchte ich mit den erweiterten Benchmarks aus meinem letzten Post https://ckblog2016.net/2019/08/19/maixduino/ beschließen.

Verglichen wurden eine Arduino Due (AT91SAM3X8E@ 84 MHz), eine ESPduino-32 (ESP-Wroom-32@80 MHz), ein Maixduino (Kendryte K210 RISC-V@400 MHz) und ein Teensy 4.0 ( i.MX RT1062@600 MHz). Hier sind die Resultate der beiden Benchmarks:

Benchmarkergebnisse Sieve of Erastothenes
Benchmarkergebnisse Coremark 1.0

Wie die beiden Benchmarks deutlich zeigen, hat Teensy 4.0 mit seinem mit 600 MHz getakteten i.MX RT1062 die Performance des Maixduino wesentlich überboten und kann als derzeit leistungsfähigster Arduino-kompatibler Mikrocontroller (oder eben als Crossover Processor) angesehen werden.