Die Foundation offeriert ihren neuen Mikrocontroller RP2040 gleich fertig auf dem Breakout-Board RasPi Pico verbaut. Die preiswerte Kombi bietet alles, was man zum Entwickeln selbst umfangreicher Anwendungen braucht.
Die RasPi-Modelle haben seit dem Erscheinen der ersten Variante vor neun Jahren stetig an Leistung zugelegt. Der erste Raspberry Pi startete mit einem 700-MHz-Prozessor und 256 MByte RAM, er verfügte über eine GPIO mit 26 Pins. Der aktuelle RasPi 4B bietet vier 1,5 GHz schnelle Kerne, bis zu 8 GByte Arbeitsspeicher und eine 40-Pin-GPIO.
Bei allen Modellen bisher handelt es sich um komplette Mini-Rechner mit Anschlüssen für Peripherie wie USB, (W)LAN, Audio und HDMI. Die CPU war nie speziell auf einen Einsatzzweck zugeschnitten, und manche Besonderheiten – andere nennen es Krankheiten – der RasPi-Boards liegen daran, dass die Entwickler Broadcom-Chips für den Einsatz als Herz der SBCs zweckentfremdet haben.
Das aktuelle Produkt der Foundation, der Raspberry Pi Pico (Abbildung 1), ist in jeder Hinsicht anders. Zunächst einmal handelt es sich beim verbauten Chip RP2040 (in der Mitte der Platine) nur um einen Mikrocontroller. Statt eines Betriebssystems, das die Ressourcen an die Programme verteilt, läuft auf diesem Modell wie auf jedem anderen Baustein dieser Art nur ein einziges Programm.
Die Macher des RP2040 haben aber nicht wie bei den bisherigen SBCs einfach einen Kern eines Drittanbieters ausgesucht und ein Board darum herum entwickelt, sondern den Chip komplett selbst entworfen. Die nötigen Bausteine dafür, IP-Cores genannt (Intellectual Properties), kann man mit genügend tiefer Hosentasche käuflich erwerben. Die Firma ARM lebt davon, generische Chipdesigns für entsprechend geschulte Ingenieure bereitzustellen. Das ermöglicht es unter anderem Apple, seinen M1 zu bauen, und der Foundation, den RP2040 anzubieten.
Innereien
Die Foundation verkauft ihren neuen Chip auf einem einfachen Breakout-Board, das den Namen Raspberry Pi Pico trägt. Neben dem Spannungswandler, einer LED und einem Schalter finden sich nur die grundlegendsten Bausteine auf der Platine.
Wie bei den großen Brüdern gibt es eine 40-Pin-GPIO, die Pins müssen Sie allerdings selbst anlöten oder Sie kaufen ein fertig verlötetes Board von einem der Distributoren. Die beiden Pin-Reihen haben exakt den richtigen Abstand für Breadboards, was den Aufbau von Schaltungen erleichtert. Dank der speziellen Lochform (castellated holes) gelingt selbst das direkte Auflöten des Pico auf eigene Platinen ohne Probleme; entsprechende Video-Tutorials gibt es im Netz.
Die Entscheidung für ein preiswertes Breakout könnte sich als einer der großen Erfolgsfaktoren des RasPi Pico herausstellen: Mit einem Preis von etwas über 4 Euro kommt er deutlich billiger als die typischen Entwicklerboards aus dem Arduino-Universum, die Einstiegshürde liegt also entsprechend niedrig.
Ein weiterer Faktor für einen möglichen Erfolg liegt darin, dass die Foundation nicht die Hand auf den eigenen Chip hält – jeder kann ihn nutzen. So haben bekannte Hersteller wie Adafruit (ItsyBitsy RP2040, Feather RP2040, Qt Py RP2040), Pimoroni (Tiny2040), Arduino (Nano2400) und Sparkfun (Pro Micro RP2040, Thing Plus RP2040) ihre eigenen Interpretationen eines RP2040-Breakouts entweder schon veröffentlicht oder zumindest angekündigt.
Diese Boards sind etwas teurer, aber besser ausgestattet und je nach Projekt deshalb die bessere Wahl. Außerdem wächst die Anzahl der Zusatzkomponenten wie passende Mini-Bildschirme, Dev-Boards, Expander und so weiter täglich. Hier entsteht ein neues Ökosystem – optimal für alle Maker, denn der Fundus an Vorlagen und vorgefertigten Lösungen wächst vom ersten Tag exponentiell.
Die technischen Fakten zum RP2040 und zum Pico fasst die Tabelle “Spezifikationen” zusammen. Bei der verbauten Cortex-M0-CPU handelt es sich um eine alte Bekannte (zum Beispiel aus dem Trinket-M0), die sonst allerdings üblicherweise als Single-Core mit niedrigerer Taktrate auftritt. Der Hauptspeicher ist mit 264 KByte ausreichend dimensioniert.
|
Komponente |
RP2040 |
Pico |
|---|---|---|
|
CPU |
2 x ARM Cortex-M0, 133 MHz |
2 x ARM Cortex-M0, 133 MHz |
|
RAM |
264 KByte SRAM |
264 KByte SRAM |
|
Flash |
bis zu 16 MByte extern |
2 MByte |
|
Anschlüsse |
||
|
GPIO |
30 (1,8 bis 3,3 V) |
26 (3,3 V) |
|
SPI |
2 |
2 |
|
UART |
2 |
2 |
|
I2C |
2 |
2 |
|
PWM |
16 |
16 |
|
ADC |
4 (12 Bit, 9,5 Bit effektiv) |
3 |
|
PIO |
8 (2×4 Blöcke) |
8 (2×4 Blöcke) |
|
USB 1.1 |
Host und Device |
Host und Device |
|
Betriebsspannung |
||
|
Vin |
3,3 V (1,8 V mit Einschränkungen) |
1,8 bis 5,5 V |
Es fällt auf, dass der RP2040 selbst keinerlei Flash-Speicher enthält; den muss das Breakout bereitstellen. Er ist dann aber mit dedizierten I/Os angeschlossen und erlaubt In-place Execution, die MCU muss den Code aus dem Flash also nicht erst in den Hauptspeicher kopieren. Der Verzicht auf eigenes Flash senkt die Kosten für den Chip und erlaubt den Herstellern flexible Lösungen. Das Pico-Board der Foundation stellt der MCU 2 MByte Flash zur Seite, Pimoroni lötet beim Tiny2040 dagegen gleich 8 MByte auf die Platine.
Je zwei Hardware-I2Cs, UARTs und SPIs sind bei Chips dieser Größe durchaus üblich, gleich 30 3,3-V-Multifunktions-GPs (der Pico führt 26 davon heraus) eher nicht. Es gibt 16 PWM-Einheiten, drei Pins dienen als ADC mit 12 Bit Auflösung.
PIO
Das eigentlich Besondere am RP2040 sind aber seine programmierbaren I/O-Einheiten (PIOs), die sich dann eigenständig um die Kommunikation mit externer Peripherie kümmern. Von diesen Programmable Input/Output Blocks gibt es zwei mit jeweils vier Untereinheiten (State Machines). Jede davon kann unabhängig voneinander GPIOs zum Übertragen von Daten manipulieren.







