Meadow F7: BLE-Server in Betaphase, verbesserte Kompatibilität mit .net-Standards

Bryan Costanitch’s Entwicklerteam haben eine neue Betaversion der Betriebssoftware für die Meadow F7-Plattform ausgeliefert, die neben Bluetooth LE-Unterstützung auch komplette Kompatibilität mit den in .NET Standard 2.0 geforderten APIs offeriert.

von Tam HANNA

Worum geht es hier?

Die Meadow F7-Plattform erlaubt die Ausführung von .net-Code auf einem STM32F7, der im Zusammenspiel mit einem ESP32 Verbindung zu Drahtlosnetzwerken aufnehmen kann. Mit der neuesten Version der Betriebssoftware gibt es nun die Möglichkeit, auf die Bluetooth LE-Funktionen des kombinatorischen Prozessrechners zurückzugreifen. Dank der Kompatibilität mit .NET Standard 2.0 stehen weitere NuGet-Pakete zur Verfügung.

Bluetooth LE-Peripheralemulation

Bluetooth LE unterscheidet sich von seinem ausgewachsenen Kollegen insofern, als es eine Art KV-Speicher implementiert. Als Center bezeichnete Geräte nehmen Kontakt zu den Peripherals auf, die für die eigentliche Vorhaltung der Informationen verantwortlich sind.
Die Implementierung am Meadow F7 geht dabei – wie so oft – einen Sonderweg. Die Erzeugung eines Bluetooth LE-Peripherals erfolgt durch Anlegen einer Definition-Struktur, in der Services und danach die eigentlichen Charakteristiken anzulegen sind:

1
var definition = new Definition(
2
    "MY MEADOW",
3
    new Service(
4
        "ServiceA",
5
        253,
6
        new CharacteristicBool(
7
            "My Bool",
8
            uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300aa",
9
            permissions: CharacteristicPermission.Read,
10
            properties: CharacteristicProperty.Read
11
            ),
12
        new CharacteristicInt32(
13
            "My Number",
14
            uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300bb",
15
            permissions: CharacteristicPermission.Write | CharacteristicPermission.Read,
16
            properties: CharacteristicProperty.Write | CharacteristicProperty.Read
17
            ),
18
        new CharacteristicString(
19
            "My Text",
20
            uuid: "017e99d6-8a61-11eb-8dcd-0242ac1300cc",
21
            maxLength: 20,
22
            permissions: CharacteristicPermission.Write | CharacteristicPermission.Read,
23
            properties: CharacteristicProperty.Write | CharacteristicProperty.Read
24
            )
25
        )
26
    );

Für die Abbildung der eigentlichen Datenspeicher enthält die Meadow-API eine Gruppe von Caracteristic-APIs, die die Informationen gleich typisieren. Zur Überwachung von eingehenden Schreiboperationen lassen sich natürlich auch Listener anmelden:

1
foreach (var characteristic in bleTreeDefinition.Services[0].Characteristics) {
2
    characteristic.ValueSet += (c, d) => {
3
        Console.WriteLine($"HEY, I JUST GOT THIS BLE DATA for Characteristic '{c.Name}' of type {d.GetType().Name}: {d}");
4
    };
5
}

Erweiterte Kompatibilität mit .net Standard

Hauptverwendungszweck des Meadow F7 dürfte – neben Experimenten – die Weiternutzung von schon vorhandenem geistigen Eigentum sein, das in .net-Sprachen vorliegt. Unterstützung des Standards “.NET Standard 2.1” ist in vielen Fällen Voraussetzung zur Code-Wiederverwertung. Bisher war das Fehlen der Assembly NetStandard.dll für Probleme verantwortlich; die neue Version bringt die DLL mit.
Quasi nebenbei bekommen Sie dadurch auch Unterstützung für F# in Version 5 – wer die funktionale Programmiersprache unternehmensintern verwendet, kann dies nun auch mit dem Meadow F7 tun.

Dimensions-Datentypen

Spätestens seit dem Verlust eines Raumschiffs gilt Typsicherheit im Bezug auf Einheiten als wichtig. In der neuesten Version bekommen Entwickler eine Gruppe von leichtgewichtigen Klassen, die mit Dimensionen versehene Messwerte darstellen:

1
     AbsoluteHumidity 
2
     Acceleration 
3
     Acceleration3D 
4
     Angle 
5
     AngularAcceleration 
6
     AngularAcceleration3D 
7
     AngularVelocity 
8
     Azimuth 
9
     Concentration 
10
     Current 
11
     Density 
12
     Energy 
13
     Frequency 
14
     Illuminance 
15
     Length 
16
     MagneticField 
17
     MagneticField3D 
18
     Mass 
19
     Power 
20
     Pressure 
21
     RelativeHumidity 
22
     Speed 
23
     Temperature 
24
     Torque 
25
     Voltage 
26
     Volume

Mehr lesen

Eine Komplettbesprechung der Neuerungen würde den Rahmen dieses Formats sprengen. Die unter http://developer.wildernesslabs.co/Meadow/Release_Notes/Beta5/ bereitstehende URL bietet eine gute Übersicht der Änderungen am Framework.

Sonderhinweis: Probleme beim Softwareupdate

Die Aktualisierung der Haupt-Firmware des F7 nach den unter http://developer.wildernesslabs.co/Meadow/Getting_Started/Deploying_Meadow/ beschriebenen Anweisungen schlägt mitunter mit einem nach folgendem Schema aufgebauten Fehler auf:

1
C:Program Files (x86)Microsoft Visual Studio2019Preview>meadow --FlashOS
2
. . .
3
Unhandled exception. System.ComponentModel.Win32Exception (2): Das System kann die angegebene Datei nicht finden.
4
. . .

Die Lösung des Problems ist eine Aktualisierung der als dfuutil bezeichneten Kommunikationssoftware. Dies lässt sich ebenfalls über das Kommandozeilenwerkzeug erledigen, das dazu aber Administratorrechte benötigt:

1
C:WindowsSystem32>meadow --InstallDfuUtil
2
Installing dfu-util...
3
dfu-util 0.10 installed

Nach der Abarbeitung dieses Schritts läuft die Installation normalerweise wie erwartet durch.

(Teaserbild: Instagram / tam.hanna)

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Microchip liefert USB 3.1-Hub-Controller, Maxim überbrückt I2C und OneWire

Im Bereich der Kommunikations-ICs gibt es Neuzuwachs: Microchip bringt seine unter Anderem vom Raspberry PI bekannten USB-Hub-ICs ins USB 3-Zeitalter, während Maxim einen per I2C ansprechbaren OneWire-Controller ins Rennen schickt.

von Tam HANNA

Worum geht es hier

Eines der Baugesetze der Elektronik ist, dass man immer entweder zu wenige oder die falschen Schnittstellen zur Verfügung hat. Die hier vorgestellten ICs erlauben im Fall von Microchip das Aufsplitten eines USB-Ports, während Maxim eine per I2C ansprechbare OneWire-Schnittstelle realisiert.

USB7206-USB mit Hirn

Dass das Aufteilen eines USB-Ports die Verwendung eines Hub-ICs voraussetzt, wird als allgemein bekannt vorausgesetzt. MicroChip schicken mit dem USB7206 eine Variante ins Rennen, die wie in der Abbildung gezeigt fünf USB 3.0-Ports und einen USB 2.0-Port zur Verfügung stellt.

Neben der gewöhnlichen Hub-Funktion bringt der Chip Zusatzfunktionen mit. Einerseits exponiert er eine IO-Einheit, die I2C, I2S, SPI und normale GPIO-Pins bereitstellt. Zudem unterstützen alle Ports des Chips die diversen Signalisierungsstandards, um das schnelle Aufladen verschiedener Telefone zu erlauben:

1
- USB-IF Battery Charging rev. 1.2 support (DCP, CDP, SDP)
2
- Apple ® portable product charger emulation
3
- Chinese YD/T 1591-2006/2009 charger emulation
4
- European Union universal mobile charger support

Die Konfiguration des Chips erfolgt dabei einerseits durch charakteristische Widerstände und optional durch ein SPI- oder OTP-ROM sowie vom Host zu sendende Kommandos. Der Chip kostet in Einserstückzahlen um 7.5 EUR, und steht in einem VQFN-100-Gehäuse zu ihrer Verfügung.

Aus I2C mach OneWire

OneWire ist sowohl für iButtons (im Schlüsselanhängerformat vorliegende EEPROMs, beispielsweise für Türen) als auch für Temperatursensoren weit verbreitet. Die Emulation mit einem GPIO-Pin ist in mehrerlei Hinsicht unbefriedigend: erstens verbraucht Bit Banging Controllerresourcen, zweitens steht es um die Stromversorgungsfähigkeit oft nicht allzu gut, was bei vielen “passiven” Verbrauchern Probleme verursacht.
Der DS2485 ist ein I2C-Peripheriegerät, das – siehe Abbildung – das Ansteuern von OneWire-Peripheriegeräten ermögliocht und sich um deren Energieversorgung kümmert.

Von Haus aus wartet der Chip unter der Adresse 1000000 auf Anfragen. Durch Senden eines bestimmten I2C-Kommandos lässt er sich allerdings “an eine andere Addresse umziehen” – wichtig ist, dass es sich dabei um ein Write Once-Kommando handelt, das sich pro Chip nur ein mal einsetzen lässt.

In Einserstückzahlen kostet das Bauteil 1.5 EUR, 100 Stück wechseln um etwa 1.1 EUR den Besitzer. Als Gehäuse kommt ein sechs Pin aufweisendes TDFN zum Einsatz.
Maxim bietet unter der Produktnummer DS2485EVKIT zudem um rund 60 EUR ein Evaluationsboard an, das bei der Inbetriebnahme von auf diesem Controller basierender Peripherie hilft. Es besteht aus einem USB-Adapter und zwei laut den Abbildungen mit einem IC-Sockel ausgestatteten Zielboards – in der Vergangenheit hat Maxim diese im Rahmen der Auslieferung (beispielsweise beim MAX78000-Board) durch eingelötete ICs ersetzt.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Standalone-RP2040 kostet einen Euro, Fotos vom WFI32

Die Raspberry Pi Foundation beginnt – wie immer ruckelig – mit der Auslieferung des rohen RP2040 an den Ameisenhandel, während IAR den Controller in der hauseigenen Toolchain unterstützt. Microchip hat derweil hoch auflösende Fotos des hauseigenen ESP32-Konkurrenten zur Verfügung gestellt.

von Tam HANNA

Worum geht es hier?

Im Mikrocontrollerbereich herrscht Bewegung. Die Raspberry Pi Foundation bietet ihren RP2040-Mikrocontroller ab sofort auch als alleinstehenden Chip (also ohne Platine) im freien Handel an. Zur Erinnerung handelt es sich dabei um einen zweikernigen Arm Cortex-M0+ mit 264KB RAM.
Der WFI32 ist MicroChip’s Antwort auf den ESP32 – ein kombinatorischer WiFi-Controller im Stil des bekannten Vorbilds von Espressif.

RP2040: Standalone-Chip kostet einen Euro

War der RP2040 in einer immer größeren Menge von Evaluationsboards verfügbar, so beginnt nun die Auslieferung des Standalone-Chips. Unter der URL https://www.raspberrypi.org/products/rp2040/ darf der geneigte Käufer nach Eingabe seines Wunsch-Standorts aus einer Gruppe von Distributoren wählen.

Wie bei allen Produktauslieferungen der Raspberry Pi Foundation gilt, dass es anfangs nicht genug Produkte zur Befriedigung der Nachfrage gibt: Ob man dies als Indikation der Lieferfähigkeit für große Orders sehen möchte, muss jeder Konstruktor selbst entscheiden.
Sei dem wie es sei, ist im Bereich der großen Distributoren nur noch RS Components vertreten – eine Rolle mit 500 Chips kostet etewa 500 EUR, die Auslieferung ist für August avisiert. Farnell listen den Chip (derzeit) überhaupt nicht.

Der Ameisenhandel ist zum Zeitpunkt der Abfassung dieses Artikels ebenfalls komplett ausverkauft und nennt Lieferzeiten von 30 Tagen. Pro Chip wird im Ameisenhandel normalerweise rund 1.10 EUR aufgerufen, die Versandkosten sind seperat zu begleichen.

Neues Entwicklerwerkzeug: IAR für RP2040

Wer sich nicht mit CircuitPython und Co abärgern möchte, bekommt für den RP2040 ab sofort eine kommerzielle IDE aus dem Hause IAR. Embedded Workbench unterstützt den Controller; von Ebenezer Upton gibt es hierzu einen O-Ton:

1
We're very excited to see support for Raspberry Pi RP2040 coming to the latest release of IAR Embedded Workbench for Arm, said Dr Eben Upton CBE, Founder, Raspberry Pi Foundation. Since launching RP2040, and the $4 Raspberry Pi Pico board, in January of this year, we've seen rapid community adoption of the platform. The availability of high-quality professional development tools is an important prerequisite to industrial adoption, so this is a key milestone for Raspberry Pi

https://www.presseagentur.com/iar/detail.php?pr_id=5959&lang=en

Fotos vom WFI32

Zu guter Letzt sind die angeforderten Fotos des WFI32 eingetroffen. Hier vier Bilder, die den Chip aus verschiedenen Perspektiven zeigen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Birulki: Laser-Punktprojektor, Gehäuse, Click-Adapter für Raspberry Pi IV und mehr

Neben einem an den Kinect erinnernden Laserpunkt-Projektor dürfen sich Freunde der Elektronik über andere neue Produkte freuen. Hier ein kleiner Marktüberblick vom IoT-RAM über Elektromagneten bis zum Click-Modul für den Raspberry Pi.

von Tam Hanna

Worum geht es hier?

Jeden Monat kommen hunderte neuer Komponenten auf den Markt. Die einmal monatlich erscheinende Birulki-Liste möchte interressante Kandidaten vorstellen, die für einen “ganzen Artikel” zu wenig Umfang bieten.

Tiefenerkennung durch Punkt-Verformung mit AMS

Microsofts Kinect erledigte die Tiefenerkennung durch Aussendung einer Punktwolke, die sich mit zunehmendem Abstand zum Emitter verformte. Mit dem in Einzelstückzahlen um rund 20 EUR erhältlichen AQAA-20 liefert AMS nun ein ähnliches Produkt für den Hausgebrauch. Das Produkt hat eine Ausgabeleistung von 250 mW und emittiert Licht mit einer Wellenlänge von 940 nm.

Leider gibt es – wie bei AMS üblich – kein öffentlich zugängliches Datenblatt. Wer mehr Informationen zum in der Abbildung gezeigten Emitter begehrt, muss unter der URL https://ams.com/belago#tab/features einen Antrag stellen.

Raspberry Pi IV an Click-Modul!

Das serbische Unternehmen MikroE ist für den Click-Bus bekannt – für das Steckerformat sind mittlerweile mehr als 1000 Erweiterungsplatinen mit diversen Chips erhältlich. Mit dem Mikroe Pi 4 Click Shield finden nun bis zu zwei der Module Anschluss an den Raspberry Pi IV.

1

Für die Verarbeitung analoger Signale kommt auf der rund 20 EUR teuren Platine ein ADC vom Typ ADS1115I zum Einsatz – er belegt einen I2C-Addressslot am Prozessrechner.

AEC-Q200-zertifizierte Spulen mit und ohne SMD

An SMD führt heute – einige Defense-Anwendungen ausgenommen – kein Weg vorbei. Der Gutteil der Bauteile ist in Surface Mount ob des geringeren Gewichts vibrationsresistenter: die Formel F = m * a ist und bleibt ein harter Lehrmeister. Eine Komponente, bei der SMD bisher keine nennenswerten Vorteile brachte, ist die Spule – eines der häufigsten Probleme mit SMD, das der Autor immer wieder sah (Beispiele Palm m515, Agilent 34401A) sind abfallende SMD-Spulen.
Dass diese Bedenken heute noch gültig sind, zeigt sich in der aktuellsten Serie neuer Spulen für den Automobilbereich. Wuerth, Vishay und Bourns lieferten in kurzer Folger aufeinander neue Spulenserien – während Vishay und Bourns auf SMD setzen, liefert Wuerth seine neuen Spulen mit THT-Anschlüssen aus:

1
THT design for better stability against vibration

Edge-AI-Kamera, schlüsselfertig

Mit Methoden der künstlichen Intelligenz lassen sich die von Überwachungskameras angelieferten Informationen vergleichsweise aufwandsarm auswerten. M5Stack – das Unternehmen ist bisher für seine ESP32-basierten Boards bekannt – schickt mit der UnitV2 nun eine fortgeschrittene intelligente Kamera ins Rennen.

Der 1080p-Sensor wird durch einen Zweikernprozessor flankiert, der eine Embedded-Version von Linux ausführt. Der Hersteller spendiert dem rund 55 EUR teuren Gerät zudem eine Gruppe von AI-Applikationen:

1
UnitV2 integrates not only the basic AI recognition service developed by M5Stack, but also has built-in multiple recognition functions (such as face recognition, object tracking and other common functions), which can quickly help users build AI recognition applications.

Interessant ist in diesem Zusammenhang der Weg zur Aussenkommunikation: Neben einem WLAN-Transmitter bringt die Kamera auch einen USB-C-Port mit. Wer die Kamera mit ihm mit einem Rechner verbindet, sieht eine Netzwerkkarte – die Kommunikation zwischen Embedded Linux und Host erfolgt dann per TCP/IP.

apmemory: SPI-RAM heisst nun “Internet of Things (IoT) RAM”

PSRAM mag seine Daten bei Stromausfall verlieren – insbesondere der schnelle Zugriff, aber auch die endlose Wiederbeschreibbarkeit machen die Chips insbesondere für Zwischenspeicher-Aufgaben attraktiv. Sowohl DRAM als auch SRAM sind traditionell konkurrenzintensive Märkte, weshalb sich apmemory eine neue Marketingmethode einfallen lässt.
Der Hersteller bezeichnet seine in mehreren Serien mit entweder vier, acht oder sogar 16 Datenleitungen angebotenen Bausteine als IoT RAM, und bewirbt sie gezielt für das Internet der Dinge. In der “kleinen” Serie gibt es dabei bis zu 64Mbit Kapazität, die maximale Busgeschwindigkeit beträgt 144MHz. Die große Version mit bis zu 16 Datenleitungen wird mit bis zu 256 Mbit angeboten.

Hammond-Projektgehäuse: jetzt mit IP66 / NEMA 4X

Mit der 1590ZGRPBK-Serie steigt Hammond in den Markt der robusten Gehäuse ein. Die kleinste Version ist 81 mm x 75 mm x 55 mm groß und kostet in Einserstückzahlen 24 EUR, die größte Version mit Umfang 600 mm x 250 mm x 161 mm kostet sportliche 160 EUR.
Interessant ist in diesem Zusammenhang noch, dass Hammond die Produkte auch gemäß NEMA standardisiert. Unter https://www.nemaenclosures.com/enclosure-ratings/nema-rated-enclosures.html findet sich eine Übersicht der in NEMA-Normen spezifizierten Robustheitsgrade.

Schlüsselfertige Elektromagneten

Elektromechanische Komponenten sind in vielen Fällen Maßanfertigungen. Für ein Einzelstück können die von DFRobot angebotenen Magnete hilfreich sein. Der DFR0794 kostet in Einserstückzahlen 4 Euro erwartet 5V Steuerspannung, zieht 1W und liefert 3KG Haltekraft. Der DFR0797 kostet 8 Euro, zieht 2W und liefert dafür 15KG Haltekraft.

In eigener Sache

Die Bilder des WFI32 sind bei MicroChip angefordert, eventuell stellt MicroChip auch Samples für einige Leser. Die Komponenten zum Artikel zur MLCC-Deratierung sind – samt Bode 100 – bezahlt, und sollten diese Woche im Labor in Budapest eintreffen. Der Autor entschuldigt sich für die gesundheitsbedingt verlangsamte Reaktion.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

LIDAR und Millimeterwellenradar: benutzerfreundlichere Sensormodule von Seeed und Jorjin

Das Design von PCB-Antennen und die Signalführung der Millimeterwellen-Signale sind Aufgaben, die man bei kleineren Serien gern an Modulhersteller abtritt. Sowohl Seeed als auch das an sich für AR-Brillen bekannte Unternehmen Jorjin bieten neue diesbezügliche Module an.

von Tam HANNA

Worum geht es hier

Dieser Artikel fasst zwei Systeme zusammen, über die sich Drohnen, Roboter und andere Systeme “ein Bild der Umgebung” verschaffen. LIDAR tastet die Umgebung mit einem Laserstrahl ab, während mmWave-Systeme ein Radar mit extrem hoher Arbeitsfrequenz realisieren.
LIDARe werden dabei gern “mechanisch” aufgebaut. Ein gutes Beispiel für ein mit einem Rotor arbeitenden LIDAR ist das unter https://www.youtube.com/watch?v=3U_nWDflKko im Detail beschriebene YDLidar TG15.
Die in diesem Artikel besprochenen LIDAR-Systeme tasten allerdings nur “einen” Punkt direkt vor ihnen ab, was zu höherer Scanrate und höherer mechanischer Robustheit führt. Das Jorjin-mmWave-Radar bietet das von anderen TI-MMWave-Sensoren bekannte Sichtfeld an.

Seeed TF03-1×0 – 100 oder 180 Meter Reichweite, CAN und UART

Seeed offeriert mit der TF03-Serie eine Gruppe von gemäß IP67 geschützten Punkt-LIDAR-Modulen, die auf Technologie des Anbieters Benewake basieren und sich im Bereich der Reichweite unterscheiden. Ein derartiges Einpunkt-LIDAR ist nicht nur für Drohnen hilfreich – denken Sie zum Beispiel an ein System, das bei Bedarf eine Kamera aktiviert.

Neben einem CAN-Bus bietet Benewake einen mit 115200bps arbeitenden UART an, der die Informationen in neun Byte langen Frames bereitstellt. Die aus dem Datenblatt entnommene Tabelle zeigt grundlegende Daten über den Aufbau des Protokolls

Wie bei allen LIDAR-Systemen gilt auch hier, dass die erreichbare Genauigkeit stark von der zu analysierenden Umgebung abhängt. Für den größeren der beiden Sensoren spezifiziert Seeed dabei folgende Genauigkeitsklassen:

1
0.1-180m@90% reflectivity
2
0.1-70m@10% reflectivity
3
0.1-130m@90% reflectivity&100Klux
4
0.1-50m@10% reflectivity&100Klux

Preislich unterscheiden sich die beiden Systeme nur wenig: das kleine Modul kostet bei Seeed 225USD, während das große Modul 249USD kostet.

Seeed TFmini-i – 12 Meter Reichweite, CAN und RS485

Ob des doch vergleichsweise hohen Preises bietet Seeed eine preiswertere Version an, die nur nach IP65 geschützt ist und entweder 12 Meter (65 USD, derzeit ausverkauft) oder 40 Meter (99 USD) Reichweite bietet. Statt dem UART bietet die kleinere Variante des Moduls RS485 an, als Technikanbieter kommt abermals Benewake zum Zug. Der RS485-Transmitter unterstützt das Modbus-Protokoll.

Jorjin – Modul auf Basis des TI IWR6843

Texas Instruments beeindruckte Besucher der Stände auf Kongressen im Jahr 2018 mit diversen Anwendungen der hauseigenen mmWave-Technologie – so gab es ein System, das die Herzfrequenz eines vor dem Gerät sitzenden Nutzers erfasste.
Mittlerweile bietet TI verschiedene Transcieverserien an, die sich im Bereich des verwendeten Frequenzbereichs unterscheiden. Die immer höheren Frequenzen der mmWave-Radarmodule liegen übrigens daran, dass das bisher gern verwendete 24 GHz-Band ab 2022 für andere Anwendungszwecke umgewidmet wird. Weitere Informationen zu dieser Thematik finden sich unter http://www.ti.com/lit/wp/spry312/spry312.pdf.

Die AWR- bzw IWR-Chips sind dabei im Allgemeinen Kombinationschips, die neben dem eigentlichen Radarfrontend mehr oder weniger umfangreiche Zusatzfunktionen mitbringen – insbesondere die Integration des DSPs lässt sich TI gerne entlohnen. Die folgende Abbildung zeigt zwar die “Erstlingsserie” AWR1x, illustriert den Aufbau und die Segmentierung der Produktfamilie aber gut.


Bildquelle ist lesenswert => https://training.ti.com/sites/default/files/docs/TI%20mmWave%20device%20overview_AWR1x.pdf )

Mit dem MT5B9S-01 bietet Jorjin nun eine schlüsselfertige Platine an, die den IWR6843, ein Radar-Frontend und die Energieversorgung sowie die Antennen enthält. Die MCU ist dabei übrigens die “größere” Variante, die neben dem ARM Cortex-Mikrocontroller auch einen DSP vom Typ C674x bereitstellt.

Anders als die TI-eigenen Evaluationsboards ist diese Platine dabei explizit für den produktiven Einsatz vorgesehen. Mit dem MT5B9SE01K steht noch ein Evaluationssystem zur Verfügung, das – unter Anderem – die Montage der im Paket enthaltenen Platine auf einem GoPro-Stativ erlaubt.

Zur Inbetriebnahme der Module ist auf jeden Fall (!!!) eigene Entwicklungsarbeit erforderlich, die normalerweise in einem Zweigespann aus dem MMWAVE-SDK und der TI-eigenen IDE CCS erfolgt. Der Autor experimentierte vor einiger Zeit mit einem AWR1642, ein Kollege mit einem AWR1442 – rechnen Sie mit mindestens zwei, eher vier Wochen Einarbeitungszeit.

Mehr Informationen

TF3-100

1
=> https://www.seeedstudio.com/TF03-100-LiDAR-Long-Range-Distance-Sensor-p-4887.html

TF3-180

1
=> https://www.seeedstudio.com/TF03-180-LiDAR-Long-Range-Distance-Sensor-p-4886.html

TF-i

1
=> https://www.seeedstudio.com/TFmini-i-LiDAR-Module-Single-Point-Ranging-LiDAR-CAN-Interface-p-4912.html

Jorjin-Radare

1
=> https://www.jorjin.com/products/wireless-connectivity/sensing-solution/mmwave-radar/

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Ausprobiert: Platinenlayout mit Fritzing

Image:guil.png

Das Programm Fritzing zur Erstellung von Schaltbildern für Steckbretter dürfte vielen Lesern ein Begriff sein. Seit einiger Zeit lassen sich mit dem Tool auch Platinenlayouts erstellen.

Der Beitrag soll dabei keine Anleitung oder Tutorial bieten, sondern eher einen kurzen Erfahrungsbericht und ersten Eindruck vermitteln, um so bei der Abschätzung helfen, ob das Programm vielleicht für das nächste Layout geeignet ist. Da sich Fritzing vor allem an Hobbynutzer und Einsteiger richtet, liegt der Fokus bei dem Test vor allem auf der Einfachheit der Bedienung der Benutzeroberfläche. Andere Funktionen wie Coding oder der eigentliche Anwendungszweck zur Verkabelung von Steckbrettern wurden dabei außen vor gelassen.

Installation und erster Eindruck

Image:gui.png

Mittlerweile lässt sich auf der Projektseite kein Installer mehr kostenfrei beziehen. Stattdessen steht der Download erst nach einer Zahlung von 8 € zur Verfügung. Da das Projekt weiterhin quelloffen ist, können Nutzer das Programm natürlich selbst kompilieren, zahlreiche Anleitungen dazu finden sich im Netz. Bei einigen Linux-Distributionen findet man die Software zusätzlich über den Paketmanager, hier ist kein Kompilieren durch den Nutzer nötig. Dieser Schritt dürfte der Problematik vieler Open-Source-Projekte geschuldet sein, die Probleme haben, an Mittel oder Helfer zu kommen. So werden die meisten Nutzer dazu gebracht, sich entweder finanziell an dem Projekt zu beteiligen oder sich zumindest kurz mit dem Projektcode auseinanderzusetzen.

Der erste Eindruck nach der Installation überrascht dann durchaus positiv, die Oberfläche ist übersichtlich gestaltet, Änderungen an der Schaltung werden konsistent zwischen Steckplatine, Schaltplan und Leiterplatte übertragen. Die farbliche Färbung der Pins in rot oder grün gibt zudem Aufschluss darüber, ob eine Verbindung zu den Leitungen besteht. Unverbundene Pins sind ein häufiges Problem mancher Schaltplaneditoren, dies ist hier gut gelöst.

Bedienung und Funktionsumfang

Image:nets.png

Direkt nach der Installation sind bereits einige Bauteile und häufig verwendete Platinen verfügbar, die in allen drei Ansichten eingefügt und verdrahtet werden können. Dies dürfte vor allem dann entgegenkommen, wenn man eine Schaltung erst mal auf dem Steckbrett testen möchte, aber für einen späteren Zeitpunkt eine Platine plant. Die Programmbedienung ist insgesamt leicht zu erlernen, beschränkt sich aber häufig auf den absolut notwendigen Funktionsumfang. Gerade für Anfänger muss das aber kein Nachteil sein, wenn man an die doch recht steilen Lernkurven umfangreicher EDA-Software denkt. Schade ist hingegen, dass ein paar Features fehlen, die man nach Nutzung professioneller Tools gewohnt ist. So werden verbundene Netze im Layout beispielsweise nur erkannt, wenn die Leitung absolut zentral auf die Padmitte trifft. Dies kann durchaus Nerven kosten, wenn beispielsweise ein Bauteil verschoben wurde. Auch sonst sind andere Programme deutlich angenehmer zu bedienen, besonders wenn es viel zu routen gibt. Für eine einzelne Platine mit wenig Netzen geht die Bedienung in Hinblick auf die Zielgruppe aber noch voll in Ordnung.

Bauteile per Texteditor bearbeiten

Image:part.png

Bauteile sind in Fritzing als *.svg-Dateien hinterlegt und lassen sich so beispielsweise mit Inkscape anlegen oder editieren. Dies ist im Vergleich zu eigenständigen Bauteileditoren allerdings umständlicher, gerade wenn man häufiger Bauteile anlegen oder editieren möchte. Vorteilhaft an dem Format ist allerdings, dass die Dateien so menschenlesbar und per Texteditor geöffnet und bearbeitet werden können. Möchte man etwa alle Paddurchmesser einer 40-poligen Stiftleiste ändern, kann dies durch die „Suchen und Ersetzen“-Funktion eines beliebigen Texteditors erfolgen. Ebenso ist auch die Bauteilerstellung per Skript denkbar, ohne dass die Einarbeitung in ein spezielles Format notwendig wäre.

Platinenfertigung und Support

Image:pcb.jpg

Das fertige Platinenlayout kann im Gerber-Format aber auch als Vektorgrafik oder PDF exportiert werden, wobei zuvor ein DRC zur Fehlervermeidung durchgeführt werden kann. Zusätzlich zu dem Export kann das Layout auch direkt gefertigt werden. Nach dem Klick auf den entsprechenden Button landet man auf der Uploadseite von AISLER. Hier kann die Fritzing-Datei hochgeladen werden. Ein eigentlich gutes Feature ist die Preisanzeige in der Layoutansicht, wobei der angezeigte Preis zum Testzeitpunkt nicht mit der Webseite von AISLER übereinstimmte.

Bei dem für den Test erstellten Layout kam es zu einem Fehler in der Projektdatei, welcher dazu führte, dass zunächst der Dateiupload nicht möglich war und später zwei Pads auf der Platine fehlten. An der Stelle ist zu sagen, dass sowohl die Gerberdaten als auch die Webseite von AISLER die Platine nach einem Update so darstellen, wie sie am Ende auch gefertigt wird. Eine Fehlerursache, wie es zu der Abweichung in der Datei selbst kam, konnte allerdings noch nicht gefunden werden. Dafür gab es neben AISLER auch flotten Support durch Fritzing selbst. Hierzu gibt es neben dem für Anfragen empfohlenen Forum auch eine Support-Mailadresse, was man von einem Open Source Projekt nicht unbedingt erwarten kann.

Fazit

Fritzing zeigt einige interessante Ansätze und ermöglicht nicht nur bei der Verdrahtung von Steckbrettern eine intuitive Nutzung ohne viel Einarbeitung. Man erkennt dem Programm selbst und vor allem auch den verfügbaren Bibliotheken die Liebe zum Detail an. Für eine kleine Platine, bei der alle Bauteile in den Bibliotheken vorhanden sind, ist Fritzing durchaus brauchbar, um ohne viel Einarbeitung zur gefertigten Platine zu kommen. Auch für den Schritt von der Steckbrettschaltung zur ersten Platine ist Fritzing gut geeignet und bietet eine weitestgehend intuitive Bedienung mit flacher Lernkurve. Für größere Projekte oder häufige Platinenlayouts ohne die Nutzung der Steckbrettfunktionalität lohnt sich aber die Einarbeitung in andere Tools. Hier spart man auf Dauer doch einiges an Zeit durch die effizientere Bedienung.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Arduino-Demo mit TensorFlow Lite und Bluetooth Web API

Im Rahmen der Google I/O stellt Google ein neues Beispielprojekt zur Verfügung, das einen Arduino Nano BLE mit Chrome verbindet und die Mikrocontroller-Variante von TensorFlow Lite zur Gestenerkennung verwendet.

von Tam HANNA

Worum geht es hier?

Die Erstellung der AI-Modelle macht bei Embedded-Systemen mit Funktionen der künstlichen Intelligenz oft den Gutteil des Aufwands aus. Mit TensorFlow Lite for Microcontrollers (siehe auch https://www.tensorflow.org/lite/microcontrollers) bietet Google seit einiger Zeit eine Variante des hauseigenen AI-Frameworks an, die für 32bit-Mikrocontroller vorgesehen ist.
Für AI-Modelle zuständige Codierer (Verwendungsbezeichnung meist Data Scientist) können so einen Gutteil ihrer Kenntnisse auch am Mikrocontroller einsetzen.

Lösung in mehreren Teilen

Das vorliegende Projektbeispiel enthält einerseits eine im Browser lebende Training-Applikation, die (siehe Screenshot weiter oben) per Bluetooth Web API Kontakt zum Arduino Nano aufnimmt. Die Web Bluetooth API ist dabei eine vor Allem in Chrome implementierte API, die Web-Applikationen den Zugriff auf Bluetooth und Bluetooth LE-Geräte ermöglicht.

Bildquelle ist hier der allgemein empfehlenswerte Dienst caniuse, der – siehe auch https://caniuse.com/web-bluetooth – darüber informiert, in welchen Browsern bestimmte APIs zur Verfügung stehen

Die Web-Applikation beschränkt sich dabei auf das Entgegennehmen und Weiterleiten der Informationen. Der Gutteil der AI-Aufgaben findet sich in einer Pythondatei (tiny-motion-trainer/blob/main/backend/main.py), die dank des Flask-Frameworks REST-Anfragen verarbeiten kann:

1
 
2
app = Flask(__name__)
3
app.config['UPLOAD_FOLDER'] = 'uploads/'
4
CORS(app, resources={r"/*": {"origins": "*"}})

Interessant ist auch der für die Datenübertragung vorgesehene Algorithmus: die Kommunikation erfolgt ausschließlich über BLE, das Protokoll sieht keine Unterstützung für die im normalen Bluetooth vorgesehenen OBEX-Übertragungen vor. Google ”emuliert” stattdessen unter Nutzung zweier Charakteristiken ein hauseigenes Übertragunssystem, das sich auch in eigenen Anwendungen nutzen lassen sollte:

1
#include "ble_file_transfer.h"

Für das eigentliche Vorhalten der Modelldaten stellt Google eine weitere dedizierte Klasse zur Verfügung, die im Rahmen des Empfangs eines neuen Modells nach folgendem Schema aktualisiert wird:

1
inline void updateFileTransfer() {
2
  ble_file_transfer::updateBLEFileTransfer();
3
  if (newModelFileData != nullptr)
4
  {
5
    Serial.println("reloading model");
6
    model_tester::loadModel(newModelFileData);
7
    . . .
8
    setState(INFERENCE);
9
  }
10
}

Die eigentliche Datenweitergabe erfolgt im Rahmen der Funktion updateIMU, die bei Aktualisierungen die update()-Funktion aufruft:

1
inline void updateIMU() { . . .
2

3
  while(data_provider::dataAvailable()){
4
    data_provider::update(buffer, useMagnetometer);
5
 
6
    if(currentState == INFERENCE || currentState == INFERENCE_AND_DATA_PROVIDER){
7
      if(model_tester::isModelLoaded){
8
        model_tester::update(buffer);  
9
      }
10
    }

Zu guter Letzt noch der Code für die Übertragung von IMU-Informationen in Richtung der Webseite:

1
    if(currentState == IMU_DATA_PROVIDER || currentState == INFERENCE_AND_DATA_PROVIDER){
2
      // provide data to IMU trainer
3
      dataProviderTxChar.writeValue(buffer, bufferSize * FLOAT_BYTE_SIZE);
4
    }
5

6
  }
7
}

Lohnt es sich?

Außer Frage steht, dass die hier demonstrierte Aufgabe nur geringen praktischen bzw. kommerziellen Nutzwert hat. Dies gilt allerdings nicht für die Kombination aus TensorFlow Lite und der Web Bluetooth API – während ersteres auch für Bildklassifizierungsaufgaben einsetzbar ist, ermöglicht zweitere die Interaktion mit Hardware ohne plattformspezifische Applikationen.

Weirere Ressourcen

Arduino-Code
=> https://github.com/googlecreativelab/tf4micro-motion-kit/releases/tag/v005

Web-Code
=> https://github.com/googlecreativelab/tiny-motion-trainer

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

Raspberry Pi News-Roundup: neue RP2040-Boards

Im Raspberry Pi-Ökosystem gibt es Neuerungen: der RP2040 steht – zwar noch nicht als Standalone-Chip, aber immerhin – abseits des Raspberry Pi Pico zur Verfügung.

von Tam Hanna

Worum geht es hier?

Der RP2040 ist ein Mikrocontroller aus dem Hause Raspberry Pi. Der nicht zur Ausführung von Debian bzw Raspbian Linux befähigte SBC war bisher nur am Raspberry Pi Pico verfügbar, nun gibt es auch Platinen anderer Hersteller (unter Anderem mit WLAN auf der Printplatte).
Feather bzw insbesondere Grove sind derweil Steckerspezifikationen, die die Anbindung verschiedener Hardwaregeräte erleichtern – wer auf seiner Platine einen passenden Grove-Steckplatz vorfindet, kann beispielsweise einen im Grove-Format vorliegenden NFC-Cardreader anstecken.

Arduino Nano RP2040 Connect – WLAN, Bluetooth und OpenMV-Lizenz

Der im Januar angekündigte RP Connect bringt ein WLAN-Modul aus dem Hause U-Blox (u-blox NINA-W102 WiFi ) und eine OpenMV-Lizenz mit. Sonst entspricht der Formfaktor dem Arduino Nano, eine IMU erleichtert kleine Sensorik-Anwendungen.

Im Bereich der Programmierung steht sowohl der Arduino Core als auch MicroPython zur Verfügung. Arduino bewerben zudem die enge Integration des Boards in den hauseigenen Clouddienst – er erlaubt sogar die Programmierung per WLAN.

Wio RP2040: ohne Bluetooth geht es auch

Seeed Studio gehen mit dem Wio RP2040 einen analogen Weg – das vom Formfaktor her an den ESP32 erinnernde Board hat ebenfalls einen WLAN-Transmitter auf der Platine. Welcher Chip dabei genau zum Einsatz kommt, ist im Moment nicht bekannt. Es dürfte sich allerdings um einen ESP8266 oder ein ähnliches Modell handeln, weil die Platine keine Unterstützung für Bluetooth bietet.

Neben dem direkt auf die Platine lötbaren Modul (rund 7USD) gibt es um 13USD auch eine vom Formfaktor her an den Raspberry Pi Pico oder ein ESP32 DevKit C erinnerndes Board, das die direkte Anbindung an Steckplatine und Co ermöglicht.

Modul => https://www.seeedstudio.com/Wio-RP2040-Module-p-4932.html
PCB => https://www.seeedstudio.com/Wio-RP2040-mini-Dev-Board-p-4933.html

Adafruit Feather RP2040

Wo die Raspberry Pi Foundation ist, ist Adafruit meist nicht fern. Im Feather-Formfaktor steht nun auch ein RP2040-basiertes Board zur Verfügung. Die fünf Gramm schwere Platine hat einen USB C-Anschluss, im Bereich Signalisierung gibt es eine NeoPixel-RGB-LED (WS28xx-basiert), zwecks Adaption an den Arduino-Standard ist GPIO13 des RP2040 mit einer roten LED verbunden.

Grove Shield for Pi Pico v1.0

Mit dem Grove-Standard (siehe https://wiki.seeedstudio.com/Grove_System/) bietet Seeed Studio einen aus vier verschiedenen Steckertypen bestehenden Standard-Bus an, der analog zu MikroE bzw Microsoft’s mittlerweile in Ehren verblichenen Gadgeteer das Anschließen “standardisierter Peripherie” erlaubt.
Auch hier gilt, dass der RP2040 nun Teil dieses Ökosystems ist – eine um 4.3USD erhältliche Platine kümmert sich um die Adaption.

Vom Port-Komplement her stehen 2 I2C-Anschlüsse, drei Analog-Anschlüsse, zwei UART- und drei digitale Konnektoren zur Verfügung.

=> https://www.seeedstudio.com/Grove-Shield-for-Pi-Pico-v1-0-p-4846.html

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

ESP32-WROOM-DA – ESP32-Modul mit direktiven Antennen

Mit dem WROOM-DA steht ein neues ESP32-Modul ante portas, das auf seiner Platine zwei um 90 Grad verdrehte PCB-Antennen mitbringt. Sinn dieser Vorgehensweise ist die Verbesserung der Reichweite.

von Tam Hanna

Worum geht es hier

Der ESP32 ist ein Mikrocontroller, der vergleichsweise leistungsfähige Rechenkerne mit einem WLAN- und einem Bluetooth-Transmitter kombiniert und so bei der Realisierung von Systemen des Internet der Dinge hilft.
Mit dem WROOM-DA steht nun eine neue Version ante portas. Sie bringt zwei in einem Winkel von 90 Grad zueinander verdrehte Antennen mit und sorgt so für bessere Funkleistungen.

Mit dem ESP32-WROOM-32E pinkompatibel

Espressif experimentierte in der Vergangenheit mit RISC-V-Kernen. Beim WROOM-DA bleibt man dem ursprünglichen Konzept treu, das Modul basiert auf dem ESP32-D0WD-V3 mit seinen zwei Xtensa LX6-Prozessoren. Das SRAM ist 520KB groß, 448KB ROM nehmen die Benutzerapplikation auf.
Über die Frage, wie zwischen den beiden Antennen geschaltet wird, schweigt sich Espressif derzeit aus. In der offiziellen Ankündigung findet sich nur die folgende, vergleichsweise vage Aussage:

1
While being used, the module works according to signal strength, selecting the strongest signal to ensure continuous communication. When a weak signal is detected, the module continues to work with an API call that helps it switch to the other antenna with a stronger signal.

Wie dies genau funktioniert, ist derzeit nicht bekannt. Eine schnelle Durchsuchung der letzten Commits im ESP-IDF-Repository (siehe https://github.com/espressif/esp-idf/commits/master) ergab keine Änderungen, die auf eine diesbezügliche, neue API hinweisen.
Wirklich neu ist die Idee indes nicht. Toshiro Kodera veröffenbtlichte schoin 2017 seine Überlegungen zum Thema “Adaptive antenna system by ESP32-PICO-D4 and its application to web radio system” – das Paper findet sich unter https://www.sciencedirect.com/science/article/pii/S2468067217300871.

Was tun?

Zum Zeitpunkt der Abfassung dieses Artikels ist der WROOM-DA “Bückware” und bei Distributoren und Suchengines wie OEMSecrets nicht zu finden. Wer den Chip in einem Design verwenden mächte, muss https://www.espressif.com/en/contact-us/sales-questions aufrufen und eine Anfrage stellen. Ob der elektronischen Kompatibilität mit dem ESP32-WROOM-32E lässt sich anhand der (wohl zu +/- 10% maßstäblichen) Grafik allerdings schon eine Berechnung für Keepout Zones und physikalische Dimensionierungen vornehmen – der Autor hat dies in der Grafik vorweggenommen…

Weitergehende Informationen

Ankündigung bei Espressif
=> https://www.espressif.com/en/news/ESP32-WROOM-DA

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More

OpenScan: 3D-Scanner für zuhause

Image:openscan.jpg

3D-Drucker haben sich dank guter Verfügbarkeit und geringen Einstiegspreisen mittlerweile auch in Hobbykreisen etabliert. Eine breite Auswahl an verfügbaren 3D-Modellen sorgt zudem dafür, dass man eine Vielzahl an Objekten nicht selbst erstellen muss, wobei man zumindest bei speziellen Teilen nicht um die Konstruktion herumkommt. Ein Scanner kann hier unterstützen oder die Arbeit ganz abnehmen.

3D-Scanner als stimmige Ergänzung zum Drucker sind allerdings noch eine Seltenheit und bessere Geräte auch nicht gerade günstig. Das Open Source Projekt OpenScan zeigt, dass sich sehr gute Ergebnisse auch zuhause mit überschaubaren Kosten erzielen lassen. Dabei kommt entweder ein Raspberry Pi mit Kameramodul oder ein Arduino zum Einsatz, wobei die gesamten Elektronikteile für 140 bis 195 € als fertiges Set bezogen werden können. Die restlichen Teile lassen sich entweder selbst ausdrucken oder je nach Variante ab 45 € erwerben.

Je nach Version erhält man so eine relativ kompakte Scaneinheit. Zusätzlich wird gegebenenfalls noch eine Kamera oder das Smartphone für die Aufnahme der Bilder benötigt, falls die Pi-Camera nicht zum Einsatz kommt. Mit einer eigenen Bedienoberfläche lässt sich der Scanner dann ansteuern.

Die Qualität der Scans kann anhand einiger Galeriebeispiele bewertet werden, zudem gibt es einen Youtube-Kanal und einen Blog mit weiteren Informationen, Hinweisen und Beispielen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More