Maker PI PICO, een mooi basestation voor de microcontroller Raspberry PI PICO

De microcontroller Raspberry PI PICO is de eerste microcontroller van de Raspberry PI Foundation en bevat tevens een eigen ontwikkeld System-On-Soc, de RP2040. Er is al veel geschreven over deze microcontroller, voor meer details: zie de Getting Started pagina. 

Er zijn diverse SDK’s (software development kits) waarmee de microcontroller geprogrammeerd kan worden: MicroPython (pdf),  CircuitPython, C/C++ (pdf) en, op het moment van schrijven nog niet officieel uitgebrachte, Arduino.

Ik hou me vooral bezig met de eerste twee, waarvan Circuitpython de voorkeur is wegens de heel goede ondersteuning van Adafruit. Micropython en Circuitpython zijn ook de makkelijkste opstapjes voor beginner, mede omdat deze talen een subset zijn van Python.

De labelling van de pinnen op de microcontroller PI PICO staan op de onderkant van het board. Dat maakt het lastig wanneer de board op een breadboard wordt gestoken. Ik was dan ook wel snel op zoek naar een basestation waar ik de PI PICO op kan zetten en die de labels aan de voorkant hebben.

Er zijn al diverse basestations op de markt voor de PI PICO en de Maker PI PICO van Cytron Tech vond ik al snel het mooiste en ook de meest uitgebreide. Er zijn twee versies: één inclusief een gesoldeerde PI PICO en één met een opzegvoet ,waarin je een losse PI PICO inzet. Een ander verschil tussen deze boards is dat bij de gesoldeerde PI PICO versie, de aansluitingen met electronica met een female Dupont draden gaat, terwijl bij de andere versie je de male kant van de Dupont draden gebruikt. Verder zijn de boards identiek.

De Maker PI PICO board wordt geleverd in een mooi doosje, waarin tevens een Pin Referentie kaart bijzit, waarop staat zowel de pin layout voor de microcontroller PI PICO alsmede de Maker PI PICO board. Netjes verzorgd.

De Maker PI PICO is te koop bij een nederlandse distributeur RaspberryStore. Dat scheelt behoorlijk wat verzendkosten, want Cytron Tech zelf is gevestigd in Malaysia.

Hardware Maker PI PICO

De board heeft een aantal faciliteiten die ik met name voor beginners heel nuttig vind:

Maker PI PICO

  • Visualisatie van de GPIO pinnen door middel van een kleine LED. Led brandt als er een logische ‘1’ (3V3) op de pin staat, en is uit bij een logische ‘0’ (0V=GND). Dat helpt bij het zoeken naar oplossingen bij fouten of features in jouw programma. Wel kan het een waar lichtfestijn opleveren, daarom is aan de onderkant van het board een mogelijkheid gegeven alle LED-verbindingen te verbreken door het doorsnijden van een PCB-verbinding. Mhh, ik denk niet er gebruik van te maken, ‘ik ben gek op lichtjes’.
  • 6 Grove aansluitingen, waar een deel van de GPIO-pins zijn aangesloten, zijnde GPIO 1-9, GPIO 26 en GPIO27. Hiermee kunnen sensoren en actuatoren van het Grove-systeem makkelijk aangesloten worden. Grove onderdelen zijn te koop bij SeeedStudio, maar ook in Nederlands o.a. bij Kiwi-Electronics.
  • Een audio aansluiting op luidsprekers, en een buzzer op dezelfde GPIO-pin (GPIO 18). De buzzer kan worden uitgezet dor middel van een schuifschakelaar. Handig en nuttig.
  • Micro-SD disk, waarin een micro-SD card ingeschoven kan worden, voor data-opslag, of extra diskruimte voor beelden.
  • Bijzonder is een aansluiting voor een ESP01 waarmee de PICO een Wifi-verbinding kan maken. De PICO heeft geen Wifi of Bluetooth communicatie mogelijkheden (RP2040), en dat zal dan door co-processors moeten worden gedaan. De communicatie met de ESP01 gaat via een UART-verbinding. Dit ga ik nog een keer uitzoeken. Heel interessant.
  • Drie drukknoppen die programmeerbaar zijn. Ze zijn aangesloten op GPIO20, 21 en 22.
  • Een RGBled, ook wel neopixel genoemd, dat gebruikt kan worden als signalering voor acties in jouw programma.
  • Een BOOTSEL en RUN knop. De laatste (RUN)knop is superhandig want de herstart van de microcontroller PI PICO kan nu plaatsvinden zonder de USB-kabel uit de microcontroller te trekken. De kans dat micrco-USB connector op de PI PICO beschadigd raakt bij uit- en inzetten, is daarmee gereduceerd tot nul.
    • Bij indrukken van de RUN-knop tegelijk met de BOOTSEL-knop, zorgt ervoor dat de PI PICO in ‘boot’-mode komt en de firmware ge-update kan worden. Procedure vind je op Adafruit hier: Installing CircuitPython.

Verder ziet het board er heel professioneel uit en heeft het een paarse kleur (2021). De labels staan ook nog een keer helder aan de onderkant, en er is tevens een ruimte om jouw naam erop te schrijven. De doelgroep is dan ook (STEM) onderwijs.

Maker PI PICO  onderkant

Software

De voorgesoldeerde Maker PI PICO komt met CircuitPython als firmware en demonstratie programma dat alle onderdelen op de board bestuurd. Erg leerzaam en de moeite waard om te bestuderen en te bewaren.

Bij het opstarten van de PI PICO met CircuitPython komt er een USB disk op de computer, met de naam CIRCUITPY. Deze kan je openen en dan vind je de volgende files en folder:

lib, een folder waarin je de libraries neerzet. Deze is initieel leeg.

 Python, media en tekst bestanden:

  • adafruit_framebuf.py: een CircuitPython library van Adafruit, nodig voor een OLED display. Deze zou eigenlijk in de lib-folder moeten staan.
  • adafruit_ssd1306.py: een CircuitPython library van Adafruit voor een OLED display met controller-chip SSD1306. Deze zou eigenlijk ook in de lib-folder moeten staan.
  • boot.out.txt: tekstfile dat vermeld welke CircuitPython versie is geïnstalleerd op de PI PICO.
  • font5x8.bin, font5x8bin.license: font file voor OLED display. font size is 5×8 pixels.
  • L-R.wav: een geluidsfile voor demonstratie.
  • main.py:  de Python code die uitgevoerd wordt als je de PI PICO aansluit op jouw computer met de micro-USB kabel. De naam van dit opstartbestand mag ook code.py genoemd worden. Zie Adafruit’s documentatie over CircuitPython.

Er staat een vrij recente versie van CircuitPython op. Echter CircuitPython wordt regelmatig bijgewerkt. Te leren hoe je de PI PICO kan bijwerken met een recentere versie van CircuitPython is de moeite waard. Procedure vind je op Adafruit hier: Installing CircuitPython.

Demonstratie (out-of-the-box)

Het loont de moeite waard om het volgende aan te sluiten op de Maker PI PICO wanneer je die uit-de-doos haalt. De demonstratie code in main.py maakt er gebruik van:

  1. een OLED-display (128*64 pixels) op Grove nr. 4,
  2. luidsprekers via een audio-kabel op de audio-uitgang
  3. een micro-SD card, bijvoorbeeld 16GB, in de micro-SD disk. Deze kan je dan later bekijken op de computer met een micro-SD kaartlezer.

Video; Maker PI PICO out-of-the-box.mp4

Binnenkort meer demonstraties en experimenten met de Maker PI PICO board. CytronTechnology heeft een aantal tutorials online staan om alvast mee te beginnen. Tot op heden zeer tevreden met de boards, zowel die met als zonder PI PICO.