Arduino Edge Control: Arduino-Board für Smart Farming

Das Arduino-Team arbeitet daran, seine Produkte nicht als reine Maker-Boards zu präsentieren. Man strebt mit der Arduino Pro-Serie nach dem industriellen Turn Key-Bereich. Mit dem Arduino Edge Control steht nun ein erstes Board zur Verfügung, das sich auf die Bedürfnisse intelligenter Farmen konzentriert.

von Tam Hanna

Die als Teil der Arduino Pro-Familie vorgesehene Platine vertieft die Zusammenarbeit zwischen Arduino und uBlox. Als Hauptprozessor kommt diesmal ein Nina B306 zum Einsatz – der mit 64 MHz laufende Cortex M4F-ARM-Prozessor ist über die Arduino IDE programmierbar, für die drahtlose Kommunikation steht Bluetooth LE zur Verfügung.
Interessant ist, dass das Board zusätzliche Kommunikationsschnittstellen erlernt: dabei kommen, wie in der Abbildung gezeigt, entweder ein oder zwei zusätzliche Arduino MKR-Boards zum Einsatz, die als eine Art Plug-In eingebaut werden. Die Kommunikation zwischen ihnen und der Hauptplatine erfolgt dann per I2C oder UART.

Eingabe-Ports für den Agrarbetrieb.

Arduino sieht den Edge Control als ausschliessliches Agrar-Werkzeug. In der dazugehörenden Dokumentation fühlt man als Soll-Anwedungsfall neben der Kultivation von Pilzen (kann extremst (!!!) lukrativ sein) und der Automatisierung von Glashäusern explizit auch die hydroponische Erzeugung von Pflanzen an.
Für die eigentlichen Agrar-Anwendungen sind laut dem unter https://content.arduino.cc/assets/AKX00044-Datasheet.pdf bereitstehenden Datenblatt dedizierte“ I/O-Subsysteme vorgesehen.

1Acht 5VIOSensoren
2Sechzehn hydrostatische Sensoren
3Vier Halbleiterrelais
4Sechzehn generische Ausgänge mit LatchingFähigkeit

Allen I/O-Subsystemen ist gemein, dass sie unter Nutzung eines TCA6424-Expanderbausteins aus dem Hause Texas Instruments entstehen. Dies dürfte die maximal erreichbare Performance stark limitieren – Farming ist allerdings, was man in aller Ehrlichkeit zugeben muss, keine Aufgabe, die hohe Echtzeit-Anforderungen stellt.

Weitere neue Hardware.

Der Edge Control ist nicht die einzige „Neuerung“ im Hause Arduino. Im für die Ankündigung verwendeten Newsletters findet sich auch die folgende Grafik, die auf weitere, neue Hardware hinweist.

Lohnt es sich?

Der in Ungarn ansässige Autor dieser Zeilen bekommt permanent Agrar-Anfragen vorgelegt: wer nicht im Großbauern-Bereich tätig ist, findet dabei als Konstante das extrem geringe Budget. Mit dem um 169 Euro erhältlichen Board lässt sich der „elektrische“ Teil der Lösung mit wenig Mannstunden realisieren – ein durchaus positiver Aspekt. Ob man das Board allerdings in Großserie einsetzen möchte, ist eine andere Frage.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

ESP-DL: hardwarebeschleunigtes maschinelles Lernen für ESP32

Neben Optimierungen im Bereich der Entwicklungswerkzeuge hat Espressif eine neue API angekündigt, die die Erledigung von Machine-Learning-Aufgaben unter Nutzung der in neueren ESP32-Kernen enthaltenen ML-Hardwareressourcen beschleunigt.

von Tam HANNA

Worum geht es hier?

Die einst als reine „Funk-Knechte“ für andere Mikrocontroller gestartete ESP-Familie bekommt im Laufe der letzten Monate fortgeschrittene Funktionen eingeschrieben, die in vielen Applikationen den Host-Mikrocontroller arbeitslos machen.

Mit dem noch nur in Samplemengen verfügbaren ESP32-S3 stellte Espressif eine an Kendryte K210 und Maxim MAX78000 erinnernde Hardware-Beschleunigerengine zur Verfügung, die in ML-Aufgaben anfallende Tasks stark beschleunigt.
Spezifischerweise verspricht Espressif für ein – natürlich handoptimiertes – Modell auf einem S3 folgende Ergebnisse:

1MNIST::forward: 6103 μs
2Prediction Result: 9

Führt man dasselbe Modell hingegen auf einem normalen ESP 32 aus, so fällt die Performance wesentlich bescheidener aus:

1MNIST::forward: 37294 μs
2Prediction Result: 9

Wie bei vielen anderen ML-Beschleunigen gilt, dass die „Krux“ in der Software begraben liegt – eine Aufgabe, der Espressif mit der DL-Bibliothek Abhilfe verschaffen möchte.

Wie funktioniert es für den Embedded-Entwickler.

Die Erzeugung von ML-Modellen ist eine Aufgabe, die man sich als Embedded-Entwickler tunlichst vom Leib halten sollte. Wir wollen für unsere Experimente deshalb das unter https://github.com/espressif/esp-dl/tree/master/examples/cat_face_detect bereitstehende Codebeispiel verwenden, das Katzen zu erkennen sucht.
Am interessantesten ist die Arbeitsschleife, die nach folgendem Schema aufgebaut ist:

1#include <stdio.h>
2#include „image.hpp“
3#include „cat_face_detect_mn03.hpp“
4#include „dl_tool.hpp“

Neben der Datei „cat_face_detect_mn03.hpp“, die das eigentliche Modell bereitstellt, enthält die Datei „image.hpp“ das zu verarbeitende Bild. Die von Espressif bereitgestellten Beispiele arbeiten ausschließlich mit in Form von C-Arrays vorliegenden Bilddaten, die das unter https://github.com/espressif/esp-dl/tree/master/tools/convert_tool befindliche Werkzeug auf der Workstation erzeugt.

Der nächste Akt der Arbeitsschleife ist das Laden der eigentlichen Modell-Logik:

1extern „C“ void app_main(void)
2{
3 dl::tool::Latency latency;
4 // detector
5 CatFaceDetectMN03 cat_face_detect(0.4F, 0.3F, 10, 0.3F);
6
7 // inference
8 latency.start();
9 std::list<dl::detect::result_t> &results = cat_face_detect.infer((uint8_t *)IMAGE_ELEMENT, {IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNEL});
10 latency.end();
11 latency.print(„Inference latency“);
12
13 int i = 0;
14 for (std::list<dl::detect::result_t>::iterator prediction = results.begin(); prediction != results.end(); prediction++, i++)
15 {
16 printf(„[%d] score: %f, box: [%d, %d, %d, %d]n, i, prediction->score, prediction->box[0], prediction->box[1], prediction->box[2], prediction->box[3]);
17 }
18}

Der Rest des Codes ist dann gewöhnliches Betreiben eines Hardware-Beschleunigers. Informationen wandern im ersten Schritt in die dafür bereitgestellten Register, aus denen wir die Ergebnisse danach wieder abernten.
Ausgabewert des Programms sind dabei Koordinatenwerte, die – siehe auch die Abbildung – für vom ML-Modell als relevant erkannte Teile des Bildes markieren. Für ihre Visualisierung steht am Desktop ebenfalls ein Werkzeug zur Verfügung, das sie nach folgendem Schema aufrufen:

1python display_image.py i ../cat_face_detect/image.jpg b „(122, 2, 256, 117)“

(Bildquelle: https://github.com/espressif/esp-dl/blob/master/examples/cat_face_detect/result.png)

Erzeugung hauseigener Modelle.

Obwohl Espressif im unter https://github.com/espressif/esp-dl/tree/master/include/model_zoo bereitstehenden und apart als Model Zoo bezeichneten Repository eine Gruppe schlüsselfertige Modelle für ESP32-Entwickler bereitstellt, wünscht man sich in der Praxis die Verwendung „hauseigener“ Modelle.
Informationen dazu, wie man ein vorliegendes Modell für den ESP32 einsatzbereit macht, finden sich in der unter https://github.com/espressif/esp-dl/tree/master/tutorial bereitstehenden fünfstufigen Anleitung.
Offensichtlich ist schon hier, dass zur Nutzung Handarbeit erforderlich ist. Die einzelnen „Layers“ eines Modells muss der Entwickler beispielsweise von Hand in der von Espressif bereitgestellten Modell-Basisklasse anlegen:

1class MNIST : public Model<int16_t>
2{
3private:
4 Conv2D<int16_t> l1; // a layer named l1
5 DepthwiseConv2D<int16_t> l2_depth; // a layer named l2_depth
6 Conv2D<int16_t> l2_compress; // a layer named l2_compress

Analoges gilt auch für die Initialisierung, deren Generierung – zumindest zum Zeitpunkt der Drucklegung – ebenfalls Handarbeit voraussetzt:

1class MNIST : public Model<int16_t>
2{
3 // ellipsis member variables
4
5 MNIST() : l1(Conv2D<int16_t>(2, get_l1_filter(), get_l1_bias(), get_l1_activation(), PADDING_VALID, 2, 2, „l1“)),
6 l2_depth(DepthwiseConv2D<int16_t>(1, get_l2_depth_filter(), NULL, get_l2_depth_activation(), PADDING_SAME, 2, 2, „l2_depth“)),
7 l2_compress(Conv2D<int16_t>(3, get_l2_compress_filter(), get_l2_compress_bias(), NULL, PADDING_SAME, 1, 1, „l2_compress“)),

Lohnt es sich?

Wer auf einem ESP32 ML-Aufgaben mit hoher Performance ausführen möchte, ist gut beraten, dem unter https://github.com/espressif/esp-dl/ bereitstehenden GitHub-Repository Aufmerksamkeit zu geben. Auch wenn die Lernkurve des ML-Frameworks mit Sicherheit steil ist, dürfte das manuelle Entwickeln von einer hardwarebeschleunigten Engines für den ESP32 noch viel arbeitsamer sein.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Espressif: Klarstellung der IDE-Roadmap und der Pläne für AWS

In einer Gruppe von Pressemeldungen hat Espressif heute einige Ankündigungen durchgeführt, die das ESP32-Ökosystemen „als Ganzes“ betreffen.
von Tam HANNA

Worum geht es hier?

Der ESP32 ist ein leistungsfähiger, aber preisgünstiger WLAN-Bluetooth-Mikrocontroller. Nach dem eher unfallartigen Erfolg des ESP8266 hat das in Shanghai ansässige Unternehmen eine Gruppe von Nachfolge-Controllern auf den Markt gebracht, die sich großer Popularität sowohl bei Makern als auch bei professionellen Anwendern erfreuen.

ESP-IDF: neuer Installer, endgültige Abkündigung von GNU Make

Dass man bei der Arbeit mit ESP-EDF auf Kommandozeilenebene arbeitet, ist erwartet. Um Quereinsteigern, die vollgrafische Systeme wie MPLAB oder CUBE gewohnt sind, das Leben zu erleichtern, führt Espressif Anpassungen an der Entwickler-Toolchain durch.
Anstatt die eigentliche Kompilation – wie bisher – unter Nutzung von GNU Make zu erledigen, kommt seit 2018 CMake zum Einsatz. Espressif kündigt nun „offiziell“ an, neue Chips nur noch in der CMake-Variante zu unterstützen:

1Since then, new features, such as support for ESP32S2, ESP32C3 and ESP32S3 chips, were added to the CMakebased build system only.

Die Installation von ESP-IDF unter Windows erwies sich in der Vergangenheit als haarig.
Mit dem ESP-IDF Tools Installer schickt Espressif ein Werkzeug ins Rennen, dass die Installation der Werkzeuge der notwendigen Produkte automatisiert durchführt. Administratoren größerer Firmen-Netzwerke können einen Offlineinstaller paketieren, der Workstations ohne Zugriff auf das Internet mit den notwendigen Ressourcen ausstattet. Weitere Informationen hierzu finden sich unter der URL https://github.com/espressif/idf-installer.
Zu guter Letzt kündigt Espressif an, mit Container-Systemen zu arbeiten. Zum Zeitpunkt der Abfassung dieses Artikels finden sich in der Dokumentation sowohl Hinweise auf Docker als auch auf Hyper-V.

IDEs: Plug-Ins für Eclipse und Visual Studio Code

Espressif orientiert sich im Bereich der Ökosystem-Entwicklung an der alten STMicroelectronics-Methode: „desto mehr“ an Tooling, desto besser. Der Gutteil der Entwickler dürfte – nach Ansicht des Autors – entweder auf Kommandozeile arbeiten, oder kommerzielle IDEs (Stichwort z.B. Segger) verwenden.

Das ESP32-Plugin steht im VS Code-Erweiterungssystem zum Download bereit

Seit 2019 bietet Espressif zwei hauseigene Plug-Ins an, die entweder Eclipse oder Visual Studio Code (nicht zu verwechseln mit der nur unter Windows lauffähigen Visual Studio-IDE) an. In beiden Systemen verspricht Espressif dabei neben Unterstützung für den bekannten seriellen Flash-Prozess auch die Möglichkeit, auf „unterstützten“ Chips (S3 und C3) Programmiervorgänge per JTAG vorzunehmen. Zu guter letzt verspricht Espressif, Debugger-Funktionen zu offerieren. Wenn Sie eine der IDEs verwenden, sollten Sie die folgenden Links ansehen:
VS Code → https://github.com/espressif/vscode-esp-idf-extension
Eclipse → https://github.com/espressif/idf-eclipse-plugin

Formalisierung der AWS-Unterstützung für ESP32.

Amazon und EspressifaArbeiten im Bereich Cloud Services seit langer Zeit zusammen: eine logische Partnerschaft, bietet Espressif doch preiswerte Chips an, die dank ihrer WLAN-Transmitter problemlos ins Internet kommen. „Bisher“ gab es – siehe auch die Abbildung – zwei Wege, um eine ESP32-Anwendung mit AWS zu integrieren.

Zwei Wege führen zu AWS am ESP32

Neben der von Amazon bereitgestellten FreeRTOS-basierten Arbeitsumgebung gibt es ein SDK, das sich auf das Bereitstellen der Cloud-Funktionen konzentriert und kein Echtzeitbetriebssystem enthält.
Die „Freiheit“ erkauften sich Entwickler bisher durch einen reduzierten Funktionsumfang. Mit Version 202103.00 legt Espressif insofern nach, als nun die folgenden Bibliotheken Unterstützung finden:

1AWS Standard LTS libraries:
2 coreHTTP
3 coreJSON
4 coreMQTT
5 corePKCS11
6
7AWS LTS libraries:
8 AWS IoT Device Shadow
9 AWS IoT Jobs
10 AWS IoT OTA

Mehr Informationen zu den „Neuerungen“ finden sich in der unter https://www.espressif.com/en/news/LTSrelease bereitstellenden Presseankündigung, die unter anderem eine Gruppe von Codebeispielen mit „lebendigen Demonstrationen“ enthält.

Es gibt mehr!

Im Rahmen des heutigen Pressemeldung hat Espressif außerdem eine API zur Ausführung von neuronalen Netzwerken und anderen Aufgaben des Machine-Learning angekündigt. Wir werden diese in einem Folgeartikel beleuchten.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Turing Pi 2: Spezifikationen bekannt gegeben

Die finalen Spezifikationen des Mini-Clusters stehen mittlerweile fest. Im Gegensatz zum Vorgänger unterstützt der Turing Pi 2 neben dem aktuellen Raspberry Pi Compute Module nun auch Nvidia Jetson.

Das Board ist im mini-ITX-Formfaktor gehalten und kann mit einem 24-Pin ATX-Netzteil versorgt werden. Je nach Bestückung kann mit bis zu 80 Watt kalkuliert werden. Dies erlaubt die Nutzung kompakter DC/DC-Module. Insgesamt können wahlweise vier Raspberry Pi 4 Compute Modulen oder Nvidia Jetson Modulen als Nodes bestückt werden, wobei sich diese auch gemischt verwenden lassen. Zusätzlich kann das System durch zwei mini PCIe Gen2 und zwei SATA III Anschlüsse erweitert werden. Neben einem integrierten Managed Switch stehen zwei Gigabit Ports, USB 3.0 und HDMI zur Verfügung. Ein Raspberry Pi kompatibler GPIO Header ist ebenfalls vorhanden.

Neben der Unterstützung aktueller Einplatinencomputer wurde gegenüber dem Vorgänger auch ein Managementcontroller hinzugefügt, über den sich der Cluster warten lässt. In Verbindung mit dem integrierten Switch und einer eigenen Firmware kann so über das Netzwerk auf die seriellen Schnittstellen der einzelnen Module zugegriffen oder ein Betriebssystem installiert werden.

Mit genaueren Angaben des Erscheinungsdatums und Preises dürfe in den nächsten Wochen zu rechnen sein, erste Lieferungen sollen dann im ersten Quartal des kommenden Jahres erfolgen. Im Anschluss ist auch der Verkauf eigener Module in Planung. Wer nicht so lange waren kann und noch einen Schwung älterer Compute Module übrig hat, kann sich den Vorgänger Turing Pi 1 ansehen. Alternativ gibt es mit dem SOPINE Clusterboard von Pine64 einen ebenfalls interessanten Ansatz.

Bild: turingpi.com

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Meadow F7: Dateisystem, neue I2C / SPI-API, Refactorings für neue Zielplattformen

Mit Beta 5.2 führt das Entwicklerteam um Bryan Costanich diverse „Verbesserungen“ an der API ihres Embedded-.net-Systems durch.

Worum geht es hier?

Microsofts bisherige Versuche im Embedded-Bereich waren im allgemeinen wenig erfolgreich: der Gadgeteer war zu früh am Markt, während die NetDuino-Produktlinie aufgrund finanzieller Malversationen mit einem Smartwatch-Projekt über den Jordan ging.
Der einst bei Xamarin tätige Bryan Costanich entwickelt mit dem Meadow F7 einen kombinatorischen Prozessrechner, der einen für die Ausführung der .net-Payload zuständigen STM32-Kern und einen ESP32 als WLAN-und Bluetooth-Funkmodul einspannt. Das Produkt ist seit einiger Zeit am Markt (siehe Unboxing der ersten Variante unter https://www.youtube.com/watch?v=8uU0TFuvgis), und nähert sich nun der Fertigstellung.

Persistierung von Dateien.

Die Meadow-API bietet Entwicklern seit einiger Zeit die Möglichkeit, Dateien im Flashspeicher abzulegen. Bisher wurden diese von der IDE im Rahmen jeder Neu-Auslieferung des Programms zerstört, was den Langfristnutzen reduzierte. Ab Beta 5.1 lässt die IDE diese Dateien beim Deployment neuer Applikationsprogramme “in Ruhe“.
Die API verhält sich sonst im allgemeinen so, wie man es von anderen .net-Dateisystem-APIs erwartet:

1 void EnumerateNamedDirectories()
2 {
3 Console.WriteLine(„The following named directories are available:“);
4 Console.WriteLine($t MeadowOS.FileSystem.UserFileSystemRoot: {MeadowOS.FileSystem.UserFileSystemRoot}“);
5 Console.WriteLine($t MeadowOS.FileSystem.CacheDirectory: {MeadowOS.FileSystem.CacheDirectory}“);
6 Console.WriteLine($t MeadowOS.FileSystem.DataDirectory: {MeadowOS.FileSystem.DataDirectory}“);
7 Console.WriteLine($t MeadowOS.FileSystem.DocumentsDirectory: {MeadowOS.FileSystem.DocumentsDirectory}“);
8 Console.WriteLine($t MeadowOS.FileSystem.TempDirectory: {MeadowOS.FileSystem.TempDirectory}“);
9 }
10
11 private void CreateFile(string path, string filename)
12 {
13 Console.WriteLine($„Creating ‚{path}/{filename}’…“);
14
15 if (!Directory.Exists(path)) {
16 Console.WriteLine(„Directory doesn’t exist, creating.“);
17 Directory.CreateDirectory(path);
18 }
19
20 try {
21 using (var fs = File.CreateText(Path.Combine(path,filename))) {
22 fs.WriteLine(„Hello Meadow File!“);
23 }
24 } catch (Exception ex) {
25 Console.WriteLine(ex.Message);
26 }
27 }

Weitere Code-Snippet finden sich in der unter https://github.com/WildernessLabs/Meadow.Core.Samples/tree/main/Source/Meadow.Core.Samples/OS/FileSystem_Basics bereitstehenden Beispieldatei.

Bekämpfung von Speicherlecks.

Managed Memory-Programmiersprachen gelten als immun gegen Speicherlecks. Leider ist das in der Praxis nicht so – es ist möglich, dass Datenstrukturen Verweise auf „temporäre“ Speicherbereiche nicht freigeben, und den Garbage Collector so am Einsammeln hindern.
Der Meadow F7 litt bisher unter derartigen Problemen im Bereich der Verarbeitung von über die REST-Schnittstelle eingehenden Anfragen. Mit Beta 5.1 verspricht das Entwicklerteam um Bryan Costanich, dass die Speicherlecks zur Gänze beseitigt sind – in der Ankündigung spricht man sogar davon, dass mehr als 200 000 Requests in einer Session verarbeitet wurden:

1Weve fixed nearly all of the leaks on web requests. Weve successfully tested 200k+ requests without blowing mem.

Stramlineing im Bereich der I2C-und SPI-API ist

Das permanente Allozieren und Freigeben von Speichebereichen erweist sich als Performancebremse. Ein Redesign der APIs für die beiden seriellen Busse ermöglicht dem Meadow das Durchführen vieler Transaktionen, ohne dabei permanente Allokationen durchzuführen. Lohn der Mühen ist eine „Erhöhung der Performance“.

Hardware-Verfügbarkeit angekündigt

Als vergleichsweise kleine Lieferant ist Wilderness Labs von den Problemen im Hause STMicroelectronics betroffen. F7-Boards sind zum Zeitpunkt der Abfassung dieses Artikels nicht im Handel verfügbar, die Wilderness Labs-Gruppe verspricht allerdings, im Laufe eines Monats wieder „neue“ Boards und Module anbieten zu können.
Außerdem findet sich in der Dokumentation an mehrerlei Stelle, beispielsweise folgendermaßen, ein Zitat ein Hinweise darauf, dass bald „neue“ Hardware ante Portas steht.

Nach Ansicht des Autors – dies ist explizit eine Eigenmeinung und stellt keine irgendwie geartete offizielle Ankündigung aus dem Hause Costanich dar – ist ein „Targeting“ des ESP32 sehr wahrscheinlich.

Unterstützung für Visual Studio Code verbessert.

F7-Applikationen lassen sich seit längerer Zeit nicht nur unter einer Vollversion von Visual Studio, sondern auch mit der Spar-Variante Visual Studio Code realisieren. Die neue Version des Visual Studio Code-Plug-Ins bietet Projektskelette an, die die Erzeugung von auf C#, F# und Visual Basic.net basierenden Projekten ohne Umweg in GitHub und Co. ermöglichen.

Lohnt es sich?

Microsoft-Embedded-Entwickler Leben lange leben schon lange nach dem britischen Konzept des Beggars can’t be Choosers – spätestens seit der Abkündigung der IoT-Variante von Windows 10 gibt es, insbesondere für Klein-Bastler, nicht viel Spielzeug. Wer eine kleine Aufgabe zu realisieren hat, und auf.net-Technologien setzen möchte, wird mit dem Meadow F7 – unter Weglassung der Verfügbarkeitsproblematik – glücklich.
Vor einem „größeren“ Deployment, insbesondere wenn sie das Meadow-System nicht in Form der Platine in ihre Hardware einbinden möchten, sollten Sie allerdings Kontakt mit dem Entwicklerteam aufnehmen um eine „individuelle“ Vorgehensweise abzusprechen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Birulki: hybrider X86-Server, Quectel-Antennenportfolio, Renesas RA2 am Markt, neues Tang-FPGA-Board

Diesmal sind die Birulki eher im Bereich “klassischer IT” bzw Entwicklerboards zu Hause – FPGA-Interessierte, X86-Anhänger und Freunde von Renesas dürfen sich an neuen Produkten erfreuen.

von Tam HANNA

Worum geht es hier

Unsere Birulki-Liste – Birulki sind ein russisches Holzspielzeug – stellt interessante Produkte vor, die für einen eigenen Artikel nicht genug Fleisch bieten.

Seeed reServer: Serversystem für Edge Computing

X64-Prozessoren sind insbesondere bei der Ausführung komplexer Software ideal: AI- und sonstige Software wird in den i3-Prozessoren der 11. Generation zudem durch eine als UHD Graphics bezeichnete Engine beschleunigt. Seeed – normalerweise eher bekannt für Makerboard und Co – schickt mit dem reServer nun ein Computersystem für das Internet der Dinge ins Rennen.

Interessant ist am vorliegenden System, dass Seeed dem Hauptprozessor immer auch einen Echtzeitkern zur Seite stellt – sein genauer Ausbau ist, wie in Abbildung zwei gezeigt, vom Rest des Systems abhängig.

SeeedStudio verspricht außerdem, dass der Server einfach mit 5G- und LoRA-Unterstützung nachgerüstet werden kann. Die Module muss der Endanwender allerdings seperat erwerben, es dürfte sich um M.2-Karten handeln. Interessanterweise sind einige der Slots auch in der mit 669 USD vergleichsweise preiswerten Basisvariante von Haus aus belegt:

11 x M.2 2280 512GB NVMe PCIe 3.0 SSD (already installed)
21 x M.2 Key E 2230 dualband WiFi 6 AX201 (CNVio) module (already installed)

Renesas RA2: Distributor-Verkauf beginnt

Renesas bietet mit der RA2-Serie eine Gruppe von 32bit-Mikrocontrollern an, die im Low End-Bereich STMicroelectronics Marktanteile abnehmen sollen. Die mit einem 48 MHz-Kern auf Basis der Cortex-M23-Architektur ausgestatteten Chips haben bis zu 256kB Remanentspeicher und 32kB RAM. Ab Sofort beginnt der Verkauf bei Distributoren – Mouser nimmt für den Gutteil der Chips derzeit allerdings nur Vorbestellungen an, die man im Beginn 2022 auszuliefern gedenkt.

APD-75A6: sparsamer Piezopiepser

Piezopiepser sind nützlich: nicht nur zum Belästigen von Nachbarn, sondern auch zur Ausgabe von Warntönen. Mit dem APD-75A6 steht nun ein SMD-Piepser zur Verfügung, der mit maximal 1mA auskommt und ab 1V Spannung arbeitsfähig ist. Dies ist insofern interessant, als der Piepser so aus Mikrocontroller-GPIO-Pins ansteuerbar ist.

Quectel Y-Series: Antenne vom Modulhersteller

Hat ein Funkmodul Probleme, so beginnt nur allzu oft das alte Spiel des Schuld-Pingpongs. Das im Bereich Design Support nach Ansicht des Autors konsequent erstklassige Modulunternehmen QuecTel bietet nun eine Serie von Antennen an, die auf die Bedürfnisse der eigenen Module optimiert sind.

Tang Nano 4K – FPGA mit HDMI

SiPeed dürfte unter Entwicklern vor Allem für seinen MaixDuino-AI-Chip bekannt – spielt auch im Bereich der FPGA-Evaluationsboards mit. Der Tang Nano bekam nun einen als Tang Nano 4K bezeichneten Nachfolger, der erstens einen moderneren FPGA (GW1NSR-LV4C) aus dem Hause Gowin und zweitens einen HDMI-Ausgang mitbringt.

Die in einer Variante mit und einer Variante ohne Kamera auf AliExpress unter https://www.aliexpress.com/item/1005003152104886.html erhältliche Platine bringt ihr eigenes Deployment-Programm mit, für die Entwicklung kommt die unter Windows und Linux lauffähige GOWIN IDE zum Einsatz. Leider steht der Gutteil der Dokumentation derzeit nur in chinesischer Sprache zur Verfügung.

Automotive-Opamps von ROHM

Mit BD87581YG-C und BD87582YFVM-C schickt ROHM zwei neue Vertreter der hauseigenen EMI-Robust-Opamps ins Rennen, die Rail-to-Rail-fähig sind. Die EMARMOUR-Serie unterscheidet sich von normalen Opamps dabei insofern, als sie vom Schaltungsdesign her auf EMI-Robustheit optimiert sind.

Spezifischerweise verspricht ROHM dabei folgendes:

1the latest BD8758xY series in particular, has demonstrated superior performance under four international noise evaluation tests. For example, in ISO 114522 radio wave emission testing conducted by vehicle manufacturers, the output voltage of standard products fluctuates by more than ±300mV in all frequency bands, while the new BD8758xY series achieves ±10mV or less. At the same time, the CMOS element structure enables accurate, highspeed signal amplification without being affected by external noise when installed inside the targeted sensor applications. This significantly improves reliability while reducing design productionhours in a wide range of applications, including anomaly detection systems.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

MLCC-Deratierung – spannungsabhängiger Kapazitätsverlust, gemessen

Kleine und preisgünstige MLCC-Kondensatoren wirken verführerisch – leider verlieren sie durch einen als Deratierung in Abhängigkeit der anliegenden Spannung an Kapazität.

von Tam HANNA

Worum geht es hier

Auf Maker Faires und Konferenzen finden sich immer wieder Sprecher, die “Toplisten guter Designideen” präsentieren – nur allzu oft hört man den Ratschlag, nach Möglichkeit ohne Elektrolytkondensatoren zu arbeiten. Die als Ersatz empfohlenen MLCCs haben allerdings ein (gravierendes) Problem: die sichtbare Kapazität ist aufgrund von in der Keramik stattfindenden Prozesse von der anliegenden Spannung abhängig.

Analyse des Problems

In den folgenden Schritten wollen wir zwei Kondensatoren vergleichen: einerseits einen MLCC; andererseits einen Tantal-Polymerkondensator.

Ob der hier verwendeten Testschaltung sieht das Messgerät immer nur “die halbe Kapazität”. Als ersten Kandidaten sehen wir den MLCC-Kondensator an, dessen Kapazität beim Erreichen der Nennspannung stark absinkt.

Versucht man die selbe Messreihe mit dem (wesentlich teureren) Tantalkondensator, so sieht die Situation wie in der Abbildung gezeigt aus. Offensichtlich ist, dass sich die anliegende Spannung hier in keiner Weise auf die gemessene Kapazität auswirkt.

Aufbau der Messschaltung

Der Autor nutzte in den folgenden Schritten einen von Omicron Lab gefertigten Bode 100 – eine Art Netzwerkanalysator, der für die Qualifikation von Kondensatoren und Induktoren optimiert ist. Dies wirkt sich unter Anderem in der Verfügbarkeit bequem handhabbarer Testadapter an, die sowohl SMD- als auch THT-Komponenten aufnehmen.
Leider hat der Bode100 von Haus aus keine Möglichkeit, um DC Bias zur Messung hinzuzufügen. In den folgenden Schritten kam die in der Abbildung rechts gezeigte Schaltung zum Einsatz, als externe Spannunngsquelle diente ein HP 6624A.

Lektion: Datenblatt beachten

Der Grad der auftretenden Deratierung ist von Kondensator zu Kondensator unterschiedlich: neben der maximalen Betriebsspannung ist auch die Gehäusegröße und die verwendete Keramik relevant. Wer einen MLCC-Kondensator einsetzt, ist gut beraten, vor der Nutzung das Datenblatt zu studieren – in Zeiten wiederkehrender MLCC-Krisen gilt, dass solche Gedanken auch bei der Substitution von Kondensatoren im Rahmen der Fertigung wichtig sind.

Mehr Informationen

Video mit Vergleich von Messmethoden => https://youtu.be/-DCChVqf1XI?t=2913
Webseite des verwendeten Messgeräts => https://www.omicron-lab.com/products/vector-network-analysis/bode-100

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

DuinoCoin: Cryptowährungs-Minage mit Arduino, ESP32 und Co

Es gibt kaum ein Phänomen der Natur, aus dem kein Kryptowährungs-Fanatiker etwas „Minierbares“ erschafft. Die in Polen entwickelte Kryptowährung DuinoCoin ist – das ist kein Jux – für die Minage auf Arduinos und Espressif-Boards vorgesehen.

von Tam HANNA

Worum geht es hier?

DuinoCoin ist eine „zentralisierte“ Kryptowährung, die dank der „zentralen Steuerung“ der Mining-Schwierigkeit auf Arduinos und anderen Kleinst-Prozessrechnern „effizient“ zu errechnen ist.

Wie funktioniert es?

Laut dem unter https://github.com/revoxhere/duino-coin/blob/gh-pages/assets/whitepaper.pdf bereitstehenden Whitepaper erfolgt die „Koordination“ der Aufgaben durch ein als Kolka bezeichnetes System. Explizites Nicht-Ziel der Entwickler ist dabei das Entstehen von Mining-Clustern. Dies versucht man dadurch zu erreichen, dass die Minage-Effizienz (siehe Abbildung) sinkt, desto mehr Systeme in „einem“ Clusterleben.

Wie Minieren?

Die „liebste“ Zielplattform des Entwicklerteams ist der Arduino Uno. Leider ist er nicht zum Headless-Betrieb geeignet – die „offizielle“ Vorgehensweise ist die Nutzung eines Python-Programms auf einer Workstation, das über den USB-Port Kontakt zum Arduino Uno aufnimmt und sich um die „Kommunikation“ mit dem zentralen Server kümmert.

ESP32-und ESP8266-Prozessoren sind ob ihres WLAN-Transmitters zur direkten Kommunikation mit dem Server befähigt. Für diese Ziel-Plattformen steht ebenfalls ein Sketch bereit, der nach Eintragen von WLAN-Passwort und Benutzername automatisch mit der Minage X beginnt.
Logischerweise steht auch für den Raspberry Pi eine Standalone-Version zur Verfügung; sowohl Rasberry Pi als auch ESP32 können zudem ein oder mehrere Arduino-Boards “versklaven“, um den Betrieb einer Workstation unnötig zu machen.

Lohnt es sich?

Dass man mit Kryptowährungen in der Vergangenheit schnell reich werden konnte, steht außer Frage. Im Fall von DuinoCoin ist sich der Autor der „langfristigen“ Profitabilität nicht sicher. DuinoCoin ist ein „zentralisiertes“ System – daraus folgt, dass der Erzeuger der Währung (wie eine Zentralbank bei einer gewöhnlichen Fiat-Währung) nach Belieben “neue Coins“ erschaffen kann, was zu Inflation führt.
Interessanterweise erlaubt das Entwicklerteam das Umtauschen von DuinoCoins in verschiedene andere Werte. Zum Zeitpunkt der Drucklegung präsentieren sich die Kurse dabei wie in der Abbildung gezeigt.

Beachten Sie in diesem Zusammenhang aber, dass sich das Entwicklerteam das jederzeitige „Aussetzen“ des Umtausches vorher vorbehält:

1In rare cases exchange requests may not be completed because of: not sufficient amount of digital assets in DUCO Exchange reserves; technical problems; personal problems of the owners; other random scenarios we cant predict.

Fazit: interessante Spielerei.

Wer ein oder mehrere Arduino- und ESP32-Boards in der Schublade herumliegen hat und in einem energiegünstigen Land (Stichwort Ungarn) lebt, kann mit dem Coin den einen oder anderen Euro verdienen. Zudem ist das System – nach Meinung des nur mittelmäßig kryptowährungsaffinen Autors – auch deshalb interessant, weil es Ansätze zur „künstlichen Limitierung“ des von Minings verursachten Energiebedarfs zeigt. In diesem Sinne durchaus interessant-auch dann, wenn es nicht für den Firstclass-Sitz reicht.

Honesty Disclaimer

Der Autor dieser Zeilen hält ein – minimales – Cryptoportfolio mit folgenden Werten:
x) ADA
x) UNI
x) MANA
x) XRP
x) BAT
x) LINK
x) ALGO
x) MATIOC
x) TRX
x) CAKE, sowie durch Konversion entstandene Reste von BNC
x) LUMEN de Stellar

Der Gesamtwert dieses Investments liegt weit unter 1% des Gesamtvermögens und beeinflusst den Autor nicht in seiner Lebensführung oder Arbeit.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

ESP32-H2 – RISC-V-ESP32 mit IEEE 802.15.4 und Bluetooth 5.2 statt WLAN

Das seit einigen Wochen durch die Gerüchteküche wandernde ESP32-Derivat ESP32-H2 ist seit wenigen Stunden offiziell verfügbar. Statt einem WLAN-Modul gibt es ein für Thread und Zigbee vorgesehenes Radiomodul.

von Tam HANNA

Als Hauptprozessor kommt – analog zum ESP32-C3 – kein XTENSA-Dual-Core, sondern ein einkerniger RISC-V-Rechenkern zum Einsatz. Die Taktrate des neuen Moduls liegt nun aber im Bereich 16 MHz bis 96 MHz – der Vorgänger C3 hatte zwar auch nur einen Kern, arbeitete aber im Bereich 40 bis 160 MHz:

1 config ESP32H2_DEFAULT_CPU_FREQ_MHZ
2 int
3 default 16 if ESP32H2_DEFAULT_CPU_FREQ_16
4 default 32 if ESP32H2_DEFAULT_CPU_FREQ_32
5 default 64 if ESP32H2_DEFAULT_CPU_FREQ_64
6 default 96 if ESP32H2_DEFAULT_CPU_FREQ_96

Analog zum C3 gilt auch für den H2, dass SPI-Ram nicht unterstützt wird:

1#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32H2
2// SPIRAM is not supported on ESP32-C3
3#endif

Ein wichtiger Unterschied zum C3 ist, dass der H2 wahrscheinlich mehr GPIO-Pins mitbringt. In gpio_types.h finden sich hier 41 Pin-Deklarationen, der C3 hat derer 23. Interessanterweise spricht die offizielle Ankündigung von nur 26 Pins:

1#elif CONFIG_IDF_TARGET_ESP32H2
2typedef enum {
3 GPIO_NUM_NC = 1, /*!< Use to signal not connected to S/W */
4 GPIO_NUM_0 = 0, /*!< GPIO0, input and output */
5. . .
6 GPIO_NUM_40 = 40, /*!< GPIO40, input and output */
7 GPIO_NUM_MAX,
8/** @endcond */

Architektural präsentiert sich das System sonst wie in der Abbildung gezeigt.

Mehr Informationen zum CPU-Kern und den dazugehörenden Peripheriegeräten finden sich durch Analyse des ESP-IDF – senden Sie eine aktuelle Version des Repository-Inhalts durch grep, und suchen Sie nach dem String H2. Alternativ dazu bietet sich die unter der URL https://github.com/espressif/esp-idf/search?p=1&q=esp32h2 bereitstehenden Online-Suche an.

Für Mesh-Betrieb vorgesehenes Funkmodul

Espressif liefert mit dem H2 eines der ersten hauseigenen SoC aus, die ohne WLAN-Transciever auskommen. Stattedden kommt ein für diverse Mesh-Protokolle vorgesehenes Modul zum Einsatz, für die Kommunikation mit Android und Co steht ein Bluetooth 5.2-Transmitter zur Verfügung (Achtung: Zertifikationsgebühren der SIG beachten).

Im Bereich des Versionsstands verspricht Espressif folgendes:

1ESP32H2 will support Thread version 1.x and Zigbee 3.x. Espressif, as an active member of CSA, will continue to develop and support the Matter protocol on ESP32H2 for as long as the standard progresses.

Unterstützung für das von der Bluetooth SIG geplante Mesh-Protokoll ist laut der offiziellen Pressemeldung ebenfalls vorgesehen:

1Additionally, ESP32H2 takes advantage of Bluetooth 5.2 technology and supports its new features. Bluetooth 5.2 provides LE Isochronous Channels support that enables building devices for LE Audio, the next generation of Bluetooth audio. Not only will LE Audio enhance Bluetooth audio performance, but it will also add support for broadcasting audio and enabling Audio Sharing. The LE Power Control and Enhanced Attribute Protocol of Bluetooth 5.2 also improve the device efficiency even further. ESP32H2 also provides full support for the Bluetooth mesh protocol and will support the upcoming Bluetooth mesh 1.1.

Von der Verfügbarkeit

Wie im Fall des mit zwei Antennen ausgestatteten WROOM-DA gilt auch hier, dass der Chip noch nicht im freien Handel erhältlich ist – unter https://www.espressif.com/en/news/ESP32_H2 findet sich die Aufforderung, bei Interesse Kontakt mit dem Kundenservice aufzunehmen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Birulki: Elektromechanik, janusköpfiger RFID-Tag und ARM-Entwicklerkonferenz

Elektromechanische Lösungen stehen nur selten im Rampenlicht. Hier einige Produkte, die Aufmerksamkeit verdienen.

Worum geht es hier

Unsere Birulki-Liste – hinter dem Begriff verbirgt sich der russische Begriff für ein Holzspielzeug – stellt interessante Produkte vor, die für einen eigenen Artikel nicht genug Fleisch bieten, aber interessant sind.

ST25DVxxKC – janusköpfiges RFID-Modul mit I2C-Port

RFID-Tags dienen normalerweise zur Identifizierung von Gütern. STMicroelectronics schickt mit dem ST25DVxxKC einen Chip ins Rennen, der ein I2C-Interface und einen sowohl per RFID als auch per I2C ansprechbaren Speicherbereich anbietet.

Sinn dieser janusköpfigen Architektur ist die Möglichkeit, Produkte effizient und kontaktlos zu “personalisieren”. Dahinter steht der Gedanke, dass das fertige Gut über einen RFID-Reader Einstellungen aufnimmt, die die Host-MCU später per I2C einliest.

ionex USB Type-C: weniger Pins für weniger Kosten

USB-C ist sowohl aus elektronischer als auch aus physikalischer Sicht extrem kompliziert – ob der Nutzung in Telefon und Co gilt allerdings, dass das Steckerformat immer mehr Unterstützung findet. Ionex bietet nun eine Gruppe neuer Stecker an, die die physikalischen Implementierungskosten durch Reduktion der Pins zu senken suchen.

Natürlich geht mit der Reduktion des Pin-Umfangs auch eine Reduktion der Funktionalität ein – wer nur PD oder USB 2.0 braucht, kann Kunden so aber die Nutzung von USB C-Kabeln ermöglichen.

KEMET KONNEKT C0G-Kondensatorstapel

KEMET bewirbt die hauseigenen Kondensator-Stapeltechnik seit einiger Zeit: man verspricht sowohl geringere parasitäre Induktivität als auch geringeren ESR sowie keine nennenswerte Deratierung. Mit der C0G-Serie stehen die neuen Kondensatoren nun im Handel zur Verfügung – der Kapazitätsbereich geht allerdings nur bis zu 940nF.

Allrichtungs-Rad für Roboter

Räder fahren normalerweise nach vorne oder nach hinten. Aus “Minirädern” aufgebaute Komposit-Räder unterstützen seit einiger Zeit “omnidirektionale” Bewegungen – mit dem DFRobot Black Mecanum Wheel ist ein derartiges Produkt nun bei Elektronik-Distributoren erhältlich.

Die erste auf den Markt gebrachte Version kostet pro Stück etwa sechs Euro und hat einen Durchmesser von 60mm – bei ausreichend großer Bestellmenge dürfte DFRobot allerdings auch andere Varianten fertigen.

Schurter: kapazitive Taster mit Beleuchtung

Hochwertige Taster sind insbesondere bei für nichttechnische Entscheidungsträger vorgesehenen Proofs of Concept hilfreich – Schurter bietet nun beleuchtete Tasten an, die ohne mechanischen Kontakt auskommen. Schurter verspricht zudem, dass Reinigungsprozesse keine Aktion der Taste auslösen.

Schurter bietet die unter https://www.schurter.com/en/Products/Catalog?(PG70)/1 im Detail beschriebene Produktfamilie in verschiedenen Varianten an – allen gemein ist der in der Abbildung gezeigte Aufbau,

Virtuelle ARM-Entwicklerkonferenz startet Einschreibung

ARM nutzt die Gelegenheit, die hauseigene Entwicklerkonferenz auch dieses Jahr als Onlineevent abzuhalten: wer sich für die ARM-Architektur als Ganzes interessiert, tut gut daran, teilzunehmen. Unter https://devsummit.arm.com/en#registerEarly findet sich schon jetzt die Möglichkeit zur Voranmeldung: manche der Sessions haben begrenzte Teilnehmerzahl, weshalb sich Früh-Anmeldungen lohnen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More