Embedded Open Source Summit – Tage 1 und 2

Die Linux Foundation ist mehr als Linux: mit Zephyr pflegt man seit neun Jahren ein Echtzeitbetriebssystem, das man mit einem Ökosystem-Play zu unterstützen sucht. Arduino gab sich ein inoffizielles Stelldichein. Ausserdem erobert Linux den Weltraum – was es an den ersten Tagen zu sehen gab, verraten wir hier.

Zephyr abseits des Echtzeitbetriebssystems…

Anas Nashif sprach in der Keynote des zweiten Tages davon, dass Zephyr nicht auf das Bereitstellen klassischer RTOS-Funktionalität beschränkt sein soll. Stattdessen sollen Contributoren – siehe auch die Folie – auf höheren Schichten lebende Funktionen committen.
Sinn davon ist ein Ökosystem-Play, um die von Amazon FreeRTOS bzw. Azure RTOS angebotenen Value Added Features zu kompensieren. Echtzeitbetriebssysteme beschränken sich in der heutigen Zeit nicht mehr auf das Verwalten von Threads, sondern versuchen, Entwicklern immer mehr eine “Komplettlösung aus einer Hand” zu präsentieren.

(Bildquelle alle: Tamoggemon Holding k.s.)

Im Hintergrund erfährt Zephyr in verschiedenen Bereichen Erweiterungen. Im Bereich Eventsysteme bzw IPC stellte ein Entwickler von Meta Experimente zur Nutzung des hauseigenen Protokolls Thrift vor. Lustig war die Folie, die (neben realistischeren Systemen) die Verwendung eines Dual Port-SRAM als Kommunikationsschnittstelle avisierte.
Als primäres Problem für die breitere Nutzung erweist sich übrigens die fehlende C++-Unterstützung in Zephyr, weshalb Meta von der produktiven Nutzung Thrifts unter Zephyr abrät.

Interessantes Produkt Zwei ist der ZBus: ein klassischer Message-Bus, der analog zum in QtCore enthaltenen Signal-Slot-System die Entkoppelung innerhalb einer Applikation erlaubt. Lobenswert ist, dass laut der unter https://eoss2023.sched.com/event/1LcMe/zbus-the-lightweight-and-flexible-zephyr-message-bus-rodrigo-peixoto-edge-ufalcitrinio? bereitstehenden Ankündigung geplant ist, ZBus bald auch in ISRs arbeiten zu lassen.

Visual Studio Code hat sich als Quasistandard für die Zephyrentwicklung etabliert. Noch gibt es allerdings kein einheitliches Plugin-Komplement – in einem Vortrag des Beratungsunternehmens Golioth (siehe https://eoss2023.sched.com/event/1LcO9/zephyr-visual-studio-code-how-to-develop-zephyr-apps-with-a-modern-visual-ide-jonathan-beri-golioth?) stellte der Sprecher eine empfehlenswerte Sammlung vor. Besonders interessant ist nach Ansicht des Autors die von Microsoft zur Verfügung gestellte Terminalerweiterung, die ein universelles und cross-plattform-verfügbares serielles Terminal realisiert.

Unter https://eoss2023.sched.com/event/1LcMP/practical-tips-to-boost-your-productivity-when-using-zephyr-benjamin-cabe-the-linux-foundation findet sich derweil eine ebenfalls sehenswerte Präsentation, die diverse wenig beachtete Aspekte der Zephyr-Toolchain zum Fokus hat.
Zu guter Letzt kündigte man an, den Bug im Bereich der Dynamic Kernel Thread Stacks behoben zu haben – ein gravierendes Hindernis für die C++-Unterstützung weniger.

…und im Hause STMicroelectronics

STs Entscheidung, Atollic zu erwerben, sollte zu einer “Bereinigung” des Ökosystems führen. Die unter Beitrag “STMicroelectronics: Azure RTOS im Fokus” im Detail beschriebene Vorstellung des U5 ging mit der Ankündigung einher, fortan Azure RTOS als “Standardbetriebssystem” verwenden zu wollen – die großartige Integration in Cube erleichtert das Deployment.
Auf dem Kongress zeigte ST, dass man auch an Zephyr Interesse hat. Der eigentliche Entwicklungsprozess erfolgt dabei ohne grafische Unterstützung; bis der Code lauffähig ist, ist manuelle Anpassung erforderlich.

Langfristig evaluiert ST auf Nachfrage, Zephyr-Unterstützung in den Cube-Codegenerator zu integrieren – hierfür gibt es aber noch keine ETA.

Mender – OTA-Updates fuer Zephyr

Das quelloffene OTA-Aktualisierungssystem Mender ist im Bereich des klassischen Embedded Linux seit längerer Zeit nicht wegzudenken – dank eines Contributors aus der Community erweitert sich die Reichweite des Produkts in Richtung ESP32 und Co.

Das im gezeigten Repositorium zur Verfügung stehende Softwaremodul ist dabei plattformagnostisch: wer es auf einem neuen Mikrocontrollertyp zur Ausführung bringen möchte, muss lediglich die fehlenden plattformspezifischen Komponenten ergänzen.
Außerdem – auch dies eine Livevorstellung am OSS Summit – ist es ab Sofort möglich, über Mender auf die Terminalkonsole von Zephyr zuzugreifen.

Mit Linux in den Weltraum

Im Rahmen einer Keynote channelte der Sprecher – wohl unwollend – den vor kurzem verstorbenen CEO eines Nautikunternehmens: den Begriff des “New Space” wollen wir hier unkommentiert für sich sprechen lassen.

Mit Projekten wie Linux4Space stehen allerdings verschiedene auf die Nutzung im Weltraum optimierte Varianten von Linux zur Verfügung. Diese sind praktisch erprobt: der CubeSat ist eine Art “Clustersatellit”, der von kommerziellen Satellitenstartanbietern in die Umlaufbahn gebracht wird – einige davon basieren bereits auf Linux.

Arduino R4 WiFi “in leibhaftiger Form”

Während Seeed mit einem eigenen Stand (Fokus auf verschiedene Evaluationsboards im Zusammenspiel mit Zephyr) vertreten waren, suchte man Arduino vergeblich.

Im Meetingbereich kämpfte ein Entwickler der Italiener mit Bugs am Arduino R4 WiFi (und seiner sehr attraktiv aussehenden LED-Matrix); interessant empfand der Autor auch die Beobachtung eines Meetings des Arduinisten mit verschiedenen Zephyrentwicklern.

Es geht weiter…

Der Kongress geht noch zwei Tage weiter; wir berichten live. Wer vor Ort ist – der Newsautor freut sich über einen Raucherkollegen!

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Arduino Uno R4 im Handel erhältlich

Nach einer längeren “Vaporware”- bzw. Vorankündigungsphase steht die vierte Generation des Arduino-Evergreens Arduino R4 in gleich zwei Varianten im Arduino Store zur Verfügung. Was Arduino Uno R4 Minima und Uno R4 WiFi von den Vorgängern unterscheidet, klärt dieser Artikel.

Bildquelle: https://store.arduino.cc/pages/uno-r4

32bit-Rechenleistung, 5V-Kompatibilität

Auf Prerelease-Fotos waren sowohl der Formfaktor als auch die genaue Seriennummer des am Uno R4 verwendeten Prozessors durch ein gelbes Post-It kaschiert – im Rahmen der Freischaltung der Store Listings findet sich die in der Abbildung gezeigte Detailbeschreibung.

Bildquelle: Arduino

Arduino entschied sich für den RA4M1 – eine auf einem Cortex M4-Kern samt FPU basierende MCU, die Renesas wie in der Abbildung beschreibt.

Bildquelle, lesenswert: https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra4m1-32-bit-microcontrollers-48mhz-arm-cortex-m4-and-lcd-controller-and-cap-touch-hmi

Neben der wesentlich höheren Rechenleistung erfuhr auch der Rest des GPIO-Komplements eine Erweiterung: wie viel davon in praktischen Arduino-Platinen zur Verfügung steht, ist naturgemäß vom PCB-Layout des jeweiligen Boards abhängig.
Durch die Bank steht nun allerdings eine Maximaltaktrate von 48 MHz zur Verfügung, der Flashspeicher ist nun 256KB groß. Das RAM ist 32KB groß.

Arduino Uno R4 Minima – preiswert, mit ISCP-Connector

Beim unter https://store.arduino.cc/products/uno-r4-minima um 18 EUR erhältlichen Arduino Uno R4 Minima setzt Arduino im Allgemeinen auf bekannte Kost: neu ist erstens ein erweiterter Versorgungsspannungsbereich von bis zu 24V und zweitens ein ISCP-Connector, der das direkte Debugging des am Rechners laufenden Codes erlaubt.

Bildquelle: Arduino

Wohl aufgrund dem Druck aus Richtung des DeviceScript-Ökosystems betont Arduino außerdem die HID-Fähigkeiten des neuen Boards:

1
HID support: The UNO R4 Minima comes with builtin HID (Human Interface Device) support, enabling it to simulate a mouse or keyboard when connected to a computer via a USB cable. This convenient feature makes it a breeze to send keystrokes and mouse movements to a computer, enhancing usability and functionality.

Zu guter Letzt findet sich im unter https://docs.arduino.cc/resources/datasheets/ABX00080-datasheet.pdf bereitstehenden Datenblatt eine Tabelle mit weiteren Pinout-Daten.

Bildquelle: Arduino

Arduino Uno R4 WiFi – mit ESP32 und LED-Matrix

Unter https://store.arduino.cc/products/uno-r4-wifi wechselt die größere Variante um 25 EUR den Besitzer. Neben einem auf einem ESP32-S3 basierenden Funkmodul bringt sie eine LED-Matrix (12×8 rote LEDs) mit.

Bildquelle: Arduino

Bei sorgfältiger Betrachtung fällt ein QWIIC-Interface auf, das einen weiteren I2C-Bus in einem im Makerbereich populären Format exponiert.
Insbesondere für Quereinsteiger dürfte der WiFI-Fehleranzeiger hilfreich sein, der nach folgendem Schema beschrieben wird:

1
Diagnostics for runtime errors: The UNO R4 WiFi includes an errorcatching mechanism that detects runtime crashes and provides detailed explanations and hints about the code line causing the crash.

Kompatibilität: 5V ist nicht alles

Obwohl der verwendete Controller 5V-fähig ist, gilt, dass er naturgemäß mit AVR-Assembly nichts anzufangen weiss. In den Storeseiten warnen die Arduinoentwickler davor explizit:

1
Can I use my sketch developed for the UNO R3 in the UNO R4?

2
Yes, if your sketch was developed using the Arduino API. In case you are using instructions only available for the AVR architecture, some changes need to be made to ensure compatibility.

3
Are all libraries compatible with the UNO R3 also compatible with the UNO R4 WiFi?

4
No, some UNO R3 libraries use instructions of the AVR architecture that are not compatible with the architecture of the UNO R4 WiFi, however there are libraries that have already been ported as part of our early adopters program or are based on the Arduino API. 

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Udoo Vision – x86-Board mit Arduino Leonardo

Obwohl Linux (und Windows für ARM) Fortschritte machen, gilt nach wie vor, dass viele Aufgaben mit X86-CPUs bequemer erledigbar sind. Als Beispiel für viele derartige „X86-Raspberry Pis“ wollen wir hier den Udoo Vision näher ansehen, der seit einigen Tagen kommerziell verfügbar ist.

Wie funktioniert es in der Theorie

Intels Versuche im Embeddedbereich verliefen wenig erfolgreich – die Quark-CPUs kündigte man bald unter Zurücklassung diverser Chippartner ab; Systeme wie der hier gezeigte Arduino Galileo dürften Seltenheitswert haben.

Bildquelle: Tamoggemon Holding k.s.

Heutige Embedded-x86-Systeme nutzen meist die aus dem Netbookbereich bekannten Atom-CPUs, die keine nennenswerten GPIO-Komplemente mitbringen. Zur Lösung des Problems, und aufgrund der extrem schlechten Echtzeiteignung von Desktop-Windows, realisieren so gut wie alle Anbieter einen kombinatorischen Prozessrechner – der Windows-Teil kommuniziert normalerweise per USB mit einem dedizierten zweiten Mikrocontroller, der sich um die Hardwarekommunikation kümmert.

Bildquelle: Udoo.

Im Fall des vorliegenden Systems gibt es derer sogar zwei: neben dem Arduino steht auch ein MEC1705 zur Verfügung, der einige weitere GPIOs und zwei serielle Busse exponiert. Sein unter https://ww1.microchip.com/downloads/aemDocuments/documents/CPG/ProductDocuments/DataSheets/MEC170x-Data-Sheet-DS00002206H.pdf bereitstehendes Datenblatt bietet mehr Informationen zum Thema an.

Inbetriebnahme…

Die Rückseite des Udoo Vision wird komplett vom Kühlkörper bestimmt; neben zwei Ethernet-Ports bringt die Platine auch zwei USB-Ports mit. Zum Installieren von Windows 10 – Windows 11 unterstützt die verwendete Atom-CPU nicht – ist ein Hub erforderlich, weil das Betriebssystemimage in Form eines von Workstation und Co bekannten USB-Stick angeliefert werden muss.

Bildquelle: Tamoggemon Holding k.s.

Für die Stromversorgung kommt zwingend ein dediziertes Netzgerät zum Einsatz, dessen Stecker nicht sonderlich zuverlässig ist. Sonst verhält sich die hier mit 8GB RAM und 64GB internem Flashspeicher ausgestattete Maschine im Allgemeinen so, wie man es von einem Windows-PC erwarten würde.
Der massive Kühlkörper katapultiert den Rechner außerdem in hohe Gewichtsklassen – siehe Abbildung.

Bildquelle: Tamoggemon Holding k.s.

… Findung unüblicher Erweiterungsmöglichkeiten …

Auf der Unterseite findet sich ein Portkomplement, das – unter Anderem – zwei USB 2.0-Ports, einen seriellen Port exponiert (siehe https://udoo.org/download/files/UDOO_VISION/Doc/UDOO_VISION_MANUAL.pdf).

Bildquelle: Tamoggemon Holding k.s.

Externe Erweiterbarkeit (Stichwort Funkmodul) steht in Form eines M2. Key B-Sockels zur Verfügung, außerdem findet sich ein gewöhnlicher SATA-Port. Außerdem ist eine externe Batterie anschließbar, die wohl die Echtzeituhr puffert.

…und Interaktion mit dem Arduino

Ein Blick auf die Unterseite der Platine zeigt – siehe auch das Makrofoto – das Echtzeitelement, das sich schaltungstechnisch streng am Arduino Leonardo orientiert.

Bildquelle: Tamoggemon Holding k.s.

Wer die Arduino IDE startet (oder in den Gerätemanager blickt), stellt fest, dass dieser Eindruck korrekt ist – der Arduno bucht sich unter Windows 10 in COM3 ein, und lässt sich von dort aus wie ein externes Board programmieren.

Kritik am vorliegenden Design

Das wichtigste Problem bei der vorliegenden Platine ist die Energieversorgung: die Verbindung zur Platine geht reproduzierbar verloren, sobald man den Rechner umdreht. Dies ist doppelt schade, weil er nur in diesem „umgedrehten“ Zustand zuverlässig steht – die Füße sind zu kurz.

Bildquelle: Tamoggemon Holding k.s.

Durch die Vibrationsempfindlichkeit disqualifiziert sich das System für die Nutzung als „mobiles Rechensystem“ – egal ob Drohne oder Fahrzeug gilt, dass Vibration zur Bewegung dazugehört.

Lohnt es sich?

x86-Boards sind schon ob der hohen Kosten – die vorliegende Planare wechselt um mehr als 300 EUR den Besitzer – nicht für jeden Einsatz geeignet. Nach Ansicht des Autors lohnt sich die Verwendung immer dann, wenn eine für x64 optimierte Applikation ausgeführt werden muss: Windows on ARM ist nun mal nicht mit allem kompatibel…

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Fritzing 1.0 – nur für zahlende Downloader

Das quelloffene und im Makerbereich populäre Schaltungsentwurfsystem Fritzing liegt nun in Version 1.0 vor. Neben (eher kleinen) Verbesserungen gegenüber den 0.9.x-Versionen gibt es eine gravierende Neuerung: derzeit steht das neueste Release nur zahlenden Kunden zur Verfügung.

Bildquelle: Autor

Mehr Exportmöglichkeiten

Im Gerber-Exportmodul erweiterten bzw. behoben die Entwickler einige Holprigkeiten, die die erzeugten Gerberfiles suboptimal bzw schwierig renderbar machten. Am Wichtigsten dürfte die Unterstützung für schraffierte Rechtecke sein, was Masselayer-Nutzern mehr Flexibilität verschafft.
Außerdem verspricht man Unterstützung für Exporte ins IPC-D-356-Format, was dreidimensionale Vorschaurenderings der Platinen ermöglicht.
Zu guter Letzt enthalten exportierte Pick and Place-Files nun eine zusätzliche Spalte, die SMD- und THT-Bauteile unterscheidet. Das neue Format ist folgendermaßen aufgebaut:

1
RefDes, Value, Package, X, Y, Rotation, Side, Mount.

Simulator ist nun offiziell

Fritzing brachte seit einiger Zeit einen auf SPICE basierenden Schaltungssimulator mit – in Version 1.0 ist er nun ein offiziell unterstütztes Feature. Außerdem erweitern die Entwickler die Spice-Dateien um Modelle für RGB-LEDs und Photosensoren.

Neue Schriftart und Anpassungen für Dark Mode

Als Hauptfont kommt nun OCR-Fritzing zum Einsatz – die neue Schriftart unterstützt unter Anderem das scharfe S und diverse andere in europäischen Sprachen verwendete Sonderzeichen.

Bildquelle: https://fritzing.org/releases/1-0-0

Ob der immer weiteren Verbreitung von Dark Mode erweiterte das Entwicklerteam einige Symbole, die nun auch in Dark Mode-kompatiblen Versionen zur Verfügung stehen. Zu guter Letzt gibt es Unterstützung für Multitouch.

Diverse Fehlerbereinigungen und Aktualisierungen

Im derzeit nur unter https://fritzing.org/releases/1-0-0 bereitstehenden Changelog informiert das Entwicklerteam über Anpassungen an den verwendeten Bibliotheken:

1
Upgraded to Boost 1.81

2
Upgraded to ngspice40

3
Upgraded to Qt 6.4.3

4
Upgraded to C++ 17

Außerdem wurden einige Bugs bzw Performanceprobleme behoben:

1
Avoid rendering slowdown from zooming out

2
Speed up perfboard resize

3
Fixed MacOS “pop-under” effect where new windows are not opened on top

4
Fixed coordinate calculation showing item position in Inspector

5
No longer steals mouse wheel events from Inspector

6
Prevent creating ghost parts from racing conditions

7
Prevent creating ghost connections on arrow movements

8
Update wires and rats nest when rotating parts

9
Fixed issue that led to exporting empty SVG files

10
No longer distort labels and logos due to coarse rounding of ratio

Von der Verfügbarkeit

Im Rahmen der Verfassung dieses Artikels hat sich der Newsaffe durch die (sehr aufwändige, weil schlecht dokumentierte) Kompilation unter Windows durchgearbeitet – unter https://youtu.be/deyyxNkQPSM findet sich ein Video, das den Prozess samt den diversen fehlenden Modulen en Detail beschreibt. Lohn der Mühen ist zum Zeitpunkt der Drucklegung eine Version 0.9.x.
Das unter https://forum.fritzing.org/t/can-t-find-source-code/19723 bereitstehende Forum bietet – siehe Abbildung – mehr Informationen zum Thema. Anscheinend dürften die Entwickler den Code erst später ausliefern; wohl um mehr Kunden zum Bezahlen für das fertig kompilierte Release zu animieren.

Bildquelle: https://forum.fritzing.org/t/can-t-find-source-code/19723

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Meadow Desktop – bequemer Hardware-Zugriff aus Windows

USB kam für Elektroniker einer Vertreibung aus dem Serail gleich – viele früher einfach realisierbare MSR-Aufgaben arbeiteten nun in Arbeit aus. Mit der für die Desktop-Programmierung vorgesehenen Meadow.Windows-Umgebung versucht Bryan Costanich, dieses Problem zu beheben.

Worum geht es hier?

Dass die Meadow F7-Ausführungsumgebung umfangreiche Treiber-Unterstützung mitbringt, ist aufgrund diverser Besprechungen in Microcontroller.net bekannt. Mit Meadow.Desktop für Windows versuchen Bryan Costanichs Mannen wie in der Abbildung gezeigt das Einschreiben eine Abstraktionsschicht.

Bildquelle: Autor.

Für die eigentliche Hardware-Kommunikation kommen GPIO-Extender zum Einsatz-der Autor wird in den folgenden Schritten ein FTDI FT2232H-MiniModule verwenden, das über MicroUSB Verbindung mit der mit Windows 11 ausgestatteten Workstation aufnimmt.

Einrichtung einer Arbeitsumgebung.

Ob des noch sehr frühen Entwicklungsstand ist Meadow Desktop derzeit nur leidlich in das Visual Studio-Plug-in integriert-im ersten Schritt öffnen wir die Arbeitsumgebung Visual Studio 2022 Developer Command Prompt, um danach durch Eingabe der folgenden Kommandos ein Arbeitsverzeichnis zu erzeugen:

1
C:Userstamhasourcerepos>mkdir devexperiment

2
C:Userstamhasourcerepos>cd devexperiment

3
C:Userstamhasourcereposdevexperiment>

Die eigentliche Generierung des Projektskeletts erfolgt dann in einem zweistufigen Verfahren. Als „erstes“ erzeugen wir eine neue Kommandozeilen-Applikation:

1
C:Userstamhasourcereposdevexperiment> dotnet new console output MeadowWindowsSampleApp

Im zweiten Schritt bekommt diese das Grundpaket Meadow.Windows eingeschrieben – es kümmert sich (unter anderem) um das Bereitstellen der in Abbildung eins gezeigten Treiberkomponenten:

1
C:Userstamhasourcereposdevexperiment> cd MeadowWindowsSampleApp

2
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet add package Meadow.Windows

Im nächsten Schritt können wir auch schon eine charakteristische Wellenform ausgeben. Hierzu bearbeiten wir die Datei Program.cs, deren Deklaration nun nach folgendem Schema beginnt:

1
using Meadow;

2
using Meadow.Devices;

3
using Meadow.Foundation.ICs.IOExpanders;

4
using Meadow.Hardware;

5

6
public class MeadowApp : App<Windows>

7
{

8
private Ft232h _expander = new Ft232h();

9
private IDigitalOutputPort _c0;

Neben der Ableitung der App-Klasse von generischen Parameter Windows ist hier auch die Erzeugung der Klasse Ft232h interessant – sie erzeugt ein Abstraktionsobjekt, das den FTDI-GPIO-Expander für unseren .net-Code ansprechbar macht.
Im nächsten Schritt ist das eigentliche Hochfahren des Betriebssystemkerns erforderlich:

1
static async Task Main(string[] args)

2
{

3
await MeadowOS.Start(args);

4
}

Zu guter Letzt findet sich dann das eigentliche Prozessrechnerprogramm, das sich vom Aufbau her stark daran orientiert, was man von der gewöhnlichen Meadow F7-Entwicklung kennt:

1
public override Task Initialize()

2
{

3
Console.WriteLine(“Creating Outputs”);

4
_c0 = _expander.CreateDigitalOutputPort(_expander.Pins.C0);

5
while (true)

6
{

7
_c0.State = !_c0.State;

8
Thread.Sleep(1);

9
}

10
return Task.CompletedTask;

11
}

12
public override Task Run()

13
{

14
Resolver.Log.Info(“Run…”);

15
Resolver.Log.Info(“Hello, Meadow.Windows!”);

16
return base.Run();

17
}

18
}

Sodann bietet sich eine erstmalige Kompilation an, was auf Kommandozeilenebene in der Eingabeaufforderung nach folgendem Schema erfolgt:

1
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet build

Wie die „Prozessrechner-Variante“ ist auch der Desktop-Version der Meadow-Arbeitsumgebung vollständig modularisiert. Aus diesem Grund erscheint die Fehlermeldung error CS0234: Der Typ- oder Namespacename “ICs” ist im Namespace “Meadow.Foundation” nicht vorhanden., die auf das Nicht-vorhanden-sein eines NuGet-Pakets hinweist. Die Behebung erfolgt folgendermaßen:

1
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet add package Meadow.Foundation.Ics.IOExpanders.FT232h

Im nächsten Schritt ist eine abermalige Kompilation und Ausführung erforderlich, was die beiden folgenden Befehle erledigen:

1
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet build

2
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet run

Zum Zeitpunkt der Drucklegung dieses Artikels gilt, dass das Basispaket die benötigten Treiber für das FTDI-Modul nicht „vollständig“ bereitstellt. Stattdessen erscheint die folgende Fehlermeldung:

1
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet run

2
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.

3
—> System.TypeInitializationException: The type initializer for Meadow.Foundation.ICs.IOExpanders.Ft232h threw an exception.

4
—> System.DllNotFoundException: Unable to load DLL libmpsse or one of its dependencies: Das angegebene Modul wurde nicht gefunden. (0x8007007E)

Zur Behebung öffnen Sie die URL https://ftdichip.com/software-examples/mpsse-projects/libmpsse-spi-examples/ in einem Browser ihrer Wahl, und klicken auf den Link LibMPSSE V1.0.3. Entpacken Sie das Archiv dann, und erbeuten Sie die Datei im Ordner LibMPSSE_1.0.3Windowslibmpsse-windows-1.0.3.zipreleasebuildx64 befindlichen Dateien – sie wandern in das Verzeichnis C:UserstamhasourcereposdevexperimentMeadowWindowsSampleAppbinDebugnet7.0. Danach ist eine abermalige Ausführung möglich.

Evaluation der Ausgabegeschwindigkeit per Picoscope.

Unser hier verwendetes MiniModule besteht aus „zwei“ FTDI-Modulen – die API arbeitet normalerweise mit dem A-Modul. Aus diesem Grund verbinden wir den Kanal eins des PicoScope mit Pin AC0, wo wir das in der Abbildung gezeigte Schirmbild sehen.

Bildquelle: Autor.

Im nächsten Schritt bietet es sich an, nach folgendem Schema vier Zustandsänderungen in der Arbeitsschleife zu platzieren und so Rückschlüsse über die „Arbeitsgeschwindigkeit“ zu gewinnen:

1
while (true) {

2
_c0.State = !_c0.State;

3
_c0.State = !_c0.State;

4
_c0.State = !_c0.State;

5
_c0.State = !_c0.State;

6
Thread.Sleep(1);

7
}

An dieser Stelle erweist sich die Nutzung der Persistenzfunktion als wenig vorteilhaft, weil sie zu „Verwachschungen“ der extrem instabilen Ausgabe führt. Die beiden Abbildungen erlauben eine Abschätzung.

Bildquelle: Autor

Experimente mit höherwertigen Interfaces.

FTDI exponiert am FT232 sowohl einen I2C-als auch einen SPI-Bus – zum Zeitpunkt der Drucklegung weisen Bryan Costanichs Mannen in der Dokumentation an mehrerlei Stelle hin, dass derzeit nur die SPI-Implementierung funktionsfähig ist.
Für ein nächstes Experiment wollen wir auf das unter https://github.com/WildernessLabs/Meadow.Core.Samples/tree/main/Source/Meadow.Windows.Samples bereitstehende Beispiel setzen, dass das XXX-TFT-Display ansteuert.
Erste Amtshandlung ist auch hier die Wiederherstellung der diversen benötigten Pakete – öffnen Sie hierzu die Datei https://github.com/WildernessLabs/Meadow.Core.Samples/blob/main/Source/Meadow.Windows.Samples/IO/SPI/SPI.csproj, und analysieren Sie das nach folgendem Schema aufgebaute Mark-Up:

1
<ItemGroup>

2
<PackageReference Include=“Meadow.Foundation.ICs.IOExpanders.Ft232h” Version=“0.*” />

3
<PackageReference Include=“Meadow.Units” Version=“0.*” />

4
<PackageReference Include=“Meadow.Windows” Version=“0.*” />

5
<PackageReference Include=“Meadow.Foundation.Displays.TftSpi” Version=“0.*” />

6
</ItemGroup>

Im Fall des vorliegenden Beispiels lassen sich die fehlenden Elemente nach folgendem Schema importieren:

1
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet add package Meadow.Foundation.Displays.TftSpi

2

3
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet add package Meadow.Units

Leider gilt, dass die Ausführung des vorliegenden Programms im Moment zu folgenden Problemen führt:

1
C:UserstamhasourcereposdevexperimentMeadowWindowsSampleApp> dotnet run

2
Update Service is disabled.

3
Creating SPI Bus

4
Creating Display

5
App Error in App Initialize: Native error: FT_INVALID_PARAMETER

6
System.Exception: Native error: FT_INVALID_PARAMETER

7
at Meadow.Foundation.ICs.IOExpanders.Native.CheckStatus(FT_STATUS status)

8
at Meadow.Foundation.ICs.IOExpanders.Ft232SpiBus.OnConfigurationChanged(Object sender, EventArgs e)

9
at Meadow.Hardware.SpiClockConfiguration.set_Speed(Frequency value)

10
at Meadow.Hardware.SpiCommunications.AutoSetBusSpeedAndMode()

In der „Theorie“ ist es möglich, nach folgendem Schema „andere“ Werte einzuschreiben – die-Definitionen finden sich dabei im unter http://www.ftdichip.com/Support/Documents/AppNotes/AN_114_FTDI_Hi_Speed_USB_To_SPI_Example.pdf bereitstehenden Dokument, das die FTDI-SPI-Implementierung en Detail erklärt und auf die Pin-Zuweisungen eingeht:

1
public override Task Initialize()

2
{

3
Console.WriteLine(“Creating SPI Bus”);

4
var clk = new SpiClockConfiguration(new Frequency(4000000, Frequency.UnitType.Hertz));

5
var bus = _expander.CreateSpiBus(_expander.Pins.D0, _expander.Pins.D1, _expander.Pins.D2, clk);

In der Praxis gilt derzeit allerdings, dass auch diese „fortgeschrittene“ Variante nicht zum Ziel führt – das Problem ist Bryan Costanich mittlerweile bekannt, und wird in einem Folgeteil behoben.

Was bringt es?

Mit Meadow.Desktop erleben mit COM-und LPT-Port aufgewachsene Entwickler in vielerlei Hinsicht die „Rückkehr ins Serail“. Im Zusammenspiel mit einem FTDI-MiniModule – der OEMSecrets-Bestpreis des hier verwendeten Bauteils (siehe https://www.oemsecrets.com/compare/FT2232H-56Q%20MINI%20MDL) liegt bei 30 EUR – bekommen Entwickler wieder niederschwelligen Zugang zu Hardware unter Nutzung von C# und Visual Basic. Schon aus diesem Grund sind die „Kinderkrankheiten“ zu tolerieren!

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Arduino mit ChatGPT, JavaScript und Python; Pico W mit Bluetooth und UDOO mit AI-Cloudsystem

Arduino, Raspberry Pi und die diversen kleineren Hersteller liefern sich einen harten Kampf um Marktanteile und Aufmerksamkeit – schon lang wird dabei nicht mehr nur mit Hardware, sondern auch mit “Value Added Services” gekämpft. Hier eine Liste neuer Funktionen der verschiedenen Anbieter,

Arduino Cloud interagiert mit ChatGPT

Mit dem unter https://projecthub.arduino.cc/dbeamonte_arduino/chat-with-chatgpt-through-arduino-iot-cloud-6b4ef0 en Detail beschriebenen Projekt verbindet Arduino das hauseigene Backend- und Dashboardsystem erstmals mit ChatGPT.

Bildquelle: Arduino

Interessant ist dabei, dass die eigentliche Verarbeitung der Anfragen nicht über die Cloud erfolgt. Stattdessen senden die Cloudwidgets die einzuholenden Prompts an den RP2040 Nano, der diese danach bei ChatGPT einreicht und die Ergebnisse in das Cloud-Dashboard zurückgibt.

Arduino Cloud: Unterstützung für JavaScript- und (Micro)Python-Applikationen

Die Arduino Cloud kommt normalerweise mit einer durchaus komfortablen Arduino-Bibliothek zum Anwender, die wir unter Beitrag “Arduino IoT Cloud – IoT-Clouddienst ohne MQTT” en Detail beschrieben haben. Mit “Manual Setup for Any Device” steht nun ein generisches Interface zur Verfügung, über das beliebige Drittanbietergeräte Verbindung zur Arduino Cloud aufnehmen können.
Sowohl für JavaScript als auch für Python stehen unter https://docs.arduino.cc/arduino-cloud/getting-started/manual-device Bibliotheken bereit – ein kleines Beispiel für Python präsentiert sich folgendermaßen:

1
import time

2
import logging

3

4
import sys

5
sys.path.append(“lib”)

6

7
from arduino_iot_cloud import ArduinoCloudClient

8

9
DEVICE_ID = b“YOUR_DEVICE_ID”

10
SECRET_KEY = b“YOUR_SECRET_KEY”

11

12
def logging_func():

13
logging.basicConfig(

14
datefmt=“%H:%M:%S”,

15
format=“%(asctime)s.%(msecs)03d %(message)s”,

16
level=logging.INFO,

17
)

18

19
# This function is executed each time the “ledSwitch” variable changes

20
def on_switch_changed(client, value):

21
print(“Switch Pressed! Status is: “, value)

22

23
if __name__ == “__main__”:

24

25
logging_func()

26
client = ArduinoCloudClient(device_id=DEVICE_ID, username=DEVICE_ID, password=SECRET_KEY)

27

28
client.register(“temperature”)

29
client[“temperature”] = 20

30
client.register(“ledSwitch”, value=None, on_write=on_switch_changed)

31

32
client.start()

Udoo Boards: hauseigener Clouddienst CLEA ante portas

Das Boardhaus Udoo – bekannt für seine innovativen Designs und seine Glücklosigkeit mit Intel und der allgemeinen Komponentenverfügbarkeit – kündigte in einer Meldung an Käufer des Udoo Key einen neuen Clouddienst an. Als wichtigste Features avisiert man folgendes:

1
Custom Application Creation and management

2
 

3
Advanced Device Management

4
 

5
OTA Update

6
 

7
Remote debugging

8
 

9
Data Ingestion and Data Management

10
 

11
End user, Organization, and client management

Unter https://clea.ai/ findet sich das in Abbildung zwei gezeigte Architekturdiagramm, das die Cloud als eine “lustige Mischung” verschiedener quelloffener und proprietärer Technologien präsentiert.

Bildquelle: SECO

Zur Bepreisung gibt es schon jetzt Informationen:

1
Basic Plan: 6.99 per month up to 10 devices

2
Standard Plan: 49.99 per month up to 50 devices

3
Premium Plan: 99.99 per month up to 100 devices

Raspberry Pi Pico W – Bluetooth jetzt offiziell

Die Entscheidung der Raspberry Pi Foundation, das Infineon-Funkmodul nur per SPI anzubinden (siehe https://www.youtube.com/watch?v=_-5gPj0fphg), dürfte wohl auch dem Mangel an GPIO-Ports am RP2040 geschuldet sein.

Sei dem wie es sei, ist die Bluetoothunterstützung für den Pico W nun offiziell. In der unter https://www.raspberrypi.com/news/new-functionality-bluetooth-for-pico-w/ bereitstehenden Ankündigung findet sich die Bestätigung, dass das Onlinebringen der Funktion nur Dank aktiver Mithilfe seitens Infineon möglich war:

1
Routing both WiFi and Bluetooth traffic over the single threepin SPI bus between RP2040 and CYW43439 has been a substantial engineering challenge. Wed like to express our thanks to our friends at Infineon, and in particular Graham Smith, for their assistance in productionising this capability.

Qt für Mikrocontroller – Version 2.5LTS verfügbar

Dass die Mikrocontrollervariante von Qt – neudeutsch Qt for MCUs – mit Qt im Allgemeinen nicht viel zu tun hat, ist spätestens ob des Fehlens von QtCore offensichtlich. Trotzdem erfreut sich der QML-Renderer immer höherer Beliebtheit.
Unter https://www.qt.io/blog/qt-for-mcus-2.5-lts-released findet sich nun die in der Abbildung gezeigte Grafik – wer der hohen Releasekadenz entkommen möchte, darf sich an einer neuen LTS-Version des Produkts erfreuen.

Bildquelle: Qt Group

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Eagle-Abkündigung, I3C-Standardaktualisierung, ARM-Wettbewerb für Startups uvm.

AutoDesk finalisiert die Pläne für die Eagle-Abkündigung bzw. die Zusammenlegung mit Fusion 360. Von Seiten der hinter I3C stehenden Standardisierungs Organisations Mipi gibt es diverse „Standard-Updates“ und Whitepaper, während Audio Precision ein Whitepaper mit Daten zu Lautsprecher-Messungen zur Verfügung stellt.

Autodesk: Eagle wird nur noch Teil von Fusion 360

Seit der Übernahme von CadSoft durch Autodesk gibt es immer wieder Gerüchte, dass die Zeit der PCB-Layout Software Eagle „eingeschränkt“ sei. Im unter https://www.autodesk.com/products/fusion-360/blog/future-of-autodesk-eagle-fusion-360-electronics/ bereitstehenden Blogposts spricht Autodesk nun darüber, „wie“ die Zukunft von Eagle aussieht. Erstens gilt, dass Eagle in jeder alleinstehenden Form abgekündigt wird – am siebenten Juni 2026 endet jegliche Unterstützung. Spezifischerweise gilt, dass manche Abonnenten schon früher umsteigen müssen:

1
EAGLE Premium Subscribers: Your current subscription will continue to give you access to EAGLE Premium. EAGLE will no longer be available after June 7, 2026.

2
EAGLE Standard Subscribers: When your subscription term is up for renewal in 2024, you will need to subscribe to Fusion 360. A subscription will give you access to Fusion 360 Electronics and EAGLE functionality until it is no longer available in 2026. 

3
EAGLE Free Subscribers: Fusion 360 for Personal Use is the suggested path forward. Fusion 360 for Personal Use includes integrated CAD, CAM, and CAE functionality, up to two schematics, two layers, and a 100mm x 80mm board area. If youre looking for more, costeffective monthly and annual subscription options are available. 

Als „Ersatz“ plant Autodesk – logischerweise – die Nutzung des hauseigenen Services Fusion 360; unter der URL https://assets.library.io/migrationGuides/migration-guide-EAGLE.pdf findet sich ein Migrationsguide.

Wichtig ist außerdem, dass die unter https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/Autodesk-EAGLE-Announcement-Next-steps-and-FAQ.html bereitstehende FAQ darauf hinweist, dass „uralte“ Lizenzen nicht ewig gelten werden – Spezifischerweise gilt folgendes:

1
I have a perpetual license of EAGLE (prior to the acquisition of EAGLE by Autodesk).  How does this affect me?

2
Your perpetual license will not be impacted by this announcement. The version of EAGLE for which you purchased a perpetual license will continue to function on your current machine.

Bildquelle: AutoDesk

I3C-Standard: Klarifizierung von Standard-Dokumenten, Plugfest und Whitepaper zu Energieeinsparungen

Dass ein Standard „nur“ eine Einladung ist, möglichst viele „inkompatible“ Systeme zu entwerfen, ist bekannt. Das hinter dem I3C-Bus stehende Standardisierungsgremium Mipi hat Formalisierungen vorgenommen, um die Dokumente weniger missverständlich zu gestalten.
Die wichtigste Neuerung betrifft das I3C Host Controller-Interface, in dessen Version 1.2 eine Gruppe neuer Features zur Verfügung steht:

1
This specification details how to develop both hardware and software for an I3C Host Controller. The v1.2 version provides new optional features, including Scheduled Commands and Secondary Controller, Dead Bus Recovery and new register ALT_QUEUE_SIZE for Alternate Response Queue size in PIO Mode. In addition, this specification repurposes bit 28 in the IBI Status Descriptor and Broadcast CCC payload data from the Active Controller on the I3C Bus when the Host Controller is in Standby Controller mode and receives certain Broadcast CCCs.

Wer mehr Informationen über das neue Interface erhalten möchte, kann unter der URL https://www.mipi.org/specifications/i3c-hci die Spezifikation herunterladen – ein „Gutteil“ der Daten steht dabei auch für Nichtmitglieder zur Verfügung.
Neuerung Nummero zwei ist die Abhaltung eines der als „Plugfest“ bezeichneten Events.

Bildquelle: https://www.mipi.org/san-jose-plugfest?.

Analog zu den von diversen Feldbus-Standardisierungs Gremien veranstalteten Varianten gilt auch hier, dass das Plugfest ein „Zusammenkommen“ von I3C-Nutzern ist – Sinn des Meetings ist, so viele Geräte-Kombinationen wie möglich miteinander zu verpaaren, um die weitest-mögliche Interoperabilität innerhalb des Ökosystems sicherzustellen.
Zu guter letzt – dann wollen wir den I3C-Hattrick beenden – sei noch auf das unter der URL https://www.mipi.org/download-mipi-whitepaper-achieving-power-efficiency-in-iot-devices-with-mipi-i3c bereitstehende Whitepaper Achieving Power Efficiency in IoT Devices with MIPI I3C hingewiesen.

I3C-Angebotsliste von I3C-Implementierungen

Der I3C-Standard wird zwar von immer mehr Chips unterstützt – eine Liste von Sensoren gibt es indes noch nicht. Unter der URL https://binho.io/blogs/i3c-reference/i3c-devices findet sich eine von einem I3C-Nutzer gepflegte Liste, die sowohl Sensoren als auch Mikrocontroller auflistet.

Bildquelle: https://binho.io/blogs/i3c-reference/i3c-devices?

Apple: Unterstützung für private 5G- und LTE-Netzwerke.

Die vor einiger Zeit abgehaltene Apple-Entwicklerkonferenz beschäftigte vor allem die populärwissenschaftlichen Medien – wenn Apple eine „neue Produkt-Gattung“ anbietet, haben die Medien eine neue Sau, die sie durch das Dorf treiben können.
Im Hintergrund führte Apple allerdings auch eine Anpassung durch, die für den Betrieb privater LTE- und 5G-Netzwerke relevant ist.
Ab sofort ist es nämlich auch erlaubt, Apple-Geräte in diesem Bereich einzusetzen. Der „relevanteste“ Teil der unter https://support-apple-com.translate.goog/guide/deployment/support-for-private-5g-and-lte-networks-depac6747317/web?_x_tr_sl=en&_x_tr_tl=pt&_x_tr_hl=pt-BR&_x_tr_pto=sc im Volltext bereitstehenden Ankündigung ist in der Abbildung gezeigt.

Bildquelle: Apple.

Arm: Erweiterung der Unterstützung für Start Ups.

Wohl aufgrund der Verfügbarkeit der quelloffenen RISC/V-Architektur bietet Arm immer mehr hauseigenes IP für Startups kostenlos an. Dahinter steht der Gedanke, das Unternehmen zur Nutzung von Arm-Technologie zu animieren – nach dem „Design in“ ist ein Wechsel teuer, weshalb das Bezahlen der Lizenzgebühr als „ökonomisch vernünftigster“ Weg auf der Agenda der Neugründung stehen wird.
Erstens steht mit dem unter https://siliconcatalyst.com/arm-sic-contest-2023 im Detail beschriebenen Silicon Startup Contest ein „neuer“ Wettbewerb zur Verfügung – wer ihn gewinnt, wird (wie in der Abbildung gezeigt) finanziell beim Tape-Out der hauseigenen IC-Designs unterstützt.

Bildquelle: ARM.

Neuerung Nummero zwei sind „Erweiterungen“ des kostenlos zur Verfügung gestellten IP-Portfolios, das nun auch den Cortex A55-Prozessorkern enthält. Weitere Informationen hierzu finden sich unter den URLs https://www.arm.com/products/flexible-access/startup und https://www.arm.com/blogs/blueprint/silicon-startups.

Erste Daten zum Meadow F7-Funksystem.

Das Bryan Costanich auf seinem Entwicklerevent Unterstützung für Funkmodule angekündigt hat, ist bekannt. Unter der URL http://beta-developer.wildernesslabs.co/Meadow/Meadow.OS/Cellular/ findet sich nun eine „erste“ Beschreibung der zur Steuerung der Funkmodule vorgesehenen APIs.

Whitepaper mit Informationen zu Lautsprecher-Messungen.

Dass man mit den berühmt-berüchtigten „AudioFools“ viel Geld verdienen kann, dürfte bekannt sein. Wer Lautsprecher kommerziell einsetzt, tut gut daran, die verschiedenen in Datenblättern genannten Messwerte zu verstehen. Audio Precision – das Unternehmen bietet verschiedene Messgeräte für den Lautsprecherbereich an – stellt unter der URL https://go.ap.com/ewlsappnoteap?deliveryName=DM138530 ein 40-seitiges Dokument zur Verfügung, das „Quereinsteiger“ in die Grundlagen der Lautsprechermessung einführt.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Neue Bauteile: Hitzeresistente Leuchtdioden, I3C-Sensoren und vieles andere mehr

Auch im Mai gab es im Bauteilmarkt Neuerungen – unter Anderem kommt der I3C-Standard langsam aber sicher in Fahrt, was sich in der Verfügbarkeit diverser Sensoren äußert. Hier ein kleiner Überblick der Neuerungen!

KingBright: Leuchtdioden höherer Hitzeresistenz

Wer – wie der Newsautor – vor vielen Jahren in die Welt der Elektronik eingestiegen ist, hatte beim Löten der (damals fragilen) Leuchtdioden immer ein etwas mulmiges Gefühl.
Der Optoelektronik-Spezialist KingBright schickt nun eine ganze Reihe von Leuchtdioden ins Rennen, die Temperaturen von bis zu 100 °C dauerhaft standhalten können. Die Bauteile gibt es dabei sowohl als Side View – als auch als Top View-Varianten; die Halbleiter-Chemie deckt die Farben rot, grün, blau, gelb und orange ab.

Die „normalen“ Serien laufen im Allgemeinen unter dem Namen APT, während die Side View-Varianten unter AA laufen. Zu beachten ist, dass die Dioden wesentlich teurer sind als gewöhnliche Kollegen. Die APT1608SYC kostet beispielsweise in Hunderterstückzahlen als OEMSecrets-Bestpreis rund 30 Eurocent, normale LEDs sind um den Faktor zehn billiger.

Bildquelle: Autor

Stromverbrauchs-Sensor mit I2C-Interface.

Mit dem INA234 schickt Texas Instruments einen Shunt-Ausleser ins Rennen, der im Zusammenspiel mit einem Shunt genaue Ermittlungen des Stromverbrauchs erlaubt und die Ergebnisse über ein I2C-Interface zur Aberntung zur Verfügung stellt. Abbildung zwei zeigt, wie das System „im Prinzip“ funktioniert.

Bildquelle: Texas Instruments.

NXP PP3T1x – I2C-Thermosensoren mit bis zu 0,4° Genauigkeit und Unterstützung für I3C.
Der I2C-Nachfolger I3C wird von immer mehr Chipherstellern umgesetzt. Mit der PP3T1x-Familie schlägt NXP nun eine Familie von Temperatursensoren ins Rennen, die Genauigkeiten von bis zu 0,4° erreichen.
Interessant ist an den vorliegenden Bauteilen vor allem, dass sie – siehe die beiden Abbildungen – sowohl im I2C- als auch im I3C-Format kommunizieren können.

Bildquelle: NXP.

Analog Devices ADR3630-Spannungsreferenz mit initialer Ungenauigkeit von ±0.04% und bis zu 70 mA Ausgangsstrom.

Das Liefern „vergleichsweiser hoher“ Ströme ist für Spannungsreferenzen im Allgemeinen Kryptonit. Mit dem ADR3630 schickt Analog Devices nun ein Bauteil ins Rennen, das die in der Abbildung gezeigten Genauigkeitswerte aufweist.

Bildquelle: Analog Devices.

Hervorragend ist am vorliegenden Bauteil, dass es – wie in der Prinzipschaltung gezeigt – zum Treiben höherer Ströme befähigt ist. Im Datenblatt finden sich ausserdem einige interessante Applikationen.

Bildquelle: Analog Devices.

Analog Devices MAX22196 – Feld-Sensor – zu SPI-Wandler mit GPIO-Komplement (!!!).

Dass „Feld-Sensoren“ gern mit der Übertragung von Strömen arbeiten, ist bekannt. Mit dem MAX22196 schickt Dallas Maxim nun ein Bauteil ins Rennen, das auf die „Auswertung“ von bis zu acht derartigen Sensoren spezialisiert ist; als Eingangs- bzw. Ausgangs-Strom sind Werte von 0,5-6,75 mA zulässig; die Aberntung der gelesenen Werte erfolgt über ein SPI-Interface.

Bildquelle: Analog Devices.

Wer das in der Abbildung gezeigte Schaubild sorgfältig betrachtet, findet unten rechts seltsames – neben der eigentlichen Eingangs-Funktion spendiert Dallas Maxim einen Ausgangsblock, über die der per SPI Informationen anliefernde Mikrocontroller Daten nach außen tragen kann. Je nach Parametrisierung ist es dabei sogar erlaubt, wie in der Abbildung gezeigt eine 9 × 9-LED-Matrix anzusteuern.

Bildquelle: Analog Devices.

Broadcom HD SM-20XX-SMD-Siebensegmentanzeigen

Obwohl Siebensegmentanzeigen in der Zeit preiswerter OLED-Displays an Wertigkeit verloren haben, gibt es nach wie vor viele Fälle, in denen ihre unbürokratische Ansteuerbarkeit Vorteile bringt – ein gutes Beispiel wären die in diversen Tektronix TDS-Scopes verbauten „Zustandsdisplays“.
Im Allgemeinen galt dabei allerdings, dass die Nutzung eine solche sieben Segment-Anzeige das Hinzufügen von Thruhole-Bauteilen zur BOM erforderlich macht.
Mit den HDSM-201x und HDSM-203x-Serien „bricht“ Broadcom mit dieser Tradition. Die 203xer haben dabei eine gemeinsame Kathode, während die 201xer eine gemeinsame Anode aufweisen.

Bildquelle: Broadcom.

Diodes Incorporated PSMUX136

Wer hochfrequente Signale zu schalten hat, greift nur allzu gern zu verschiedenen elektromechanischen Bauteilen. Mit der in Hunderterstückzahlen um rund 60 Eurocent erhältlichen PSMUX136 bietet Diodes Incorporated nun eine „Alternative“ an.

Bildquelle: Diodes Incorporated

Für den Port A verspricht man einen -3 dB-Punkt im Bereich von 5,5 GHz; der Port B hat eine Bandbreite von 5,3 GHz. Die Übergangswiderstände betragen 4.6 bzw. 5.7 Ohm, während der Propagations-Delay im Bereich von 0.1 ns liegt.

Bosch BMP 585-flüssigkeitsresistenter barometrischer Sensor.

Mit dem BMP585 schickt Bosch einem Druck-Sensor ins Rennen, der den Bereich von 300hPa  bis 1250hPa  abdeckt. Interessant ist am vorliegenden Bauteil zweierlei: Erstens ist es wasserfest, zweitens unterstützt es – siehe auch die Abbildung – Kommunikation per I2C, I3C und SPI.

Bildquelle: Bosch.

Stewart: Ethernet-Kabel im „selbstaufrollenden“ Zustand.

Der Preis für das „lustigste“ Bauteil geht in dieser Auslieferung sicher an Steward Connector – das Unternehmen gehört mittlerweile zur Bel-Gruppe. Mit der BM-CBRR-Familie stehen Internet-Kabel zur Verfügung, die – wie in der Abbildung gezeigt – gekräuselt sind.

Bildquelle: Mouser.

Ein 1 m langes Kabel kostet dabei ungefähr 120 Euro – Bel lässt sich den gesteigerten Komfort durchaus bezahlen.

OnSemi – selbstschützender Mosfet.

Dass diskrete Mosfets insbesondere in Stromrichtern verschiedensten Belastungen unterliegen, dürfte bekannt sein. Mit der NCV8415-Familie schickt On Semi nun eine Serie von Fets in seinen, die – wie in der Abbildung gezeigt – verschiedene „Absicherungen“ direkt auf dem Chip mitbringen.

Bildquelle: OnSemi.

PEM: SMD-„Schraubkopf“ zur Platinen-Befestigung.

Wer eine Platine befestigen möchte, setzt – normalerweise – auf ein Loch. Im Hause PEM kam man darauf, dass derartige Löcher – die Abbildung entstammt der Produkt Dokumentation – Platz entnehmen, der nicht für Leiterbahnen zur Verfügung steht.

Mit den in Hunderter-Stückzahlen um rund 80 Eurocent erhältlichen SMT-BSO steht nun ein Bauteil zur Verfügung, das dieses Problem – wie in der Abbildung gezeigt – einzuschränken sucht.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Embedded-Software: ARMBian, PicoScope, WCH-Arduino und mehr

Embeddedentwicklung ist heute ohne Software nicht denkbar. Im Laufe der letzten Tage gab es einige Updates, die Aufmerksamkeit verdienen. Neben der Verfügbarkeit von ARMBian 23.05 gibt es neue Software für die PicoScope-Serie, Tutorials zum Industrie-Android Emteria und einen Arduino-Core für eine 8051-MCU aus dem Hause WCH.

Emteria – Tutorial zur Erzeugung hauseigener Splashscreens

Wer in seinem Embedded-Betriebssystem einen hauseigenen Splashscreen einbindet, erhöht die Wertigkeit seines Endprodukts. Emteria – das Unternehmen bietet eine auf verschiedenen Prozessrechnern lauffähige Variante von Android an – stellt unter https://emteria.com/blog/custom-boot-animation-android nun ein Tutorial zur Verfügung, das das Erreichen dieses Ziels demonstriert.

Bildquelle: https://emteria.com/blog/custom-boot-animation-android

ARMBian 23.05 – Liste der Neuerungen

Das Armbian-Entwicklerteam verspricht in einer Newsaussendung, mit einem viermonatigen Entwicklungszyklus vier Releases pro Jahr zu schaffen (4*4==16) – sei dem wie es sei, steht zu Armbian 23.05 nun eine Liste der wichtigsten Änderungen bereit:

1
Armbian Bookworm based images: We are introducing Armbian Bookwormbased images, providing the latest features and updates from Debian community.

2
i3 supported: i3 has been added as the fourth officially supported desktop environment, expanding the options available to our users.

3
Fixes and Enhancements: We have addressed issues in key tools such as armbianinstaller, armbianconfig, and armbianfirstrun, ensuring a smoother user experience.

4
Streamlined Packages: We have optimized our package base, making it nearly identical across different underlying package bases and desktop choices. This standardization improves predictability and enhances security.

5
Consistent Application Packages: Regardless of the chosen package base or desktop environment, the application packages remain the same. This ensures consistent functionality and ease of use.

6
Improved UbuntuBased Assemblies: We have successfully removed the unnecessary Ubuntu advantage services from our Ubuntubased assemblies, as they do not provide any advantages in this specific hardware segment. Internet browsers are installed without snap technology, and we directly host many 3rd party applications in our repositories.

7
Fast and Safe Updates: Our streamlined system allows for fast and safe updates, ensuring that users can easily stay up to date with the latest improvements and security patches.

Ein detaillierter Change Log für das Release findet sich unter https://docs.armbian.com/Release_Changelog/. Zu guter Letzt steht unter https://github.com/NicoD-SBC/armbian-gaming ein Installationsskript zur Verfügung, das verschiedene Spiele und Emulatoren automatisiert auf Armbian-Systemen deployt.

PicoScope: PicoScope 7 final verfügbar

Der britische Anbieter von USB-Oszilloskopen arbeitet seit längerer Zeit an einer neuen Version ihrer Betriebssoftware: die bisher als Beta verfügbare Version steht nun in einer finalen Variante zur Verfügung.

Bildquelle: https://press.picotech.com/press-releases/picoscope-7-next-generation-oscilloscope-software-for-enhanced-performance-and-user-experience/en

Herausragend ist am neuen Release die kostenlose Unterstützung für verschiedene Protokolle: neben I3C steht auche in Decoder für CAN XL zur Verfügung. Die für Windows, Mac OS und Linux gleichermaßen angebotene Software steht unter https://www.picotech.com/products/picoscope-7-software zum Download bereit.

WCH CH55X – Arduino-Kern für die Controllerfamilie

WCH ist als Anbieter verschiedenster preiswerter Mikrocontroller bekannt – neben dem vor einiger Zeit medial überpräsentierten RISC-V-Kern (siehe Beitrag “CH32V003 – Experimente mit dem Zehn Cent-Mikrocontroller”) steht auch ein 8051-basierter Achtbitter zur Verfügung.

Bildquelle: https://github.com/DeqingSun/ch55xduino

Für dieses sehr preiswerte Bauteil gibt es seit einiger Zeit einen Arduino-Core, der zum Zeitpunkt der Abfassung dieses Artikels so gut wie alle relevanten Funktionen des Cores unterstützt.
Eine Liste der Unterschiede und Neuerungen findet sich unter https://github.com/DeqingSun/ch55xduino – ebenda steht auch ein Demonstrationsboard zur Verfügung.

MicroEJ: Java av Sofort auch für den NXP RW612

Die einst im STMicroelectronics-Umfeld aufgekommene Java-Runtime steht seit längerer Zeit auch für den ESP32 zur Verfügung. Vor wenigen Tagen erschien ein fertiger Build für den RW612-Kommunikationsprozessor aus dem Hause NXP.

Bildquelle: https://developer.microej.com/supported-hardware/supported-hardware-nxp-rw612/

Eclipse Foundation: zwei neue Incubator-Projekte mit Automotive-Bezug

Die Eclipse Foundation sieht sich seit langer Zeit als “Provider of Governance for Open Source projects” – mit Ankaios und uProtocol stehen zwei neue Dienste am Start, die auch auf den Automotivebereich zielen.
Ankaios (siehe https://projects.eclipse.org/projects/automotive.ankaios?) ist dabei als eine Art VM-Verwaltungs-API vorgesehen:

1
Eclipse Ankaios manages multiple nodes and virtual machines with a single unique API in order to start, stop, configure, and update containers and workloads. It provides a central place to manage automotive applications with a setup consisting of one server and multiple agents. Usually one agent per node connects to one or more runtimes that are running the workloads.

Produkt Nummer zwei ist das unter https://projects.eclipse.org/projects/automotive.uprotocol en Detail beschriebene uProtocol, das eine MQTT-artige “Kommunikations-Abstraktionsschicht” zu entwickeln sucht:

1
The purpose of this project shall be to provide a transport agnostic, layered communication protocol that builds on top of existing automotive and Internet standards, from the mechatronic layer (between ECUs, VMs, etc) up to the Cloud, enabling a connected software defined vehicles.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Renesas: drei neue, für Motorsteuerung optimierte Mikrocontrollerfamilien

Im Bereich der Mikrocontroller drängen immer mehr Chips auf den Markt, deren Stärke die Ansteuerung aller Arten von Motoren ist. GigaDevice bietet mit dem GD32E5 beispielsweise ein ähnliches Produkt an; Renesas erweitert mit RA4T1, RA6T3 und und RX26T sein Portfolio. Dieser Artikel stellt die drei Neulinge vor.

Worum geht es hier?

Im Prinzip ist jeder Mikrocontroller – passende externe Bescheidung ist natürlich vorausgesetzt – zur Ansteuerung von Motoren befähigt. Sowohl die zur Motorsteuerung benutzten Algorithmen als auch die benötigte Hardware lässt sich allerdings vereinfachen, wenn das Design der Peripherie-Geräte auf die Bedürfnisse dieser Chips zugeschnitten ist.
Angemerkt sei, dass die drei neuen Chips – dieser Trend ist in der Halbleiterindustrie universell – sich auf das Generieren der Steuersignale beschränken, und explizit keine Leistungselektronik mitbringen. Zur Finalisierung der eigentlich drehenden Turbine ist immer zusätzliche Elektronik erforderlich.

RX26T – 5V-fähiger Mikrocontroller auf Basis eines RXV3-Kerns.

Kandidat Nummer eins ist der RX26T, der einen mit bis zu 120 MHz getakteten Renesas-Kern mitbringt. Neben bis zu 512 KByte Remanentspeicher und 64 KByte SRAM stehen auch 16 kB EEPROM-artiger Speicher zum Ablegen von Konstanten zur Verfügung.
Wie in der Einleitung genannt, unterstützt er einen Spannungsbereich von 2,7-5,5 V – dies ist nicht nur zu Erhöhung der Stör-Festigkeit hilfreich, sondern spart Level Shifter bei der Interaktion mit vielen Motorsteuerungs-ICS.

Bildquelle: https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx26t-32-bit-microcontroller-optimized-dual-motor-and-pfc-control?

Interessant ist, dass der GPIO-Port – wie in der Abbildung gezeigt – zweigeteilt ist. Die Pins PB1 und PB2 sind dabei „immer“ für 5 V befähigt, während sich die maximalen Spannungen der anderen Pins an der Versorgungsspannung orientieren.

Bildquelle: https://www.renesas.com/eu/en/document/mah/rx26t-group-users-manual-hardware?r=25424951.

Im Rechenkern findet sich außerdem die zweite Version des Trigonometric Function Accelerator, die nach Aktivierung verschiedene trigonometrischen Operationen stark beschleunigt. Interessant ist außerdem die erweiterte PWM-Engine, die Renesas folgendermaßen beschreibt:

1
120 MHz PWM

2
3phase complementary x 2 channels, 5phase complementary x 1 channel, singlephase complementary x 8 channels

3
Highresolution PWM x 4 channels with timing adjustment down to 260 ps (picoseconds)

Zu guter letzt gibt es einen CAN-FD-Transceiver mit den Performancedaten SO 11898-1:2015 compliant, max. 5 Mbps. Neben einem I2C-Interface steht auch ein I3C Basic-Interface zur Verfügung, um die „Zukunftssicherheit“ des Controllers zu sichern.
Die eigentliche „Darbietung“ erfolgt in verschiedenen Gehäusen; weitere Informationen sind den Abbildungen zu entnehmen.

Bildquelle: https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx26t-32-bit-microcontroller-optimized-dual-motor-and-pfc-control?

In der Pressemitteilung verspricht Renesas „sofortige“ Verfügbarkeit der Produkte bei verschiedenen Distributoren – eine OEMSecrets-Suche nach den Bauteilen ergab derzeit keine lieferwilligen Distributoren.
Dabei ist allerdings zu beachten, dass die Modellsequenz nur „die halbe Miete“ darstellt. Wer die Namen der einzelnen Chips herausfinden möchte, muss die URL https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx26t-32-bit-microcontroller-optimized-dual-motor-and-pfc-control suchen und bis zur Product Options-Tabelle nach unten scrollen.

RA4T1 und RA6T3 – ARM-basierte Motorsteuerungs-Mikrocontroller in zwei Ausbaustufen

Spätestens seit dem die diversen Anbieter von Funkmodul die „Vorteile“ des Anbieten pinkompatibler Varianten gezeigt haben, ist dieser Trend auch im Bereich der Mikrocontroller sichtbar. Der RA4T1 bringt einen mit 100 MHz laufenden Cortex M33 mit, dem entweder 128 oder 256 kB Flash und 40 KByte SRAM zur Verfügung stehen; analog zum RX26T gibt es auch hier einen vier KByte großen EEPROM-Bereich für das Remanentspeicher von Konstanten.

Bildquelle: https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra4t1-ra4-series-100mhz-arm-cortex-m33-motor-control-microcontroller?

Der RA6T3 unterscheidet sich von ihm insofern, als er seinen M33-Kern mit bis zu 200 MHz taktet und außerdem eine USB 2.0 Full Speed-Schnittstelle mitbringt. Im Rahmen der Ankündigung verspricht Renesas, dass die beiden Systeme pinkompatibel sind; das „Wechseln“ zwischen den beiden Controller ist also mit vergleichsweise geringem Aufwand (BOM-Austausch und Rekompilation der Software sowie wie üblich Testing) möglich.

Bildquelle: https://www.renesas.com/eu/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6t3-ra6-series-200mhz-arm-cortex-m33-motor-control-microcontroller?

Während die beiden Controller im Bereich der Versorgungsspannung auf 2,7-3,6 V beschränkt sind, versprechen die Datenblätter, dass einige GPIO-Pin-Pins 5 V-tolerant sind.
Hervorzuheben sind außerdem die diversen Gehäuseformate, die sich folgendermaßen präsentieren:

1
64pin LQFP (10 mm × 10 mm, 0.5 mm pitch)

2
48pin LQFP (7 mm × 7 mm, 0.5 mm pitch)

3
48pin QFN (7 mm × 7 mm, 0.5 mm pitch)

4
32pin LQFP (7 mm × 7 mm, 0.8 mm pitch)

5
32pin QFN (5 mm × 5 mm, 0.5 mm pitch)

Im Bereich der Peripheriegeräte verspricht Renesas sonst, was man von der oben besprochenen MCU kennt – es gibt einen trigonometrischen Beschleuniger, CAN FD und Unterstützung für I3C.
Interessant ist, dass einige der Controller mittlerweile bei Distributoren verfügbar sind. Die Abbildung zeigt einen Beispiel-Scan der Preislage aus OEMSecrets.

Bildquelle: OEMSecrets.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More