Maker Pi Pico von Cytron

In diesem Beitrag möchte ich dir den neuen Mikrocontroller Maker Pi Pico von der Firma Cytron vorstellen.

Diesen Mikrocontroller habe ich von der Firma Cytron kostenfrei für dieses Review zur Verfügung gestellt bekommen, daher möchte ich diesen Beitrag als “gesponsert” markieren. Aber ich werde mich nicht davon abhalten lassen meine persönliche Meinung zu diesem Mikrocontroller dir aufzuzeigen.

Im Beitrag xyz habe ich bereits einen ähnlichen Mikrocontroller der Firma Cytron mit dem Chip RP240 von der Raspberry Foundation vorgestellt. Des Weiteren findest du auch einen Arduino Klon von Cytron welchen ich im Beitrag Maker UNO – Überblick und Test vorgestellt habe.

Jedoch bietet dieser hier vorgestellte ein paar nette Features, welche der andere nicht hat.

Bezug des Maker Pi Pico

Diesen Mikrocontroller findest du für 9,90 $ (8,36 €) zzgl. Versandkosten im offiziellen Shop von Cytron.

Lieferumfang

Der Mikrocontroller wird in einem kleinen Karton geliefert welcher gleichzeitig auch als Gehäuse genutzt werden kann. Des Weiteren ist dieser in einer antistatischen Tüte verpackt.

Zusätzlich befindet sich eine kleine Karte im Karton wo das Pinout des Mikrocontrollers abgebildet ist, auf der Rückseite sind die Features des Mikrocontrollers kompakt abgebildet.

Technische Daten des Maker Pi Pico

Auf dem Board ist wie bereits erwähnt ein Raspberry Pi Pico verbaut welchen ich bereits im Beitrag Raspberry PI Pico #1 – Vorstellung vorgestellt habe. Ich möchte hier nun speziell auf die Features des Maker Pi Pico eingehen.

  • SD – Card,
  • AUDIO Ausgang,
  • Piezo Buzzer,
  • 3 frei programmierbare Taster,
  • Buchse für einen ESP01*,
  • 6 Grove Adapter für Sensoren / Aktoren,
  • eine RGB LED,
  • an jedem GPIO Ausgang eine SMD LED**,
  • Stiftleiste zum abgreifen der Debug Pins

* Ein passendes ESP01 Modul ist nicht enthalten, kann aber für wenig Geld über ebay.de bezogen werden.

** Auf der Rückseite des Boards sind zwei Lötkontakte welche getrennt werden können, um diese SMD LEDs zu deaktivieren.

Features des Maker Pi Pico Boards

Default Programm auf dem Board

Auch auf dem Maker Pi Pico ist ein Programm installiert welcher sofort abgespielt wird, wenn der Mikrocontroller mit Strom versorgt wird.

Programmieren des Maker Pi Pico mit einem ESP01

Die Grove Schnittstellen, SD-Card Adapter und Audio Jack sind wie ich finde keine besonderen Schnittstellen, daher möchte ich mich zunächst auf den ESP01 konzentrieren.

ESP-01S

Durch dieses kleine WiFi Modul kannst du deinen Raspberry Pi Pico, um die Fähigkeit erweitern im lokalen WLAN zu arbeiten.

Flashen des ESP01

Damit der ESP01 bzw. ESP01S vom Maker Pi Pico erkannt wird, muss dieser mit einer speziellen Firmware geflasht werden. Wiederum benötigen wir zum Flashen auch ein speziellen USB Programmer. Diesen USB Programmer kannst du auf ebay.de in zwei Versionen erstehen, zum einen mit einem kleinen Schalter und ohne.

USB Programmer für den ESP-01s
USB Programmer für den ESP-01s

Wenn du die Version ohne diesen Schalter besitzt, so kannst du recht einfach eine kleine Stiftleiste an der Unterseite löten und über einen passenden Jumper diesen Schalter ersetzen. Wie du den USB Programmer modifizierst habe ich unter anderem im Beitrag Arduino Lektion 58: ESP-01S Temperatur & Luftfeuchtigkeitssensor Shield gezeigt.

Die Firmware wird auf einer *.bin Datei ausgeliefert und kann vom Google Drive der Firma Cytron geladen werden.

Wenn die knapp 1MB große Datei geladen wurde, dann kann diese mithilfe der Kommandozeile und dem “esptool.py.exe” aufgespielt werden.

Den passenden Port findest du unter Microsoft Windows im Geräte-Manager unter dem Knoten “Anschlüsse (COM & LPT)”.

Windows 10 - Geräte-Manager mit eingerichtetem SAMD21 am COM5
Windows 10 – Geräte-Manager mit eingerichtetem SAMD21 am COM5
esptool.py.exe – port COM10 – baud 460800 write_flash – flash_size=detect 0 ESP-01_AT_Firmware_V2.2.0.bin

esptool.py v2.8
Serial port COM10
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 84:f3:eb:18:4b:20
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 1MB
Flash params set to 0x022f
Compressed 1048576 bytes to 542567...
Wrote 1048576 bytes (542567 compressed) at 0x00000000 in 59.7 seconds (effective 140.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Beispiele mit einem ESP01 & dem Maker PiPico

Wenn die Firmware auf den ESP01 geflasht wurde kann dieser auf den Microcontroller Maker Pi Pico gesteckt werden und ein erstes Beispiel aufgespielt werden.

Maker Pi Pico mit ESP01S

Ein kleines Beispiel findest du auf dem GitHub Repository CytronTechnologies / MAKER-PI-PICO von der Firma Cytron.

Zum Programmieren nutze ich den MU Editor, welchen ich bereits, in einigen Tutorials auf meinem Blog verwendet habe. Dieser ist recht schlank und funktioniert mit wenigen Klicks.

Editor Mu - wählen des Modus
Editor Mu – wählen des Modus

Suchen von WiFi Netzwerken in der nähe

Zunächst wollen wir nach WiFi Netzwerken in der Nähe suchen. Für dieses Programm benötigen wir ein paar Bibliotheken.

Die Bibliotheken finden wir ebenfalls auf dem bereits genannten GitHub Repo und können diese von dort als ZIP Datei herunterladen, sobald dieses geschehen ist, kopieren wir diese nach “CIRCUITPY (H:) lib”.

Nun können wir mit dem nachfolgenden Programm nach WiFi AccessPoints in der Nähe suchen.

import time
import board
import busio
import adafruit_requests as requests
import adafruit_espatcontrol.adafruit_espatcontrol_socket as socket
from adafruit_espatcontrol import adafruit_espatcontrol

RX = board.GP17
TX = board.GP16
uart = busio.UART(TX, RX, receiver_buffer_size=2048)

esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, debug=False)
requests.set_socket(socket, esp)

# Reset des ESP01
esp.soft_reset()

while True:
    print("\nsuche nach WiFi Accesspoints...")
    # ausgeben der gefundenen APs auf der Konsole
    for ap in esp.scan_APs():
        print(ap)
    # eine kleine pause von 2 Minuten
    time.sleep(120)
Ausgabe auf der Konsole

Auf der seriellen Konsole der A

suche nach WiFi Accesspoints...
[3, 'FRITZBox7590GI24', -51, '44:4e:6d:bd:f5:9a', 5, -1, -1, 4, 4, 7, 1]
[3, '', -73, 'fe:a6:67:a7:6f:62', 5, -1, -1, 4, 4, 6, 1]
[3, 'FRITZBox7590GI24', -83, '74:42:7f:16:44:29', 5, -1, -1, 4, 4, 7, 1]
[3, '', -86, '02:71:47:55:8b:1d', 5, -1, -1, 4, 4, 6, 1]
[3, 'WLAN-GON', -86, '4c:09:d4:18:0e:e3', 7, -1, -1, 4, 4, 7, 1]
[3, '', -88, '7e:d5:66:3d:e0:bb', 5, -1, -1, 4, 4, 6, 1]
[3, 'WLAN Flur 10 Fritz', -89, '44:4e:6d:17:ef:3e', 1, -1, -1, 4, 4, 7, 1]

Aufbau einer Verbindung zu einem WiFi Netzwerk

Nachdem wir nun die WiFi Netzwerke in unserer Nähe gefunden und aufgelistet haben, möchten wir uns mit einem Verbinden und ein PING zu einer IP-Adresse absetzen.

import time
import board
import busio
import adafruit_requests as requests
import adafruit_espatcontrol.adafruit_espatcontrol_socket as socket
from adafruit_espatcontrol import adafruit_espatcontrol

secrets = {
    "ssid" : "FRITZBox7590GI24",                                    
    "password" : "1234"
}

RX = board.GP17
TX = board.GP16
uart = busio.UART(TX, RX, receiver_buffer_size=2048)

esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, debug=False)
requests.set_socket(socket, esp)

print("Resetting ESP module")
esp.soft_reset()
esp.connect(secrets)
print("IP address:", esp.local_ip)
print("ESP Firmware Version:", esp.version)

target_ip_address = "217.160.86.40"
while True:            
    print("Ping ", target_ip_address, "...", end="")
    print(esp.ping(target_ip_address))
    time.sleep(10)
Ausgabe auf der Konsole

In diesem Fall setzen wir eine einfachen Ping auf die IP-Adresse 217.160.86.40 (ionos.de) ab.

Connected to FRITZBox7590GI24
IP address: 192.168.178.79
ESP Firmware Version: AT version:2.2.0.0(b097cdf - ESP8266 - Jun 17 2021 12:57:45)
Ping  217.160.86.40 ...16
Ping  217.160.86.40 ...14
Ping  217.160.86.40 ...14
Ping  217.160.86.40 ...18

Fazit & Ausblick

Als Fazit zu diesem kleinen Microcontroller möchte ich ziehen, das dieser durch die Möglichkeit einen ESP01S anzuschließen und passende Grove Schnittstellen besitzt einen deutlichen Mehrwert bietet und den verbauten Raspberry PI Pico dadurch aufwertet.

Als nächstes möchte ich dir dann zeigen wie man eine kleine Webseite mit Sensordaten erstellt. Die Sensoren werden dabei über die Grove Schnittstelle angeschlossen und somit ist der Aufbau zumindest sehr schnell erledigt.

2 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.