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-Seriell-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 FTDI-Adapter erforderlich.
Das BluePill- Modul ist mit einem USB-Anschluß ausgestattet und könnte nach Laden einer Firmwareerweiterung via FTDI über 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 FTDI-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 FTDI-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; https://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 FTDI-Adapter notwendige Treiber zu installieren. Windows Anwender sollten die Gerätesteuerung kontrollieren, ob ein angeschlossener FTDI-Adapter erkannt wird.
Die beelogger-STM32-Sketche sind mit Arduino IDE Version 1.8.19, 2.03 getestet.
In der Arduino-IDE über die Voreinstellungen die Update-Funktion der Bibliotheken “Beim Start nach Updates suchen” deaktivieren.
Bei der Arduino-IDE 2.0x erreicht man diese Voreinstellung über die Tasten “CTRL-Shift-P”, in der Suchzeile “Einstellungen” eingeben, diese anwählen, in den Einstellungen 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 FTDI-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
In der Arduino IDE wird für den “beeloggerBlack ” mit STM32F4x1 unter “Werkzeuge” folgendes eingestellt: | In der Arduino IDE wird für den “beeloggerBlue ” mit STM32F103 unter “Werkzeuge” folgendes eingestellt: |
|
|
Wenn der FTDI-Adapter für den beelogger angeschlossen ist, kann unter “Werkzeuge”, “Port” die Verbindung eingestellt werden. | Wenn der FTDI-Adapter für den beelogger angeschlossen ist, kann unter “Werkzeuge”, “Port” die Verbindung eingestellt werden. |
Sketch laden mit dem BlackPill-Modul:Damit ein Sketch über FTDI geladen werden kann, muss der FTDI-Adapter auf 3,3V eingestellt sein.
Nach dem Programmieren verlässt der STM32F4x1 automatisch den Programmiermode.
|
Sketch laden mit dem BluePill-Modul:Damit ein Sketch über FTDI geladen werden kann, muss der FTDI-Adapter auf 3,3V eingestellt und die Jumper auf dem BluePill-Modul richtig gesetzt sein.
|
Bezug FTDI-Adapter:
Tabelle 1: FTDI-Adapter
Achtung: Der Jumper oder Schalter auf dem FTDI-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 FTDI-Adapter
Der FTDI-Adapter wird mit dem FTDI-Header des beelogger-STM32 verbunden. Wie die Anschlüsse miteinander verbunden werden, findet sich in nachstehender Tabelle.
|
![]() |
FTDI-Adapter | beelogger-STM32 (FTDI-Header) |
DTR | nicht belegt |
RX | TX |
TX | RX |
nicht belegt | |
CTS | nicht belegt |
GND | GND |
Tabelle 2: Verbindung beelogger-STM32 am FTDI-Adapter
Der beelogger-STM32 wird über den geladenen Li-Ion Akku (min. 4,0V) versorgt.