Raspberry Pi Pico to rewolucyjna płytka mikrokontrolera oparta na chipie RP2040, zaprojektowanym przez Raspberry Pi Foundation w Wielkiej Brytanii. Debiut w styczniu 2021 roku szybko przyciągnął entuzjastów robotyki, elektroniki i DIY dzięki niskiej cenie (ok. 4 USD), wysokiej wydajności i elastycznym interfejsom.
Premiera Raspberry Pi Pico – przełom w świecie mikrokontrolerów
Raspberry Pi Pico to pierwszy mikrokontroler w pełni zaprojektowany przez Raspberry Pi Foundation. W odróżnieniu od popularnych komputerów jednopłytkowych (np. Raspberry Pi 4), Pico to kompaktowa płytka o wymiarach 21 mm × 51 mm, przeznaczona do zastosowań embedded, bez systemu Linux.
Chip RP2040 oferuje dwurdzeniowy Arm Cortex‑M0+ do 133 MHz, 264 kB SRAM i obsługę zewnętrznej pamięci flash do 16 MB (standardowo 2 MB na pokładzie). Pico wprowadziło unikalne programowalne maszyny stanów PIO (2 bloki PIO, łącznie 8 maszyn stanów), które umożliwiają tworzenie niestandardowych peryferiów bez obciążania CPU, np. dla protokołów VGA czy szybkiego I2S.
Programowanie jest wyjątkowo proste: metodą przeciągnij‑upuść (UF2) przez USB w MicroPythonie lub w C/C++ (Raspberry Pi SDK). Warianty obejmują Pico H (z wlutowanymi pinami goldpin) oraz Pico W (Wi‑Fi 802.11n 2,4 GHz z CYW43439, WPA3, softAP do 4 klientów) – idealny do projektów IoT.
Szczegółowe specyfikacje techniczne RP2040
RP2040 zaprojektowano z naciskiem na wydajność i niski pobór energii. Oto kluczowe parametry:
| Cecha | Szczegóły |
|---|---|
| Procesor | Dwurdzeniowy Arm Cortex‑M0+, do 133 MHz, dynamiczna zmiana taktowania |
| Pamięć | 264 kB SRAM, 2 MB QSPI flash (wsparcie do 16 MB off‑chip) |
| GPIO | 26 wielofunkcyjnych pinów (23 cyfrowe, 3 z ADC 12‑bit) |
| Interfejsy | 2× SPI, 2× I2C, 2× UART, 3× ADC 12‑bit, 16 kanałów PWM |
| USB | USB 1.1 host/urządzenie, złącze Micro‑USB |
| PIO | 2 bloki PIO, łącznie 8 maszyn stanów do niestandardowych protokołów |
| Inne | sensor temperatury, precyzyjne zegary i timery, tryby oszczędzania energii (sleep/dormant), 3‑pinowy SWD do debugowania |
| Zasilanie | przez Micro‑USB lub pin 3,3 V (regulowane z VSYS) |
Pico W dodaje: Wi‑Fi 802.11n (2,4 GHz), WPA3 i tryb softAP. Płytka ma formę DIP‑40, co ułatwia prototypowanie na płytkach stykowych.
Zastosowania w robotyce, elektronice i IoT
Pico świetnie sprawdza się w projektach wymagających precyzji i niskich kosztów. W robotyce zasila serwomechanizmy (PWM), czyta sensory (ADC dla czujników ultradźwiękowych, I2C dla IMU) i kontroluje silniki krokowe z użyciem PIO. Przykładowo: robot line‑follower wykorzystuje GPIO i ADC do detekcji linii, a sterowanie ramieniem robotycznym może używać PIO do emulacji enkodera kwadraturowego.
W elektronice i automatyce warto zwrócić uwagę na te typowe zastosowania:
- automatyka domowa (np. czujniki wilgotności na I2C),
- wyświetlacze i taśmy LED (PIO dla WS2812B),
- iot z Pico W: bezprzewodowe sieci sensorów.
Edukacja: proste projekty w MicroPythonie uczą podstaw programowania embedded i elektroniki.
Testy praktyczne – wydajność, programowanie i porównanie
Przetestowaliśmy oryginalny Raspberry Pi Pico w scenariuszach robotycznych. Po podłączeniu przez Micro‑USB bootloader pojawia się jako dysk USB – wystarczy skopiować plik UF2, aby wgrać oprogramowanie.
Test 1 – miganie LED i PWM (C/MicroPython)
Kod MicroPython:
from machine import Pin, PWM
import time
led = Pin(25, Pin.OUT)
pwm = PWM(Pin(0))
pwm.freq(1000)
while True:
led.toggle()
pwm.duty_u16(32768) # 50% duty
time.sleep(0.5)
Przy taktowaniu 133 MHz wszystko działa płynnie, a pobór prądu jest niski (~20 mA). PIO umożliwia szybsze sterowanie taśmami LED bez obciążania CPU.
Test 2 – czujnik DHT22 + OLED (I2C)
Podłączyliśmy DHT22 (GPIO4) i wyświetlacz OLED SSD1306 (I2C na GPIO0–1). Biblioteka uPiot zapewnia odczyty co 100 ms bez opóźnień w odświeżaniu. ADC na GPIO26–28 mierzy napięcia z rozdzielczością 12‑bit (~1 mV/LSB).
Test 3 – sterowanie serwem + Wi‑Fi (Pico W)
Na Pico W: połączenie z siecią 802.11n, serwo na PWM reaguje na komendy HTTP. Przepustowość ~10 Mb/s – w pełni wystarczająca dla aplikacji IoT.
Porównanie z konkurencją:
| Płytka | Cena | Core/Clk | RAM/Flash | Wi‑Fi | Unikalne |
|---|---|---|---|---|---|
| Pico | 4 USD | Dual M0+/133 | 264k/2M | Nie | PIO |
| Arduino UNO | 25 USD | ATmega/16 | 2k/32k | Nie | prostota |
| ESP32 | 5 USD | Dual Xtensa/240 | 520k/4M | Tak | Bluetooth |
| Pico W | 6 USD | Dual M0+/133 | 264k/2M | Tak | PIO + WPA3 |
Pico wyróżnia się ceną i PIO, podczas gdy ESP32 wygrywa łącznością – Pico pozostaje lżejsze (brak narzutu RTOS).
Wydajność energetyczna: tryb dormant poniżej 1 µA, co czyni płytkę znakomitą do zasilania bateryjnego.
Programowanie i ekosystem
Oto najważniejsze elementy ekosystemu i narzędzi programistycznych:
- MicroPython/CircuitPython – natychmiastowy start i wgrywanie przez „przeciągnij i upuść”;
- C/C++ SDK – pełna kontrola PIO, kompilacja do UF2 i wydajne biblioteki;
- Arduino IDE – wsparcie przez oficjalny core oparty na pico‑sdk;
- Narzędzia – Thonny IDE, debugger SWD i bogate przykłady w dokumentacji.
Dokumentacja Raspberry Pi jest wzorowa – kompletne datasheety, czytelne pinouty i gotowe przykłady przyspieszają prace rozwojowe.