Nachdem ich mit etlichen unterschiedlichen Arduino Boards experimentiert habe,
meine eigenen Boards mit ATMEGA328P Prozessor gebaut habe und meinen
Spass mit den Erweiterungen hatte. Kam mit der Globalisierung eine
seltsame Situation.
Alles, was man selbst baut, ist teurer als ein in
China professionell mit SMD Technik hergestelltes fertiges Board.
Na gut, dann kaufe ich mit längerer Wartezeit Arduino Nano V3 Boards für
2,50€ pro Stück! Klasse, gleich im 5er oder 10er Pack, funktioniert gut,
sehr praktische Größe und unschlagbar günstig.
Die letzten Projekte habe ich mit dem Arduino Nano Boards umgesetzt, keine Probleme.
Auf
der Suche nach günstigen Boards kamen immer wieder super günstige STM32
Boards, speziell ein minimales Entwicklungs-Board mit einem
STM32F103C8T6 Prozessor für 2,50€.
Klingt doch Klasse, Größe stimmt,
32bitter, 64KB Flash und 20KB RAM, 2xI2C, 3xUARTs, 2xSPI Schnittstellen;
schlägt deutlich die Möglichkeiten eines Boards, das auf dem ATMEGA328P
basiert.
Mit
der sehr umfangreichen Arduino Community gibt es kaum
Fragen, die offen
bleiben.
Dokumentation
Für die STM32 Gemeinde sieht das noch nicht ganz so gut aus.
Informationen zum Prozessor sind natürlich beim Hersteller
ST zu finden.
Es scheint, als ob alle STM32 Bastel-Projekte auf die von Roger Clark gepflegten Artikel verweisen.
Beginnen sollte man mit seinem
Wiki.
Das von
Roger Clark erstellte
Arduino_STM32 Projekt ermöglicht die Entwicklung von STM32 Software mit der Arduino IDE (1.6.9 Arduino.cc oder auch 1.7.10 Arduino.org, braucht Arduino DUE Board Support).
Support für diese Software gibt es unter dem Forum, wo sehr viele interessante Artikel zu finden sind.
Programmieren
Unter
STM32duino-bootloader findet man Bootloader für die unterschiedlichen STM32 Boards, die eine Programmierung der Boards über den USB Port des STM32 Gerätes aus der Arduino IDE ermöglichen.
Allerdings gibt es bei den meisten BPB ein Problem mit dem USB Port, der Widerstand R12 an PA12 ist mit 10KOhm viel zu hoch, dass das Gerät erkannt wird. Es gibt Bauanleitungen, den 10KOhm Widerstand mit einem mit 1,5KOhm zu ersetzen.
Die Programmierung über den internen Seriellen Modus (DFU, PA9 und PA10, Boot 0 HIGH, Boot 1 LOW) funktioniert gut, man muss darauf achten, dass der USB-Serial Wandler 3.3V Pegel liefert.
Pinout
Es war für mich garnicht so einfach, das Pinout für mein STM32F103C8T6 zu bekommen, auf
OlliW's Bastelseiten; "STM32: Hello World" gibt es eine sehr nützliche und gründliche Analyse und Dokumentation der aktuellen STM32 Boards.
 |
| https://developer.mbed.org/users/hudakz/code/STM32F103C8T6_Hello/ |
Von ARMmbed aus dem "
Hello STM32F103C8T6" Projekt von
Zoltan Hudak
Schaltplan für das BPB
I2C Scanner
Anders als beim Arduino, sind hier die I2C Pullup Widerstände (4.7KOhm - 1.5KOhm) zu berücksichtigen. Sonst funktioniert die I2C Erkennung nicht.
ILI9341 8bit Library
SPI ILI9341 Library von Arduino_STM32
Basiert auf der Adafruit GFX Bibliothek
Nachbau dieses
Projektes "Mesmerize on Maple Mini STM32F103 Made by Ray Burnette"
 |
| Analog Uhr STM32F103C8T6 BPB mit TFT ILI9142 und DS3232 RTC |