De Raspberry Pi Foundation heeft een Pico printplaatje voor op een breadboard uitgebracht met daarop een zelfontwikkelde microcontroller voor onder meer MicroPython.
Voor eenvoudige hobbyprojecten en veel besturingstaken is een Raspberry Pi te duur of te groot – en verbruikt te veel energie. Daarom is er nu de Raspberry Pi Pico die tot de klasse van de Arduino Nano behoort. Met zijn afmetingen van 5,1 × 2,1 centimeter is hij iets groter dan de Nano, die 4,5 × 1,8 cm groot is, maar hij heeft ook 40 in plaats van 30 contactpinnen en 26 in plaats van 22 GPIO’s. De laatste werken met 3,3 volt.
Je kunt de Pico bijvoorbeeld op een breadboard gebruiken. Net als een Arduino Nano heeft hij een micro-USB-aansluiting voor de voeding en het programmeren. Dat laatste gebeurt in eerste instantie via MicroPython of Microsoft Visual Studio Code, en er is ook een GCC-toolchain met geoptimaliseerde bibliotheken voor bijvoorbeeld floatingpoint-berekeningen – de Cortex-M0+ heeft immers geen FPU.
Blijf op de hoogte van de nieuwste informatie en tips!
Schrijf je in voor de nieuwsbrief:
De gebruikte microcontroller is de 40 nm RP2040-chip, ontwikkeld door de Raspberry Pi Foundation zelf en gefabriceerd door TSMC. Zijn twee 32-bit ARM Cortex-M0+-kernen halen tot 133 MHz. Op de chip zelf zit 264 kB SRAM (static RAM). Extern kan Quad-SPI-Flash worden aangesloten, op het Pi Pico-board zit 2 MB Winbond-flashgeheugen. De gebruikelijke GPIO-functies zoals I2C, SPI, UART, PWM en ADC zijn aanwezig, alsmede timers. Bijzonder zijn de acht programmeerbare I/O-statusmachines. De goedkope Raspberry Pi Pico, die maar 4 euro kost, werkt op spanningen van 1,8V tot 5,5V en moet bij een voeding van 5 volt op een verbruik van 0,005 tot 0,5 watt uitkomen.
MicroPython
De Raspberry Pi Pico is te programmeren in C/C++ en MicroPython. Voor de Pi Pico is een speciale port gemaakt van MicroPython. Dat is een volledige implementatie van Python 3 voor microcontrollers. MicroPython probeert zo compatibel mogelijk met het normale Python te zijn. Aangezien gebruikers van een Raspberry Pi toch al gewend zijn aan Python 2 of 3, is MicroPython een logische keuze. Je hebt een interactieve prompt (REPL) om commando’s rechtstreeks uit te voeren via USB Serial en een ingebouwd bestandssysteem. De Pico-port bevat modules voor het adresseren van low-level chip-specifieke hardware.
De eerste stap voor het installeren van MicroPython is om de Pi Pico via de knop BOOTSEL als externe schijf aan je Raspberry Pi te koppelen en via het bestand index.htm dat op de Pico staat het bestand pico_micropython_xxx.uf2 te downloaden en op de Pico te droppen. Na een paar seconden zet de Pico zichzelf weer terug in zijn normale modus, verlaat het Pi-bestandssysteem, flasht de MicroPython-firmware en start die op.
Bij de Thonny Python IDE klik je rechtsonder op het Python-versienummer om de interpreter te wisselen naar die voor MicroPython.
Net als Python werkt MicroPython met inspringingen, onmisbaar bij eindige en oneindige loops, voorwaardelijke if/else instructies etc. Je kunt ook gewoon bibliotheken importeren, maar dan wel die van MicroPython, zoals met import utime (µtime), wat in normaal Python import time is.
Accessoires
De laatste maanden is door de externe partners van de Raspberry Pi Foundation, waaronder Adafruit, Arduino, Pimoroni en Sparkfun, hard gewerkt om accessoires voor de Raspberry Pi Pico te ontwikkelen en bovendien ook een aantal eigen controllerboards op basis van de RP2040-chip.
Arduino heeft bijvoorbeeld een nieuw board op basis van de RP2040 aangekondigd, maar dan met een onboard wifi-/bluetoothmodule, een bewegingsmeter en een microfoon, plus maar liefst 16 MB flashgeheugen.
Pimoroni heeft naast diverse uitbreidingen voor de Pico ook een minuscule handheld gameconsole ontwikkeld op basis van de RP2040: PicoSystem. Die moet binnenkort verschijnen voor een prijs van circa 65 euro. Er zijn maar een paar details bekend: IPS-schermpje, joypad, 4 knoppen, lipo-accu, usb-c-voeding.
Alle datasheets van de Pi Pico en RP2040 zijn in pdf-formaat te downloaden. De Raspberry Pi Foundation heeft ook een beginnershandleiding beschikbaar gesteld.