Für das beelogger-System ist die ARDUINO IDE als Entwicklungsumgebung erforderlich.
(IDE = Integrated Developement Environment)
Der Download der Software ARDUINO IDE kann unter https://www.arduino.cc/en/Main/Software vorgenommen werden.
Um den STM32 über die serielle Schnittstelle programmieren zu können, wird ein USB-zu-Serial-Adapter (z.B. FTDI) benötigt. (Hinweis: Alternativ ist die Programmierung über einen ST-Link Adapter möglich)
Da die Debug-Ausgaben der Sketche über die serielle Schnittstelle „Serial/Serial1“ ausgelesen werden, ist für die beelogger Inbetriebnahme ein USB-Serial-Adapter erforderlich.
Das BluePill- Modul ist mit einem USB-Anschluß ausgestattet und könnte nach Laden einer Firmwareerweiterung via USB programmiert werden. Das BlackPill-Modul hat eine USB-Unterstützung integriert.
Wegen der diversen Features des STM32Fxyz, die für das beelogger Projekt notwendig sind, ist die Nutzung der Firmwareerweiterung und des USB-Ports nicht möglich. Die USB-Schnittstelle, die auch für Debug-Ausgaben genutzt wird, deaktiviert der LowPower-Mode „StandBy“ des STM32F… zwangsweise. Damit verliert die Arduino-IDE, ggf. auch das Betriebssystem des PC, die Verbindung.
Ardunio IDE für die Programmierung vorbereiten
Für Microcontroller der STM32F Reihe, z.B. STM32F4x1 („Blackpill“), werden spezielle Erweiterungen für den Bordverwalter benötigt.
Dafür wird in der Arduino-IDE im Menu „Datei“ unter „Voreinstellungen“ im Feld „Zusätzliche Bordverwalter URLs“ folgende Zeile eingetragen:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
und das Fenster mit „OK“ verlassen.
Danach unter „Werkzeuge“, „Board“ den „Boardverwalter“ aufrufen.
Nach Laden der Informationen steht das Paket „STM32 MCU based boards“ zur Verfügung.
Für die korrekte Funktion der Sketche ist mindestens Version 2.6.0 zu installieren.
Das kann einige Zeit dauern.
Der beelogger-STM32 wird über einen USB-Serial-Adapter programmiert.
Im Gegensatz zur Programmierung eines Arduino-Nano (beeloggerUniversal), der nur mit der Arduino IDE programmiert werden kann, muss für die Programmierung eines STM32 zusätzlich der STM32CubeProgrammer im Betriebssystem installiert sein. Der CubeProgrammer dient über den USB-Serial-Adapter als Schnittstelle zwischen der Shell und dem Prozessor.
Unter Windows sind dafür folgende Schritte notwendig:
- Stm32CubeProg – Programmer von ST downlad und installieren
verfügbar nach Anmeldung auf der ST Developer Webseite
www.st.com/en/development-tools/stm32cubeprog.html - falls notwendig: Oracle Java downloaden und installieren; www.java.com/de/download/manual.jsp
Die Beschreibung zur Installation unter macOS für das Tool STM32CubeProg – Programmer findet sich in dieser Anleitung STM32CubeProgrammer macOS, die uns netterweise Bernhard Schmitz zusammengestellt hat. Wurde der CubeInstaller erfolgreich installiert, muss weiter nichts unternommen werden. Die ArduinoSoftware kommuniziert mit dem Tool.
Es kann erforderlich sein für den USB-Serial-Adapter notwendige Treiber zu installieren. Windows Anwender sollten die Gerätesteuerung kontrollieren, ob ein angeschlossener USB-Serial-Adapter erkannt wird.
Die beelogger-STM32-Sketche sind mit Arduino IDE Version 1.8.19, 2.03 getestet.
In der Arduino-IDE die Update-Funktion der Bibliotheken über den Parameter „Beim Start nach Updates suchen“ deaktivieren.
Bei der Arduino-IDE 2.x erreicht man diesen Parameter über die Taste „F1“, in der Suchzeile „Einstellungen“ eingeben, „Einstellungen Arbeitsbereich“ auswählen bzw. öffnen, in der Eingabezeile „arduino.checkForUpdates“ eingeben und die Checkbox für Updates inaktiv setzen; Fenster Einstellungen schließen.
Danach die für den beelogger notwendigen Bibliotheken in das Arduino-libraries-Verzeichnis kopieren.
Bibliotheken nicht über die Arduino-Software aktualisieren. Neuere Bibliotheken können zu den beelogger-Sketchen inkompatibel sein.
Ardunio IDE Einstellungen für den beelogger-STM32
Der beeloggerBlue/Black wird beim Programmieren mit eingebautem Akku versorgt. Eine Stromversorgung über den USB-Serial-Adapter ist nicht im Layout enthalten. Der Akku sollte einen guten Ladezustand (min. 4,0V) aufweisen. Neue Akkus müssen vorher geladen werden. |
beeloggerBlack beeloggerBlue
Beispielkonfiguration STM32F411CE, USB-Serial-Adapter an COM5 mit Arduino IDE 2.2.1:
Bezug USB-Serial-Adapter:
Tabelle 1: USB-Serial-Adapter
Achtung: Der Jumper oder Schalter auf dem USB-Serial-Adapter ist nicht zwangsläufig für die Umstellung der Spannung am VCC-Pin vorgesehen. Teilweise dienen diese Einsteller nur für die Pegelumstellung 3,3V/5V der Schnittstelle.
Der Einsteller muss auf 3,3V eingestellt werden.
Beschaltung USB-Serial-Adapter
Der USB-Serial-Adapter wird mit dem USB-Serial-Header des beelogger-STM32 verbunden. Wie die Anschlüsse miteinander verbunden werden, findet sich in nachstehender Tabelle.
|
![]() |
USB-Serial-Adapter | beelogger-STM32 (USB-Serial-Header) |
DTR | nicht belegt |
RX | TX |
TX | RX |
nicht belegt | |
CTS | nicht belegt |
GND | GND |
Tabelle 2: Verbindung beelogger-STM32 am USB-Serial-Adapter
Der beelogger-STM32 wird über den geladenen Li-Ion Akku (min. 4,0V) versorgt.