BeagleBone BeagleV-Ahead: BeagleBone mit RISC-V-CPU und hochwertiger Ausstattung

Bisherige RISC-V-Einplatinenrechner waren ob der schwachen Ausstattung eher schlecht als recht für Linux und Co geeignet: wirkliche Erfolge erlebten die quelloffenen Prozessorkerne vor Allem als Mikrocontroller (Stichwort GD32VF103). Mit dem BeagleV Ahead steht nun eine Variante mit 4GB RAM am Start.

Bildquelle: https://beagleboard.org/beaglev-ahead

Worum geht es hier?

Die von Jason Kridner geleitete BeagleBone Foundation bietet mit der Beagle-Serie seit langer Zeit eine Reihe von Prozessrechnern an, die als “Alternative” zum Raspberry Pi dienen und vor Allem für den Fortbildungsbereich und Experimentierwillige vorgesehen sind.

Bildquelle: Tamoggemon Holding k.s., auf dem Embedded OS Summit Praha

Mit dem Ahead steht – erstmals – eine auf einem RISC-V-Kern basierende Variante zur Verfügung.

Alibaba T-Head TH1520 als Hauptprozessor

Das traditionell im TI-Bereich ansässige Unternehmen ergriff diesmal einen Vierkerner aus dem Hause Alibaba – der T-Head TH1520 ist ein im Embeddedbereich nicht unbekanntes SoC, das vier Kerne vom Typ Xuantie C910 (siehe https://xrvm.com/cpu-details?id=4056743610438262784) mit bis zu 2 GHz taktet und für Echtzeit bzw- Standbyaufgaben auch einen E902-Kern mitbringt. Er wird ab Kernel 6.5 nativ unterstützt:

1
Among the newly added hardware, the rv64 TH1520 and the three added

2
arm64/cortexa35 based stm32mp2, ma35d1 and amlogic C3 are the

3
most notable.

4
https://lore.kernel.org/lkml/80fba92e-3836-4d27-8be6-1e5f7b5b2f53@app.fastmail.com/, via https://www.phoronix.com/news/Linux-6.5-SoCs

Im Bereich der sonstigen Beschleuniger gibt es einen Audio-DSP, eine GPU aus dem Hause Imagination und einen auf die Schnelle nicht näher spezifizerbaren AI-Beschleuniger:

1
2GHz quadcore RISCV 64GCV Xuantie C910 central processing unit (CPU)

2
50GFLOPS, 3Mpixel/s Imagination BXM464 graphics processing unit (GPU)

3
4TOPS@INT8 neural processing unit (NPU) @ 1GHz

4
H.265/H.264 @ 4Kp75 video decoder

5
H.265/H.264 @ 4Kp40 video encoder

6
2x image signal processor (ISP)

7
2x digital signal processor (DSP)

Als Betriebssysteme steht dabei Ubuntu und Yocto zur Verfügung – mehr oder weniger fertige Images für den Rechner finden sich unter https://www.beagleboard.org/distros.

Ausreichend Speicher am Board

Die neue Variante des BeagleBone bringt 4GB Arbeitsspeicher mit. Als Remanentspeicher steht ein verlötetes eMMC-Modul mit 16GB zur Verfügung, außerdem gibt es einen MicroSD-Slot zum Anbinden von zusätzlichem Speicher.

Verschiedene Interfaces für die Hardwarekommunikation

Von Formfaktor her orientiert sich die Platine am durchaus populären BeagleBone Black. Die unter https://docs.beagleboard.org/latest/boards/beaglev/ahead/ einsehbare Dokumentation verrät allerdings die Verfügbarkeit verschiedener zusätzlicher Interfaces.

Bildquelle: BeagleBone Foundation

Mit dem mikroBUS Shuttle steht ein auf das von mikroE vorangetriebene MikroBus-Format optimiertes Erweiterungsinterface zur Verfügung, das das bequeme Anschließen der diversen von der serbischen Firma angebotenen Evaluationsboards erleichtert.

Bildquelle: https://www.mikroe.com/mikrobus-shuttle

Für die Aussenkommunikation steht ein Bluetooth- sowie ein WLAN-Modul zur Verfügung, die Antenne muss allerdings durch einen uFL-Stecker bereitgestellt werden.
Lästig ist indes, dass die Platine keinen nativen USB-Stecker mitbringt. Wer USB-Hardware anschließen möchte, muss dies über einen microUSB 3.0-Stecker tun – das Erwerben eines Adapterkabels und eines Hubs dürfte zu den ersten Amtshandlungen eines Käufers zählen.

Was kostet es?

Die BeagleBoard Foundation bietet unter https://beagleboard.org/beaglev-ahead nicht nur Dokumentation, sondern auch einen Distributorsuchdienst an. Der OEMSecrets-Bestpreis liegt zum Zeitpunkt der Drucklegung bei 133 EUR (siehe https://www.oemsecrets.com/compare/102991698).

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Neuer Arduino Nano, neuer Orange Pi Zero mit bis zu 4GB RAM und mehr

Die Welt der Einplatinenrechner ist stetig im Umbruch. Wenige Tage nach der Auslieferung des Arduino Uno R4 teasern die Arduino-Entwickler eine neue Variante des Arduino Nano. Shenzhen Xunlong aktualisiert derweil den Orange Pi Zero 3, der nun mit bis zu 4 GB RAM verfügbar ist. STMicroelectronics wandelt mit einem neuen Bauteil auf den Spuren des Kinect.

Neuer Arduino Nano mit „Fokus auf Kommunikation“ angekündigt.

Im vor wenigen Minuten verschickten Newsletter der Arduino Gruppe findet sich unter anderem die folgende Abbildung, die auf eine neue Variante des Arduino Nano hinweist.

Bildquelle: Screenshot.

Wer dem Call to Action Folge leistet, findet sich auf der Webseite https://store.arduino.cc/pages/nano-family wieder – sie listet alle derzeit bekannten Arduino-Nano-Modelle auf. Außerdem findet sich dort eine Tabelle, die wie in der Abbildung gezeigt eine neue mit einem Stern markierte Kolumne aufweist.

Bildquelle: https://store.arduino.cc/pages/nano-family

Derzeit gibt es keine weiteren Informationen – so wir mehr erfahren, posten wir eine neue News.

OrangePi Zero 3: Jetzt mit bis zu 4 GB RAM.

Shenzhen Xunlong – das Unternehmen steht hinter der Raspberry Pi-Alternative Orange Pi – bietet mit der OrangePi Zero-Familie seit jeher eine kleinere Variante des Prozessrechners an, die auf klassische Steuerungsaufgaben optimiert ist.
Mit dem Orange Pi Zero 3 erfolgt eine – eher kleine – Aktualisierung des Systems. Erstens wird fortan ein Prozessor vom Typ AllWinner H618 eingesetzt, der dank seinem 1MB großen L2-Cache etwas mehr Rechenleistung aus seinen vier Cortex A53-Kernen herauspressen kann.
Außerdem wurde die Speicher-Kapazität des bis um zwischen 15 und 25 US-Dollar teuren Prozessrechner erweitert: Das integrierte SPI-Modul hat nun 16 MB (Megabyte, nicht Gigabyte) Speicher. Außerdem gibt es nun Varianten mit bis zu 4 GB RAM – die Abbildung zeigt die „aktuellen“ Preise im unter https://www.aliexpress.com/store/group/OPI-Zero3/1553371_40000004364920.html bereit stehenden AliExpress-Webshop von Shenzhen Xunlong.

Bildquelle: https://www.aliexpress.com/store/group/OPI-Zero3/1553371_40000004364920.html.

ST: kameraartiger Distanzsensor auf Flightsense-Basis

„Distanz-Kameras“ sind spätestens seit dem Erfolg von Microsofts Kinect nicht aus der Welt zu denken – STMicroelectronics bietet seit längerer Zeit verschiedene Sensoren auf Basis der hauseigenen Flightsense-Technologie an.
Mit dem VL53L7CX versucht STMicroelectronics nun, einen „näher am Auge des Menschen“ angelegten Blickbereich zu realisieren – die Abbildung zeigt das Blickfeld, das der neue Sensor beackern kann.

Bildquelle: STMicro, via Hackster.io.

Die Auflösung des Sensors liegt indes nach wie vor bei 8 × 8 Pixeln – die in den 64 Zonen verfolgten Objekten dürfen bis zu 3,5 m Abstand zum Sensor aufweisen.
Wer den Sensor zum Prototyping einsetzen möchte, findet unter https://www.st.com/en/evaluation-tools/p-nucleo-53l7a1.html ein um rund € 30 erhältliches Nucleo-Basisboard, das mit dem STM32F401 kompatibel ist. Einzelne Sensoren kosten rund 10 EUR, während das Produkt in Hunderter-Stückzahlen einen OEMSecrets-Bestpreis von 5,5 EUR aufweist (siehe https://www.oemsecrets.com/compare/VL53L7CX).

Renesas: „Liefer-Bindung“ an SIC-Spezialist WolfSpeed.

Im SIC-Markt gibt es ebenfalls Neuerungen: Der an sich für seine Mikrocontroller-Produkte bekannte japanische Hersteller Renesas hat eine „Fix-Abnahmezusage“ für die Silicon Carbide-Wafer bei WolfSpeed unterzeichnet.
In der unter https://www.renesas.com/us/en/about/press-room/renesas-and-wolfspeed-sign-10-year-silicon-carbide-wafer-supply-agreement bereitstehenden Pressemeldung findet sich unter anderem folgende Passage:

1
the global leader in silicon carbide technology, today announced the execution of a wafer supply agreement and $2 billion (USD) deposit by Renesas to secure a 10 year supply commitment of silicon carbide bare and epitaxial wafers from Wolfspeed. The supply of highquality silicon carbide wafers from Wolfspeed will pave the way for Renesas to scale production of silicon carbide power semiconductors starting in 2025.

2

3

4
. . .

5

6

7
The decadelong supply agreement calls for Wolfspeed to provide Renesas with 150mm silicon carbide bare and epitaxial wafers scaling in CY2025, reinforcing the companies vision for an industrywide transition from silicon to silicon carbide semiconductor power devices. The agreement also anticipates supplying Renesas with 200mm silicon carbide bare and epitaxial wafers after the recently announced John Palmour Manufacturing Center for Silicon Carbide (the JP) is fully operational. 

Edge Impulse und Infineon: PSoC63 wird bald in Edge Impulse Studio unterstützt

Nutzer der Edge Impulse Studio-Plattform – das System ist im ML-Bereich weit verbreitet – können ihre Produkte bald auch auf dem Infineon PSoC63 zur Ausführung bringen. Am 12. Juli findet unter https://us06web.zoom.us/webinar/register/5916824361574/WN_NxcDlVXsTJSUsnuYqRA64A#/registration ein Webinar statt, in dem die Unternehmen weitere Informationen zur Verfügung stellen werden.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Neue Bauteile: Aktualisierte Microchip-Programmer, Piezosummer und Raspberry Pi-Zubehör

Microchip aktualisiert Oldies – die fünfte Revision der MPLAB-Entwicklungskits hat Ethernet bzw. Bluetooth-Interfaces und arbeitet wesentlich schneller. Was es sonst an neuen Bauteilen, Sensoren und Co. gibt, klärt dieser News-Round ab.

Microchip: MPLAB jetzt kommunikativer und ohne Firmwareupdate-Verzögerung.

Microchips MPLAB-Kommandogeräte sind ein Klassiker, der in kaum einem Elektroniklabor fehlen dürfte. Mit der fünften Revision bekommen die Geräte einen wesentlich leistungsfähigeren Mikrocontroller eingeschrieben, was die bisher erforderlichen (und lästigen) Firmwareupdates nach dem Wechsel des Ziel-Mikrocontrollers eliminiert und so die Arbeit beschleunigt.
Die Profi-Variante ist nun in der Lage, per Ethernet Kontakt mit der Workstation aufzunehmen – sie wechselt ihren Besitzer um sportliche € 415.
„Billiger“ geht es mit dem PicKit 5 – es kostet nun ebenfalls fast € 100, nimmt dafür aber per Bluetooth Kontakt zu einer Applikation auf, die das „direkte“ Deployen von Software erlaubt.

Bildquelle: Screenshot.

Bildquelle: Screenshot.

Microchip RNG90: I2C-Zufallszahlengenerator

Die Erzeugung von „kryptographisch zuverlässigen“ Zufallszahlen ist seit jeher eine durchaus haarige Aufgabe – mit dem RNG90 schickt Microchip nun ein darauf spezialisiertes Bauteil ins Rennen, das seine Ergebnisse – wie in der Abbildung gezeigt – über den I2C-Bus zur Aberntung bereitstellt.

Bildquelle Microchip:

Hervorragend ist am vorliegenden Bauteil unter anderem, dass es – nach folgendem Schema verschiedenste Zertifizierungen aufweist:

1
Internal HighQuality NIST SP 80090A/B/C Random Number Generator (RNG)

2
FIPS Compliant Health Tests and SelfTests for Entropy

3
Designed for FIPS1403 NIST CMVP Entropy Source Validation (ESV) Compliance

TI TMP1827 – Onewire-Temperatursensor höherer Genauigkeit

Über den OneWire-Bus ansprechbare (und selbst versorgende) Temperatursensoren sind ein Klassiker, nicht nur im Makerbereich. Mit dem TMP1827 schickt Texas Instruments nun ein Produkt ins Rennen, das sehr hohe Genauigkeitsstandards erfüllt:

1
Highaccuracy digital temperature sensor

2
TMP1827

3
±0.2°C (maximum) from +10°C to +45°C

4
±0.3°C (maximum) from 40°C to +105°C

5
±0.4°C (maximum) from 55°C to +150°C

6
TMP1827N

7
±0.9°C (maximum) from 55°C to +150°C

Neben dem eigentlichen Temperatursensor enthalten die Sensoren ein zwei KByte großes EEprom, in dem die Applikation verschiedene Informationen permanent speichern kann.
Schade ist am in Hunderterstückzahlen um rund 22 Cents (siehe OEMSecrets unter https://www.oemsecrets.com/compare/TMP1827) erhältlichen Bauteil lediglich, dass es nur im WSON-Gehäuse zur Verfügung steht – Prototyping wird ob der Gehäusegröße von nur 2,5 × 2,5 mm ein wenig „haariger“.

TI TPSF12C1 bzw. TPSF12C3: aktive EMI-Filter für wechselstromversorgte Geräte.

Dass die Reduktion bzw. Elimination von netzbezogenen Störungen zum Bestehen der Geräte-Zertifikation erforderlich ist, dürfte Leser dieses News-Roundups nicht nennenswert überraschen. Texas Instruments schickt nun ein Produkt ins Rennen, das „aktive“ EMI-Kompensation verspricht.

Bildquelle: TI.

Neben dem hier gezeigten TPSF12C1, der für einphasige Systeme vorgesehen ist, gibt es mit dem TPSF12C3 auch eine dreiphasige Variante.

InoLux IN-PI3727TBTPRPGPB: Neopixel mit sehr hoher Reichweite.

Die auf dem WS2812B-IC basierenden intelligenten Leuchtdioden ermöglichen durchaus beeindruckende optoelektronische Systeme – problematisch ist, dass das für die Kommunikation verwendete Interface nicht unbedingt störsicher ist.
Mit dem IN-PI3727TBTPRPGPB verspricht InoLux in der Datenblatt nun nach folgendem Schema wesentlich höhere Reichweite:

1
Specific Shaping Transmit Technology number

2
of LED stacked is not restricted.

3

4
Cascading Enhancement Technology any 2 LED

5
spacing can be up to 10 meters

6

7
Data transfer rate of 800 kbp/s at 30 frames per

8
second.

InoLux lässt sich diese „höhere“ Flexibilität allerdings gut bezahlen – in tausender-Stückzahlen liegt der OEMSecrets-Bestpreis bei rund € 0,20. In Fernost wechseln ähnliche Dioden oft schon um 5-10 Cent den Besitzer.

Renesas RL78/G16 – kompakter 16-Bitter im LQFP-Gehäuse.

Mit dem RL78/G16 bietet Renesas eine „neue“ Variante des hauseigenen Kerns an. Interessant ist an der vorliegenden Variante vor allem, dass das Bauteil den industriellen Temperaturbereich von -40 bis +125°C abdeckt.

TE Connectivity AMPMODU – Dupontheader in 2 mm Pitch.

Optional einlötbare und abbrechbare Dupont-Header ermöglichen bei Nutzung des Pinabstand 2.54mm die Verbindung zu Steckplatinen und Co. – sie sind in der Praxis allerdings nur leidlich nützlich, weil der Abstand für viele Aufgaben zu hoch ist.
Mit der AMPMODU-Familie schickt TE Connectivity nun ähnliche Bauteile ins Rennen, die aber einen Pin-Pitch von „nur“ 2 mm aufweisen.

Bildquelle: Mouser.

Raspberry Pi: CameraV3 und Arm Debug Probe erreichen Distributoren.

Die neueste“ Variante des Raspberry Pi-Kameramoduls und die ARM Debug Probe, die das Debugging von Arm-Mikrocontroller unter Nutzung eines RP2040 ermöglicht, haben wir in der Vergangenheit umfangreich besprochen.
Nun kommen die Produkte zu Distributoren – die Debug Probe kostet rund 12 EUR, während das Kamera-Modul je nach Variante zwischen 20 und 50 Euro den Besitzer wechselt.
Mit der Verfügbar-Werdung des Produkts ergeben sich auch Anpassungen im Ökosystem. Die für Prozessrechner und den Industrie-Einsatz optimierte Android-Variante Emteria (siehe auch https://emteria.com/) unterstützt das neue Modul in der aktuellsten Firmwareversion:

1
We have good news for Raspberry Pi enthusiasts. The brand new emteria Android 13 image (Nightly 13.3.50) now supports the Raspberry Pi Camera Module 3 for a greater camera experience.

Bildquelle: Emteria

Mallory: Piezo-Summer mit für den medizinischen Bereich zertifizierten Geräuschen.

Dass man bei der Arbeit in manchen Bereichen vor allem auf „Klags Vermeidung bzw. Eigensicherheit“ achten muss, dürfte Lesern von Microcontroller.net nicht wirklich neu sein. Mit der MSW-Serie bietet Malori nun verschiedene Pitso Summer an, die – wie in der Abbildung gezeigt – die im IEC-Standard vorgegebenen Tondateien emittieren und so bei der Abwehr von Klagen helfen können.

Bildquelle: Mallory.

GD25UF64E – SPI-NOR mit 1.2V Arbeitsspannung

Die auf Messen seit einiger Zeit angekündigten NOR-Flashspeicher mit 1.2V Arbeitsspannung sind am Weg in den Markt. GigaDevice hat nun eine Bauteilnummer angekündigt – das Datenblatt ist auf Anfrage unter der als Bildquelle genannten URL erhältlich.

Bildquelle: https://www.gigadevice.com/product/flash/product-series/spi-nor-flash/gd25uf64e

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Espressif: ESP_IDF in Version 5.1 bringt Unterstützung für H2 und C6

Wenige Monate nach der Auslieferung der Version 5.0 von ESP_IDF legt Espressif eine Nachfolgeversion vor. Am wichtigsten ist die Unterstützung für die neuen Chips H2 und C6; außerdem gibt es Fehlerbehebungen und Änderungen, die Anpassungen an vorhandenem Applikationscode erforderlich machen.

Worum geht es hier?

Wer die maximale Leistung seines ESP32 ausnutzen möchte, setzt auf die native Entwicklungsumgebung ESP_IDF. Systeme wie der Arduino basieren intern übrigens ebenfalls auf IDF – die als Arduino Core bezeichnete Arbeitsumgebung ist eine Softwareschicht, die über dem eigentlichen IDF-Framework liegt und die Ausführung der Sketches ermöglicht.

Unterstützung für C6 und H2

Die für den Smart Home-Bereich und Protokolle wie Matter vorgesehenen Chip-Varianten ESP32-C6 und ESP32-H2 waren bisher nur teilweise unterstützt – die neue Version erweitert die Unterstützung.
Weitere Informationen zu den Unterstützungsgraden der Peripheriegeräte finden sich für den C6 unter https://github.com/espressif/esp-idf/issues/10423, während der H2 unter https://github.com/espressif/esp-idf/issues/11038 abgehandelt wird. Zu beachten ist, dass Engineering Sample-Varianten der H2-Chips in 5.1 nicht mehr unterstützt werden!

Zu beachten ist außerdem, dass der ESP32-C6 bei Nutzung dieser Version mit den folgenden Problemen zu kämpfen hat:

1
In ESP32C6, there is a small chance of core dump when it sends advertisement and scanning

2
In ESP32C6, DUT might crash or disconnect with AP when light sleep is enabled

3
On ESP32C6, sometimes chip cant wakeup under low temperature, RTC memory lost under high temperature, unexpected power on reset when GPIO wakeup enabled in Deepsleep. Cant wakeup properly under high temperature from Lightsleep

Zudem gilt, dass die FPU in manchen Fällen Probleme bekommt:

1
When using the FPU from multiple tasks on the same core there is a change that the FPU state will be corrupted, causing invalid results. Issue affects ESP32 and ESP32S3 (#11690)

Liste der Breaking Changes

Espressif spricht in der unter https://github.com/espressif/esp-idf/releases/tag/v5.1 bereitstehenden Ankündigung des Releases – wie in der Abbildung gezeigt – davon, dass die neue Version von ESP_IDF „im Allgemeinen“ mit schon vorhandenem Code kompatibel sein sollte.

Bildquelle: Espressif.

In der Praxis gibt es allerdings einige Probleme, die folgendermaßen aufgelistet sind:

1
bootloader_support: The API bootloader_common_get_partition_description has now been made private, the alternative function esp_ota_get_partition_description should be used (a2f028a)

2
SDMMC/SDSPI: SD cards accept custom frequencies, not only fixed values 20 MHz or 40 MHz. See Storage migration guide for details (7d28aba)

3
ESSL: The esp_serial_slave_link is removed from the espidf components. Now user should use the component manager to pull it in. See example examples/peripherals/sdio/host/main/idf_component.yml for more details (03d8059)

4
Sleep: esp_light_sleep_start now returns two error num when sleep fails: ESP_ERR_SLEEP_REJECT and ESP_ERR_SLEEP_TOO_SHORT_SLEEP_DURATION (f191b2f)

5
Storage: All the partition handling APIs and datatype definitions have been moved from the spi_flash to the new component esp_partition. See Storage 5.x migration guide for more details (b14116f)

6
esp_chip_info() returns the chip version in the format = 100 * major eFuse version + minor eFuse version. (c546de8)

7
WiFi: Modified maximum SoftAP connection number and ESPNOW encrypted connection number. (d89a512)

8
WiFi: Changed ESPNOW receive callback function type (esp_now_recv_cb_t). This change is made to fix potential security issues mentioned in #8574. (8223a59)

9
ADC: No longer support ADC2 continuous (DMA) mode on ESP32S3 and ESP32C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 (6569be4)

10
ADC: No longer support ADC2 oneshot mode on ESP32C3, search for errata on Espressif website to know more details. Users can force use it by enabling ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 (6569be4)

11
I2S STD: Enabled left_align in the default slot configuration. For the default and most used case, data_bit_width equals to slot_bit_width, which means left_align does not matter in this case

12
For the case that data_bit_width is shorter than slot_bit_width, enabling left_align is a quite typical usage for almost all the codecs. (190e9e7)

13
NimBLE: Updated return type for nimble_port_init / nimble_port_deinit functions. (9916eb6)

14
IDF: All dynamic memory allocated by FreeRTOS now defaults to internal memory. To allocate FreeRTOS objects in special memory (e.g., external memory), please use one of the CreateWithCaps() functions in #include „freertos/idf_additions.h“ (daf4150)

Was ist neu?

Neben der „Erweiterung“ der unterstützten Chips führte Espressif Verbesserungen im Bereich der Funkmodule bzw. der Coexistenz verschiedener Funkprotokolle durch:

1
Bluetooth: Bluetooth support use main XTAL in light sleep mode on ESP32C3/ESP32S3 (33f1747)

2
Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32C3 and ESP32S3 (d530630)

3
Bluetooth: Supported Bluetooth to release .bss and .data segment memory on ESP32C2 (8ea3865)

4
NimBLE: Added stack support for LE Power Control (8facf6f)

5
NimBLE: Migrated to nimble1.5 (07d8862)

6
WiFi: Added WPS registrar support in SoftAP mode. (f27a95c)

7
WiFi: Added support for SAEPK (Public Key) authentication for station. (e44c7fb)

8
WiFi: Added support of WPA3 Personal (SAE) in SoftAP. (146a5c4)

9
WiFi: Added WiFi Aware (NAN) support(currently only ESP32/ESP32S2 support)(d5f53fb)

10
WiFi: Added support for WPA2/WPA3, mixed mode for SoftAP. (146a5c4)

11
OpenThread: Added support of Ethernet interface for Openthread br (6ca5db1)

12
OpenThraed: Supported CSL feature (bb9200a)

13
OpenThread: Supported Link Metrics feature (bb9200a)

14
OpenThread: Added SPI support in Radio CoProcessor (c0097c1)

15
Coexistence: Added external coexistence(leader mode) support on ESP32S3 and ESP32C2 (895d97d)

16
Coexistence: Added external coexistence(follower mode) support on ESP32C2 (895d97d)

17
Coexistence: Added force RX mode in external coexistence on ESP32C2 (895d97d)

Im Bereich der neu hinzugekommenen Funktionen finden sich im Allgemeinen Detailverbesserungen; die auf RISC-V-Technologie basierenden ULP-Zellen von S2 und S3 sind nun zur Kommunikation per I2C befähigt.
Espressif behob außerdem die folgenden bekannten Fehler:

1
Flash MMAP: Fixed issue that only only limited vaddr ranges can be mapped to instructions/rodata on Flash on ESP32S2, C3, S3, C2 (#10373, 1c69929)

2
MSPI: Fixed timing tuning issue for 80MHz Octal PSRAM on ESP32S3, which would lead to system stall at early stage (34e5a80)

3
MSPI: Fixed timing turning issue on high frequency lead to crash when entering sleep on ESP32S3 (3b62bf5)

4
Fixed POWER ON reset when using RTC IO as input in deepsleep on ESP32S2/ESP32C3/ESP32C2 (cfcb573)

5
Fixed RTC memory lost in high temperature in deepsleep on ESP32S2/ESP32C3 (cfcb573)

6
Support 8MD256 as RTC slow clock work properly ESP32S2/ESP32C3/ESP32C2/ESP32 (cfcb573)

7
Fixed dangerous power parameters in sleep modes on ESP32S2 (cfcb573)

8
PHY: Fix the iPhone disconnects immediately after connecting when BLE and wifi coexist on ESP32C3 and ESP32S3 (e8dba71)

Ausblick und Mehr

Espressif bietet unter der URL https://docs.espressif.com/projects/esp-idf/en/latest/esp32/migration-guides/release-5.x/5.1/index.html umfangreiche Dokumentation an, die auf die Änderungen und Neuerungen eingeht. Der Changelog unter der URL https://github.com/espressif/esp-idf/releases/tag/v5.1 ist ebenfalls interessant, weil er „Verweise“ auf die zu den jeweiligen Änderungen gehörenden Diskussionen anbietet.
Zu guter letzt sei noch darauf hingewiesen, dass Espressif – naturgemäß – schon an der Nachfolgeversion 5.2 arbeitet. Weitere Informationen hierzu werden unter der URL https://docs.espressif.com/projects/esp-idf/en/latest/esp32/migration-guides/release-5.x/5.2/index.html zur Verfügung gestellt – zum Zeitpunkt der Drucklegung gibt es noch nur den folgenden Breaking Change:

1
UART

2
UART_FIFO_LEN is deprecated. Please use UART_HW_FIFO_LEN instead.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Embedded Open Source Summit – Tage 3 und 4

Am dritten Tag offenbarten sich Google und Meta (ehemals Facebook) als intensive Nutzer von Zephyr. Außerdem gab es Neuigkeiten zu Espressifs und STs Positionierung im Bezug auf das quelloffene Echtzeitbetriebssystem. Hier ein weiterer Neuigkeiten-Roundup.

Google und Meta nutzen Zephyr

Zephyr erfreut sich durchaus mächtiger Referenzkunden: Google kündigte im Rahmen einer Keynote an, das System in Zukunft in allen Chromebooks im Embedded Controller (lies: PMIC) einzusetzen.

(Bildquelle, wo nicht anders angegeben: Tamoggemon Holding k.s.)

Meta liess sich als Reaktion darauf nicht lumpen: das ehemals als Facebook verriet, Zephyr sogar in zwei hauseigenen Halbleitern einzusetzen.

Im Fall beider AI-Beschleuniger kommt Zephyr in der “Management Engine” zum Einsatz: ein spezialisierter Controller, der sich um die Verwaltung und Konfiguration der AI-Beschleunigerelemente des Chips kümmert.

Google: bauet Emulatoren und CI’et euch

Der Sprecher von Meta betonte die Wichtigkeit, mit der Softwareentwicklung vor der Verfügbarkeit des eigentlichen Chips zu beginnen. Aus der Logik folgt, dass Emulatoren hierzu hilfreich sind – den Vortrag zum Thema hielt dann wieder ein Googler.
Sein Einstieg in die Thematik war, dass die Nutzung von Sensoremulatoren verschiedene fortgeschrittene Methoden der Softwareentwicklung im Embeddedbereich ermöglicht bzw. begünstigt.

Zephyr erleichtert die Aufgabe insofern, als der Emulator auf Ebene der Bus-API andocken kann. Eine Compilerkonstante ermöglicht dann den Wechsel zwischen dem emulierten und dem realen Betriebsmodus.

Espressif: Zepyhr-Portierung vermeldet Fortschritte auf ganzer Linie

Espressif setzt in ESP_IDF – per se – auf FreeRTOS – eine nicht unvernünftige Kooperation, da das Unternehmen auch diverse Clouddienstleistungen von Big A bezieht. Trotzdem ist das hauseigene Zephyr-Team mittlerweile vier Mann stark.

Im Rahmen des Vortrages zeigte man unter Anderem die Tabelle, die über die jeweiligen Unterstützungsgrade der verschiedenen Prozessorfamilien und ihrer enthaltenen Peripheriegeräte informierte.

Zur Demonstration der Möglichkeiten setzte man auf eine über zwei Kerne verteilte Motorsteuerung auf einem klassischen ESP32: interessant daran ist, dass CPU1 ihren Code derzeit nur aus dem RAM beziehen kann.

BeagleBone: man kombiniere Zephyr und Linux

BeagleBones Neuvorstellungen richten sich direkt an Personen, die einen kombinatorischen Prozessrechner auf Basis von Zephyr und Linux zu realisieren suchen.

Im Vortrag des Firmengründers stellte BeagleBone verschiedene Varianten vor, um die beiden Systeme zusammenarbeiten zu lassen – in Retrospektive gilt, dass die Wichtigkeit des Arduino Yun nicht zu unterschätzen ist.

Neue APIs für Zephyr

Im Rahmen einer Gruppe von Talks stellten Entwickler Erweiterungen der Zephyr-APIs vor. Von Nordic Semi stammten zwei Talks, die auf den USB-Stack des Echtzeitbetriebssystems eingingen: interessant, weil dadurch Feature-Parität zu Azure RTOS und seinem USB-Paket hergestellt wird.
Das unter https://static.sched.com/hosted_files/eoss2023/1c/Introducing%20the%20Zephyr%20Input%20subsystem.pdf? en Detail beschriebene Eingabe-Subsystem zeigt die Nähe zwischen Linux und Zephyr – die Zephyr-Entwickler liessen sich von Linux inspirieren, um eine generische API für diverse Eingabegeräte zu finden.
Interessant ist auch der von Facebook vorangetriebene POSIX-Interfaceport, der Zephyr eine vollständige Implementierung von POSIX einzuschreiben sucht.

Bildquelle: https://static.sched.com/hosted_files/eoss2023/fd/ZDS-2023_%20POSIX%20Roadmap%20for%20Zephyr%20LTSv3.pdf

Neuerungen von Embedded Linux

Embedded Linux kam naturgemäß ebenfalls zur Sprache. Problem Nummero eins ist in vielen Fällen das Fehlen verschiedenster Zertifikate – eine Situation, der CodeThink mit RAFIA Änderungen verschaffen möchte. Grund für Friktionen zwischen Standardisierungsgemium und “modernem Entwickler” dürfte in vielen Fällen die Tatsache sein, dass das durchschnittliche Standardisierungsgremium moderne Methoden der Softwareentwicklung absolut nicht berücksichtigt.

Themenkreis Nummero zwei waren die verschiedenen Kernelpatches, die Linux Echtzeitfähigkeit verschaffen sollen. Der von

STMicroelectronics klarifiziert Position zu Zephyr

Die Nachfrage meiner Wenigkeit, wie das Engagement in Zephyr zur Azure RTOS-Strategie passt, löste bei den Francoitalienern erhebliche Aktivität aus. Einen Tag nach der Frage passte mich ein höherer ST-Manager überraschend an der Futterstelle ab, um nachzufragen, “welches Problem mein Unternehmen mit STs Engagement für Zephyr habe” (sic).
Auf meine Erwiederung, dass dies eine erhebliche “Störung” der Klarheit des Ökosystems darstellt, offenbarten sich zusätzliche Informationen. ST investiert in Zephyr, weil Halbleiterkunden dies wünschen – das präferierte Echtzeitbetriebssystem im Hause ST sei nach wie vor Azure RTOS, man wolle allerdings an Zephyr interessierten Kunden unter die Arme greifen.

Slides und mehr

Die Linux Foundation versprach in einer nach dem Ende des Kongresses an alle Teilnehmer versendeten E-Mail, Videos der Talks baldigst unter https://www.youtube.com/user/thelinuxfoundation online zu stellen. Schon jetzt gilt, dass die unter https://events.linuxfoundation.org/embedded-open-source-summit/program/schedule/ bereitstehende Webseite für den Gutteil der Talks die Slides im PDF-Format bereitstellt.

In eigener Sache: Grüße an die Leser!

Der Newsaffe wurde von zwei nichtrauchenden und einem rauchenden Fan angesprochen, die Nichtraucher posierten – hier die versprochenen Bilder; es war mir eine Ehre.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

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