Seit meinen ersten Versuchen im Januar 2014 (Arduino: Was geht?) hat sich viel getan. Es gibt viele neue und leistungsfähigere Boards und, was für  mich noch viel interessanter ist: es werden eine Reihe von Nicht-Atmel-Prozessoren durch die Arduino-IDE unterstützt. Das macht es leicht, mit diesen neuen Prozessoren Bekanntschaft zu machen. Insbesondere der ESP8266, ein programmierbarer WLAN-SoC mit UART- und SPI-Schnittstelle und bereits ab 3€ verfügbar, und der STM32F103C8, eine leistungsfähige CPU auf Basis eines ARM 32 Cortex-M3, der als "STM32F103C8T6 ARM STM32 Minimum System Development Board" bereits ab etwa 5$ zu haben ist.

Für beide Systeme gibt es eigenständige SDKs. Der Aufwand, sich in diese einzuarbeiten ist aber nicht gering. Wenn man die Nachteile der Arduino-IDE in Kauf nimmt, kann man für beide Prozessoren schnell erste Programme schreiben.


Arduino

IDE

Man sollte die neueste Version der Arduino-IDE installieren. Zum Zeitpunkt des Schreibens dieses Textes war dies die Version 1.6.4. Deutlich ältere Versionen erlauben die  Unterstützung der o.g. Prozessor-Typen nicht. Die neueste Version kann wie üblich von der Arduino-Homepage heruntergeladen werden.

Die IDE besitzt eine neue Funktion, den "Boardsmaneger", über den es auf einfache Art möglich ist, weitere Boards zu installieren. ein einfacher Klick auf den entsprechenden Listeneintrag genügt.

Boardsmanager aufrufen Arduino Boardsmanager
Boardsmanager aufrufen Arduino Boardsmanager

ESP8266

ESP8266Die Installation für die Erweiterung für den ESP8266 geschieht vollständig über den den Boardsmanager. Wie dies funktioniert, ist auf der GitHub-Seite Arduino-compatible IDE with ESP8266 support nachzulesen. Installiert wird das Paket einschließlich eines Compilers ("xtensa-lx106-elf-gcc") im Verzeichnis "<user>AppData\Roaming\Arduino15". Nach erfolgreicher Installation

Für die ESP8266-Erweiterung gibt es eine eigenständige Homepage: www.arduinesp.com. Hier ist vieles weitere im Detail beschrieben. Insbesondere die Verschaltung mit einem FT232-Adapter ist interessant. Das Uploader-Programm nutzt die Steuerleitungen der RS323-Schnittstelle RTS und DTR zur Kontrolle des Reset- und GPIO0-Pins, über die der Bootloader angesteuert wird. Mein Terminal-Programm VbTermie habe ich so angepasst, dass die RS232-Steuerleitungen angezeigt und bedient werden können. Man kann also z.B. vom Ternimal-Programm aus einen Reset des ESP8266 auslösen oder den Zustand der beiden GPIO-Pins anzeigen.

ESP8266 ESP-01   USB TTL
ESP8266-01 GND
RX
TX
Reset
GPIO0
VCC
CH_PD






GND
TX
RX
RTS
DTR
VCC
VCC
ft232
        Auf die richtige Einstellung der
Spannung achten! Der ESP8266
benötigt 3.3V.

Dokumentationen zum ESP8266 findet man unter bbs.espressif.com oder über die SDK-Seite von espressif.

Weitere Tipps zur ESP8266-Programmierung

STM32F103C

STM32F103C8T6

Der STM32F103C8T6 ist eine kleine leistungsfähiger CPU Basis eines ARM 32 Cortex-M3 mit 72MHz Taktfrequenz, 64K Flash-Speicher, 20K SRAM, Versorgungs- und I/O-Spannung 2.0-3.6V, on-board Mini USB interface, geeignet zur Stromversorgung und USB-Kommunikation. Größe: 53.34mm x 22.86mm.

Roger Clark hat sich um die Portierung der Arduino-IDE gekümmert. In seinem Wiki findet man eine Anleitung. Die herunter geladenen Dateien müssen nicht unbedingt ins Verzeichnis ".../Documents/Arduino/hardware" kopiert werden. Ich kopiere meinen Dokumenten-Ordner regelmäßig auf ein anderes Medium und möchte in diesem Ordner nur solche Dokumente aufbewahren, die ich selbst erstellt habe und ansonsten nicht wiederbeschafft werden können. Den heruntergeladenen Ordner "Arduino_STM32" kann man genau so gut ins Verzeichnis "...\Arduino\hardware" platzieren, in dem sich schon die Dateien für den Original-Arduino befinden. (Anm. Das klappt zwar, aber nach dem Update auf Version 1.6.5 war alles wieder gelöscht)

Weitere Hinweise findet man auf Roger Clarks Homepage und auf der GitHub-Seite des Projekts. Ein Video zur Hilfestellung des Programm-Uploads findet man unter YouTube. Nicht zuletzt gibt es einen Blog, der sich mit diesem Thema befasst: stm32duino

Visual Micro

Die Arduino-IDE ist schon recht spartanisch ausgestattet. Die neuen Boards per Hand in eine komfortablere Entwicklungsumgebung wie das Atmel-Studio einzubinden, ist mit einem nicht machbaren Aufwand verbunden. Deshalb habe ich mir noch einmal die "Visual Micro Arduino IDE" angeschaut. Die aktuelle Version 1505.19 Sp6 vom 30. Mai 2015 lässt nur noch wenige Wünsche übrig. Wenn man sich an die Arduino-Regeln hält, funktioniert das ganze einwandfrei.

Das intensive Studium der ausführlichen Dokumentation ist unerlässlich. Z.B. erfolgt das Upload eines Programms per Funktionstaste (F5). Einen entsprechenden Menüpunkt findet man vergeblich.

Arduino Uno    Compile: ✔    Upload: ✔
ESP8266    Compile: ✔    Upload: ✔
STM32F103C    Compile: ✔    Upload: noch nicht getestet (14.6.2015)

Tipps & Tricks zu Visual Micro

Reste des Build-Vorgangs löschen

Serieller Monitor VbTermie während des Uploads ausschalten.

Quellen eingebundener Bibliotheken sichtbar machen.