Make Magazin 2/2019
S. 104
Know-how
Aufmacherbild

Einstieg in MicroPython

Keine Lust mehr auf C++? Dann probieren Sie doch mal MicroPython. Dank leistungsfähigerer Mikrocontroller mit vergleichsweise viel Speicher bietet sich diese Skriptsprache für viele Projekte als mächtige und einfach zu erlernende Alternative zum Arduino und C++ an.

Mehr Funktionalität für komplexere Projekte und dabei eine einfach zu lesende Programmiersprache – neue Mikrocontroller, die auf MicroPython setzen, machen nach 15 Jahren dem bisherigen Platzhirsch Arduino klare Konkurrenz. Wir erklären die notwendigen Grundlagen und Besonderheiten der Python-3-Variante für Mikrocontroller, geben eine Übersicht über aktuelle MicroPython-Distributionen und geeignete Boards. Am Beispiel des ESP32-Mikrocontrollers zeigen wir, welche Programmierumgebung sich für den Einstieg eignet und demonstrieren, wie man die Hardware anspricht. In einem Artikel im nächsten Heft bauen wir außerdem einen MicroPython-gesteuerten Laufroboter. Links zu allen genannten Webseiten und Programmen finden Sie unter der URL in der Kurzinfo.

MicroPython-Boards, von links: TTGO LORA32 mit WLAN/Bluetooth/LoRa und kleinem OLED-Display, pyboard, WeMos D1 mini Pro mit WLAN/Bluetooth, Feather HUZZAH32 mit WLAN/Bluetooth und Feather M4 Express mit kleinem Experimentierfeld

Mit einer Crowdfunding-Kampagne stellte der Ingenieur Damien George Ende 2013 MicroPython und das dazugehörige pyboard vor. Inzwischen arbeitet George Vollzeit am MicroPython-Ökosystem, und es gibt Portierungen von MicroPython für eine Reihe von Mikrocontrollern, darunter sowohl die beliebten WLAN-Boards ESP8266 und ESP32 von Espressif als auch ARM-Cortex-M4-Boards. Erste Anlaufstelle ist die Webseite micropython.org, auf der sich neben der kompletten Dokumentation die aktuellen Firmwares für die verschiedenen Mikrocontrollerarchitekturen beziehungsweise -boards finden. Auch einen Emulator gibt es, um MicroPython ohne Hardware auszuprobieren. Der Quellcode ist Open Source und steht komplett auf GitHub zur Verfügung.