In diesem ersten Beitrag zum PicoBoy möchte ich dir diesen vorstellen und aufzeigen, was dieser leistet und programmiert wird. Der kleine Mikrocontroller kommt mit einem RP2040 Chip und einigen Sensoren & Aktoren daher und bietet dir hier kompakt die Möglichkeit den Einstieg in die Entwicklung von Mikrocontroller zu starten.
Disclaimer: Dieser Beitrag enthält meine persönliche Meinung und Erfahrung mit dem PicoBoy. Funduino hat mir das Produkt kostenfrei zur Verfügung gestellt, um ein Review zu erstellen. Meine Bewertung basiert auf meinen eigenen Eindrücken und unabhängigen Tests.
Inhaltsverzeichnis
- Was sind die technischen Daten des PicoBoy?
- Vorteile des PicoBoy
- Nachteile vom PicoBoy
- Kaufen des PicoBoy im offiziellen Shop
- Aufbau des PicoBoy
- Erster Start des PicoBoy
- Programmieren des PicoBoy
- Thonny IDE zum Flashen des PicoBoy nutzen
- Programmieren in der Thonny IDE
- Programmierbeispiele für den PicoBoy
- Fazit
Was sind die technischen Daten des PicoBoy?
Wie erwähnt hat der kleine PicoBoy einen RP2040 Chip verbaut und daher zunächst die gleichen technischen Daten wie der Raspberry Pi Pico.
Mikrochip | RP2040, Dual-Core Arm Cortex M0+ mit bis zu 133 MHz |
Speicher | |
SRAM | 264 KB |
Flash | 16 MB |
Schnittstellen | USB-Typ-C |
2x SPI, 2x I²C, 2x UART | |
3x 12-bit ADC (Analog Digital Converter) | |
Sensoren & Aktoren | Temperatursensor, Timer (auf dem RP2040) |
5-Wege-Joystick, Beschleunigungssensor | |
Display | 1,3″ schwarz/weiß OLED-Display, 128 x 64 Pixel, Typ SH1107 |
zusätzliche Stromversorgung | über Knopfzelle CR2032 (liegt bei) |
Vorteile des PicoBoy
Die Vorteile des PicoBoy liegen auf der Hand, denn dieser ist fertig bestückt und getestet, somit kannst du direkt mit der Programmierung starten.
Der RP2040 Chip ist schon einige Zeit auf dem Markt und so hat sich eine breite Community gebildet, welche viel Hilfe zu diesem anbietet und du als Anfänger einen leichten Einsteig bekommst. Auch ich habe hier schon diverse Beiträge veröffentlicht, welche du auf diesen leicht abgewandelt ausführen kannst.
- Ampelschaltung mit LEDs,
- Soundausgabe mit Micropython,
Gut finde ich, die zusätzliche Stromquelle über eine Knopfzelle, somit braucht man sich darum nicht kümmern, wenn man sein kleines Projekt mal ohne PC verwenden möchte.
Nachteile vom PicoBoy
Wo Vorteile sind, sind auch Nachteile. Jedoch liegen diese im Auge des Betrachters. Mir persönlich fehlen hier ein paar digitale Aus-/Eingänge. Der RP2040 Chip hat 26 GPIOs von diesen werden für die verbauten Komponenten nicht alle benötigt und so könnte man gewiss einige nach außen führen.
Kaufen des PicoBoy im offiziellen Shop
Derzeit bekommst du den kleinen Mikrocontroller exklusiv im Shop von Funduino für derzeit 24,90 € zzgl. Versandkosten.
Lieferumfang
Zum Lieferumfang gehört neben dem kleinen Mikrocontroller zwei CR2032 Knopfzellen und ein kleines Putztuch für das Display.
Durch die standardisierte USB-C-Schnittstelle ist es okay, wenn so ein Kabel nicht beiliegt.
Aufbau des PicoBoy
Der PicoBoy verfügt auf der Vorderseite über ein 1,3″ OLED-Display und drei verschiedenfarbige SMD LEDs. Auf der Rückseite findest du den Adapter für die Knopfzelle sowie einen Schalter für den Wechsel von USB auf Batterie, eine USB-C-Schnittstelle und eine Taste für Reset und Boot.
Erster Start des PicoBoy
Wie erwähnt kannst du den PicoBoy über eine Knopfzelle mit Strom versorgen und auf diesem sind bereits 5 Demos vorinstalliert (davon 2 Spiele), welche du sofort ausführen kannst. Um diese zu starten, musst du lediglich den kleinen Schalter von USB auf BAT umstellen, kannst dann mit dem Joystick diese auswählen.
Tetris auf dem PicoBoy
Eines der Spiele ist Pictris, ein Tetris Spiel, wie man es vom Nintendo Game Boy kennt.
Programmieren des PicoBoy
Der PicoBoy kann in Micropython, sowie in der Arduino IDE via C/C++ programmiert werden. Dazu müssen wir diesen je nach gewünschter Sprache flashen.
Auf den nachfolgenden Seiten von Jan Schulz welcher diesen Mikrocontroller entworfen hat, wird erläutert, wie du diesen für die jeweilige Sprache vorbereitest:
Anschluss an den PC
Wenn du deinen PicoBoy an den PC mit einem passenden USB-Typ-C Datenkabel angeschlossen hast, dann wird dieser als Pico erkannt und als “Serielles USB-Gerät” eingerichtet.
Vorbereiten des PicoBoy für die Programmierung in Micropython
Damit ich den PicoBoy in diesem Review in Micropython programmieren kann, muss ich zunächst eine UF2-Datei für den Raspberry Pi Pico herunterladen und per Drag’n Drop über den Explorer auf diesen kopieren.
Damit wir dieses jedoch machen können, müssen wir zunächst die Taste “BOOT” festhalten und dann das USB-Kabel mit dem PC verbinden. Es sollte dann ein Laufwerk im Explorer sichtbar werden, auf welchen wir dann unsere UF2-Datei mit der Firmware für Micropython kopieren können.
Die UF2-Datei für den RP2040 bekommst du für einen Raspberry Pi Pico, mit und ohne WiFi / Bluetooth Support. In unserem Fall benötigen wir diese ohne die drahtlosen Schnittstellen. Unter https://micropython.org/download/RPI_PICO/ findest du eine Liste mit verfügbaren Firmwaredateien.
Ich empfehle dir eine Datei aus dem Abschnitt “Release” dieses sind offizielle Dateien welche getestet sind. Die Dateien aus einem “Nightly builds” sind Entwicklungsstände, welche Features enthalten können, aber auch Fehler.
Thonny IDE zum Flashen des PicoBoy nutzen
Man kann auch die Thonny IDE zum Flashen des PicoBoy bzw. des RP2040 nutzen. Wie du das machst, zeige ich dir in nachfolgendem kurzen YouTube-Video.
Programmieren in der Thonny IDE
Das Tool Thonny kannst du dir unter https://thonny.org/ für Microsoft Windows, Linux und macOS kostenfrei herunterladen. In dieser Entwicklungsumgebung (kurz IDE) kannst du deinen Mikrocontroller recht einfach programmieren und Bibliotheken dazuladen (zbsp. für das OLED-Display).
Einrichten der Thonny IDE für den PicoBoy
Danach musst du die Art des Interpreters wählen, in meinem Fall habe ich den PicoBoy für Micropython geflasht und muss hier den Eintrag “MicroPython (Raspberry Pi Pico)” auswählen.
Wenn nun der Mikrocontroller korrekt erkannt wurde, sollte in dem Reiter “Kommandozeile” die nachfolgende (graue) Ausgabe erfolgen. Ggf. musst du in der Toolbar ein bis zweimal auf das Stop Symbol klicken.
Erstellen einer Datei für das Programm
Bei der Entwicklung mit Micropython gibt es zwei wichtige Dateien:
- code.py
- boot.py
Die Datei boot.py wird geladen, sobald der Mikrocontroller Strom erhält, d.h. alles, was du darin schreibst, wird sofort ausgeführt. Die Datei code.py wird über eine IDE wie zbsp. Thonny gestartet.
Probleme mit der Datei boot.py
Ein Problem mit der Datei boot.py kann auftreten, wenn du keinen Ausgang für dein Programm definiert hast, quasi dieses in einer Endlosschleife läuft. Dann musst du ggf. deinen Mikrocontroller neu flashen, damit du deinen Code, welchen du hoffentlich vorher auf dem PC gespeichert hast, neu aufspielen und ändern kannst.
Daher ist diese Datei wirklich nur für finale Stände deines Programmes sinnvoll.
Erstellen der Datei code.py auf dem PicoBoy
Zum Erstellen einer Datei auf dem PicoBoy gibt es zwei Wege. Beide funktionieren ähnlich und unterscheiden sich nur wenig.
Erstellen einer Datei über die Toolbar
In der Toolbar findest du das Icon “Neu”, ein Klick auf dieses erzeugt einen neuen Reiter, in welchem wir nun unseren Code schreiben können.
Wenn wir dann die Schaltfläche “Speichern” klicken oder Strg+S betätigen, erscheint ein Dialog, in welchem wir den Ort wählen müssen.
Erstellen einer Datei über das Kontextmenü
Im Bereich “Raspberry Pi Pico” klicken wir die rechte Maustaste und wählen dann aus dem Kontextmenü den Eintrag “Neue Datei…” aus.
Im neuen Dialog geben wir dann den gewünschten Dateinamen “code.py” ein und bestätigen dieses mit der Schaltfläche “OK”.
Es wurde soeben ein neuer Reiter “[ code.py ]*” erzeugt.
Das Sternchen symbolisiert ungespeicherte Dateien!
Ausführen der Datei code.py
Die erzeugte Datei können wir über die Toolbar mit der Schaltfläche “Aktuelles Skript ausführen” oder mit der Taste F5 ausführen.
Wenn wir Änderungen durchführen möchten, dann muss zunächst das aktuelle Skript über die Schaltfläche “Stopp/Restart ausführen” beendet werden.
Programmierbeispiele für den PicoBoy
Auf der Seite https://picoboy.de/micropython/eins-nach-dem-anderen-das-erste-programm/ findest du zwei sehr gut erläutertes Beispiel, wie du die LEDs und das OLED-Display programmierst.
Sowie findest du auch noch viele weitere Beispiele und Erläuterungen.
Fazit
Als Fazit zu dem PicoBoy ziehe ich, dass dieser Mikrocontroller mit seinen Features sehr cool ist und einiges an Potential bietet.
Im nächsten Beitrag zum PicoBoy werde ich dir weitere Beispiele zeigen, welche in den Schwierigkeitsstufen von einfach bis komplex steigen. Sei also gespannt.
Hallo Stefan,
danke, wie immer gut erklärt.
Ja, ein paar I/O- Ports wären schon klasse. Die Anschlüsse des Joysticks zu nutzen, wäre da nur eine “Notlösung”. Vlt. liest es jemand von Funduino mit und greift die Idee auf.
Viele Grüsse
Holger F.