The Raspberry Pi foundation changed single-board computing when they released the Raspberry Pi computer, now they're ready to do the same for microcontrollers with the release of the brand new Raspberry Pi Pico. This low-cost microcontroller board features a powerful new chip, the RP2040, and all the fixin's to get started with embedded electronics projects at a stress-free price.
The Pico is 0.825" x 2" and can have headers soldered in for use in a breadboard or perfboard, or can be soldered directly onto a PCB with the castellated pads. There's 20 pads on each side, with groups of general purpose input-and-output (GPIO) pins interleaved with plenty of gr
Der Raspberry Pi Pico ist 0,825" x 2" groß und kann mit eingelöteten Headern für den Einsatz in einem Breadboard oder Perfboard versehen werden. Es gibt 20 Pads auf jeder Seite, mit Gruppen von GPIO-Pins (General Purpose Input-and-Output), die mit vielen Masse-Pins verschachtelt sind. Alle GPIO-Pins sind 3,3V-Logik und nicht 5V-sicher, also bleiben Sie bei 3V! Sie erhalten insgesamt 25 GPIO -Pins (technisch gesehen sind es 26, aber IO #15 hat einen speziellen Zweck und sollte nicht von Projekten verwendet werden), 3 davon können analoge Eingänge sein (der Chip hat 4 ADC, aber einer ist nicht herausgebrochen). Echte analoge Ausgänge (DAC) gibt es nicht.
Auf der schlanken grünen Platine befindet sich eine minimale Schaltung, um loszulegen: Ein 5V-zu-3,3V-Stromversorgungskonverter, eine einzelne grüne LED am GP25, ein Boot-Select-Taster, ein RP2040-Chip mit Dual-Core-Cortex M0, 2 MegaBytes QSPI-Flash-Speicher und ein Quarz.
Im Inneren des RP2040 befindet sich ein 'permanent ROM' USB UF2 Bootloader. Das bedeutet, wenn Sie eine neue Firmware programmieren wollen, können Sie den BOOTSEL-Knopf gedrückt halten, während Sie das Gerät an den USB-Anschluss anschließen (oder den RUN/Reset-Pin auf Masse ziehen) und es erscheint als USB-Laufwerk, auf das Sie die Firmware ziehen können. Leute, die Adafruit-Produkte verwenden, werden dies sehr vertraut finden - wir verwenden die Technik bei allen unseren nativen-USB-Boards. Beachten Sie nur, dass Sie nicht auf Reset doppelklicken, sondern BOOTSEL während des Bootens gedrückt halten, um den Bootloader aufzurufen!
Der RP2040 ist ein leistungsfähiger Chip, der die Taktrate unseres M4 (SAMD51) hat, und zwei Kerne, die unserem M0 (SAMD21) entsprechen. Da es sich um einen M0-Chip handelt, hat er keine Fließkomma-Einheit oder DSP-Hardware-Unterstützung - wenn Sie also etwas mit schwerer Fließkomma-Mathematik machen, wird dies in Software erledigt und ist daher nicht so schnell wie ein M4. Für viele andere Rechenaufgaben erreichen Sie annähernd M4-Geschwindigkeit!
Für die Peripherie gibt es zwei I2C-Controller, zwei SPI-Controller und zwei UARTs, die über die GPIOs gemultiplext sind - schauen Sie in der Pinbelegung nach, welche Pins auf was gesetzt werden können. Es gibt 16 PWM-Kanäle, jeder Pin hat einen Kanal, auf den er eingestellt werden kann (dito auf der Pinbelegung).
RP2040 Chip Merkmale:
- Dual ARM Cortex-M0+ @ 133MHz
- 264kB On-Chip SRAM in sechs unabhängigen Bänken
- Unterstützung für bis zu 16 MB Off-Chip-Flash-Speicher über dedizierten QSPI-Bus
- DMA-Controller
- Vollständig angeschlossene AHB-Crossbar
- Interpolator und Integer-Teiler-Peripherie
- On-Chip programmierbarer LDO zur Erzeugung der Core-Spannung
- 2 On-Chip-PLLs zur Erzeugung von USB- und Core-Takten
- 30 GPIO-Pins, davon 4 als Analogeingänge nutzbar
- Peripheriegeräte
- 2 UARTs
- 2 SPI-Controller
- 2 I2C-Steuerungen
- 16 PWM-Kanäle
- USB 1.1-Controller und PHY, mit Host- und Device-Unterstützung
- 8 PIO-Zustandsmaschinen
- Produktabmessungen: 51,3mm x 21,0mm x 3,9mm
- Produktgewicht: 3,0g
Starten Sie mit Ihrem Pico!
- RP2040-Datenblatt: https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf
- Hardware-Design mit RP2040: https://datasheets.raspberrypi.org/rp2040/hardware_design_with_rp2040.pdf
- Raspberry Pi Pico Datenblatt: https://datasheets.raspberrypi.org/pico/pico_datasheet.pdf
- Einstieg in den Raspberry Pi Pico: https://datasheets.raspberrypi.org/pico/getting_started_with_pico.pdf
- Pico C/C++ SDK: https://datasheets.raspberrypi.org/pico/sdk/pico_c_sdk.pdf
- Pico Python SDK: https://datasheets.raspberrypi.org/pico/sdk/pico_python_sdk.pdf
Raspberry Pi Pico und RP2040 FAQ
- Sollte ich einen Raspberry Pi Pico oder einen Raspberry Pi Zero kaufen?
Das sind zwei sehr unterschiedliche Geräte, ein Mikrocontroller und ein Mikrocomputer, die für unterschiedliche Zwecke gedacht sind. Pico ist ein großartiges Gerät, um sich einer sehr spezifischen Aufgabe zu widmen, während Zero ein Mehrzweckgerät ist. Raspberry Pi Zero hat einen HDMI-Ausgang, eine Kamera-Schnittstelle usw.; Raspberry Pi Pico hat dies nicht. Allerdings hat Pico einen On-Board-ADC sowie andere Peripheriegeräte, die beim Raspberry Pi Zero nicht vorhanden sind, und verbraucht deutlich weniger Strom; er ist daher viel besser für Embedded-Anwendungen geeignet als Raspberry Pi Zero. - Welches Betriebssystem läuft?
Wie bei anderen Mikrocontrollern läuft standardmäßig kein Betriebssystem, aber wir liefern ein SDK, das eine reichhaltige Bibliothek von Funktionen zur Nutzung der Hardware/Merkmale des Chips bietet, zusammen mit höherer Funktionalität, die oft in einem Betriebssystem zu finden ist. Damit können Sie einfach “bare metal” C/C++-Anwendungen schreiben, oder Sie können MicroPython verwenden, was für Anfänger noch einfacher ist. - Kann ich den RP2040-Chip kaufen?
Noch nicht, aber er wird in naher Zukunft in den allgemeinen Verkauf kommen. Halten Sie Ausschau nach der Ankündigung! - Ist es Open-Source?
Die Designdateien des Raspberry Pi Pico Boards sind Open-Source, zusammen mit der gesamten mitgelieferten Software, Beispielen und Dokumentation. Das interne Design des RP2040-Mikrocontrollers selbst ist nicht quelloffen. - Unterstützt es Arduino/Blockly/andere Programmierumgebungen?
Nein, aber wir erwarten, dass Drittanbieter ihre eigenen Entwicklungssysteme im Laufe der Zeit auf den RP2040/Pico portieren werden. Zum Start gibt es neben dem sehr umfangreichen C/C++ SDK auch eine offizielle Portierung von MicroPython. Adafruit hat auch CircuitPython auf den RP2040 portiert. - Ist der RP2040 5V tolerant?
Nein. RP2040 Mikrocontroller verwenden 3,3V für GPIO. - Ich habe versehentlich +5V an meinen Raspberry Pi Pico oder einen anderen RP2040-basierten Mikrocontroller angeschlossen. Ist der Pin tot?
Es kommt darauf an; oft überlebt der RP2040, aber es ist nicht empfehlenswert und kann die Lebensdauer des Mikrocontrollers reduzieren. - Was ist die maximale Flashgröße für den RP2040 Chip?
16 MiB Flash (2^24 Bytes). - Kann ich ihn übertakten?
Die maximale clk_sys-Taktfrequenz beträgt 133MHz bei normaler Core-Spannung (1,1V ±10%), aber sie kann übertaktet werden. Dies erfordert jedoch mehr Strom und eine höhere Kernspannung und kann die Lebenserwartung Ihres Geräts beeinträchtigen. Es werden keine Garantien gegeben, wenn das Gerät außerhalb der im Datenblatt angegebenen Grenzen läuft. - Welche Stromsparmodi gibt es?
Es gibt keinen spezifischen Stromsparmodus, aber Sie können verschiedene Dinge tun, um den Stromverbrauch zu reduzieren: den Systemtakt verlangsamen, einige der Speicher abschalten, den Takt zu Peripheriegeräten gaten, die Kernversorgungsspannung reduzieren usw.
Es gibt zwei spezielle Modi, um Teile des Geräts abzuschalten, wenn es nicht benutzt wird:
SLEEP-Modus ist, wenn die Prozessoren in wfi/wfe sind und DMA inaktiv ist, so dass Sie die meisten Systemtakte abschalten können, einschließlich Dinge wie Bus Fabric.
DORMANT-Modus ist, wenn Sie alle Oszillatoren abschalten, und ist so noch stromsparender, aber dann haben Sie weniger Möglichkeiten zum Aufwachen. - I’m using VSCode. Wie setze ich einen Haltepunkt auf dem zweiten Kern?
Im Moment müssen Sie das Befehlsfenster in VSCode verwenden, um einen gdb-Haltepunkt zu setzen. - GCC 10.2 ist verfügbar. Warum verwenden Sie es nicht standardmäßig?
Unsere Entwicklungsarbeit hat die gängigeren Versionen von GCC verwendet, wie sie mit verschiedenen Distributionen geliefert werden. Wir haben Builds mit den wichtigsten GCC-Versionen von 6.3.1 bis 10.2 geprüft, also sollten alle diese Versionen funktionieren. - Was ist die maximale Quellimpedanz, die für die ADC-Eingänge erforderlich ist, um die 9-Bit-Auflösung zu erreichen?
Wir arbeiten derzeit daran, dies zu charakterisieren, und werden das Datenblatt aktualisieren.
On the slim green board is minimal circuitry to get you going: A 5V to 3.3V power supply converter, single green LED on GP25, boot select button, RP2040 chip with dual-core Cortex M0, 2 MegaBytes of QSPI flash storage, and crystal.
Inside the RP2040 is a 'permanent ROM' USB UF2 bootloader. What that means is when you want to program new firmware, you can hold down the BOOTSEL button while plugging it into USB (or pulling down the RUN/Reset pin to ground) and it will appear as a USB disk drive you can drag the firmware onto. Folks who have been using Adafruit products will find this very familiar - we use the technique all our native-USB boards. Just note you don't double-click reset, instead hold down BOOTSEL during boot to enter the bootloader!
The RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and two cores that are equivalent to our M0 (SAMD21). Since it is an M0 chip, it does not have a floating point unit, or DSP hardware support - so if you're doing something with heavy floating point math, it will be done in software and thus not as fast as an M4. For many other computational tasks, you'll get close-to-M4 speeds!
For peripherals, there are two I2C controllers, two SPI controllers, and two UARTs that are multiplexed across the GPIO - check the pinout for what pins can be set to which. There are 16 PWM channels, each pin has a channel it can be set to (ditto on the pinout).
You'll note there's no I2S peripheral, or SDIO, or camera, what's up with that? Well instead of having specific hardware support for serial-data-like peripherals like these, the RP2040 comes with the PIO state machine system which is a unique and powerful way to create custom hardware logic and data processing blocks that run on their own without taking up a CPU. For example, NeoPixels - often we bitbang the timing-specific protocol for these LEDs. For the RP2040, we instead use a PIO object that reads in the data buffer and clocks out the right bitstream with perfect accuracy. Same with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA! In MicroPython and CircuitPython you can create PIO control commands to script the peripheral and load it in at runtime. There are 2 PIO peripherals with 4 state machines each.
At the time of launch, there is no Arduino core support for this board. There is great C/C++ support, an official MicroPython port, and a CircuitPython port! We of course recommend CircuitPython because we think its the easiest way to get started and it has support with most our drivers, displays, sensors, and more, supported out of the box so you can follow along with our CircuitPython projects and tutorials.
While the RP2040 has lots of onboard RAM (264KB), it does not have built in FLASH memory. Instead that is provided by the external QSPI flash chip. On this board there is 2MB, which is shared between the program its running and any file storage used by MicroPython or CircuitPython. When using C/C++ you get the whole flash memory, if using Python you will have about 1 MB remaining for code, files, images, fonts, etc.
RP2040 Chip features:
- Dual ARM Cortex-M0+ @ 133MHz
- 264kB on-chip SRAM in six independent banks
- Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus
- DMA controller
- Fully-connected AHB crossbar
- Interpolator and integer divider peripherals
- On-chip programmable LDO to generate core voltage
- 2 on-chip PLLs to generate USB and core clocks
- 30 GPIO pins, 4 of which can be used as analogue inputs
- Peripherals
- 2 UARTs
- 2 SPI controllers
- 2 I2C controllers
- 16 PWM channels
- USB 1.1 controller and PHY, with host and device support
- 8 PIO state machines
- Product Dimensions: 51.3mm x 21.0mm x 3.9mm
- Product Weight: 3.0g
Get started with your Pico!
- RP2040 Datasheet: https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf
- Hardware Design with RP2040: https://datasheets.raspberrypi.org/rp2040/hardware_design_with_rp2040.pdf
- Raspberry Pi Pico Datasheet: https://datasheets.raspberrypi.org/pico/pico_datasheet.pdf
- Getting Started with Raspberry Pi Pico: https://datasheets.raspberrypi.org/pico/getting_started_with_pico.pdf
- Pico C/C++ SDK: https://datasheets.raspberrypi.org/pico/sdk/pico_c_sdk.pdf
- Pico Python SDK: https://datasheets.raspberrypi.org/pico/sdk/pico_python_sdk.pdf
Raspberry Pi Pico and RP2040 FAQ
- Should I buy a Raspberry Pi Pico or a Raspberry Pi Zero?
These are two very different devices, a microcontroller and a microcomputer, intended for different purposes. Pico is a great device for dedicating to a very specific task, whereas Zero is a multipurpose device. Raspberry Pi Zero has HDMI out, a camera interface, etc; Raspberry Pi Pico does not. However, Pico has an on-board ADC as well as other peripherals not present on Raspberry Pi Zero, and consumes considerably less power; it is therefore much more suited to embedded applications than Raspberry Pi Zero. - What OS does it run?
Like other microcontrollers, it doesn't run an OS by default, but we supply a SDK which provides a rich library of functions for using the hardware/features of the chip, along with higher-level functionality often found in an OS. You can use this to write “bare metal” C/C++ applications easily, or you can use MicroPython, which is even simpler for beginners. - Can I buy the RP2040 chip?
Not yet, but they will be on general sale in the near future. Watch out for the announcement! - Is it open-source?
The Raspberry Pi Pico board design files are open-source, along with all the provided software, examples, and documentation. The internal design of the RP2040 microcontroller itself is not open-source. - Does it support Arduino/Blockly/other programming environments?
No, but we do expect third parties to port their own development systems to RP2040/Pico over time. For launch, alongside the very comprehensive C/C++ SDK, there is an official port of MicroPython. Adafruit has also ported CircuitPython to RP2040. - Is RP2040 5V tolerant?
No. RP2040 microcontrollers use 3.3V for GPIO. - I've accidentally connected +5V to my Raspberry Pi Pico or other RP2040-based microcontroller. Is the pin dead?
It depends; often RP2040 will survive, but it is not recommended, and can reduce the life of the microcontroller. - What is the maximum flash size for the RP2040 chip?
16 MiB of flash (2^24 bytes). - Can I overclock it?
The maximum clk_sys clock speed is 133MHz at normal core voltage (1.1V ±10%), but it can be overclocked. However, this requires more power and a higher core voltage, and may affect the life expectancy of your device. No warranties are given when running outside of the limits specified in the datasheet. - What low-power modes are there?
There is no specific low-power mode, but you can do various things to reduce power consumption: slow the system clock, power down some of the memories, gate the clock to peripherals, reduce the core supply voltage, etc.
There are two specific modes for turning off parts of the device when not being used:
SLEEP mode is when processors are in wfi/wfe and DMA is inactive, so you can shut off most system clocks, including things like bus fabric.
DORMANT mode is when you shut down all oscillators, and so is lower power still, but then you have fewer options for waking. - I’m using VSCode. How do I set a breakpoint on the second core?
At the moment you need to use the command window in VSCode to set a gdb breakpoint. - GCC 10.2 is available. Why aren’t you using it by default?
Our development work has been using the more common versions of GCC as supplied with various distributions. We have checked builds using major gcc versions from 6.3.1 to 10.2, so all of those should work. - What is the maximum source impedance required for the ADC inputs to achieve the 9-bit resolution?
We are currently working on characterising this, and will update the datasheet.
| Produkteigenschaft | Wert |
|---|---|
| GTIN: | 4060137067761 |
| HAN: | SC0915 |
| Kategorie: | Board |
| IEEE 802.15.4-Unterstützung: | Nein |
| microSD-Steckplatz: | Nein |
| CPU-Kerne: | 0 |
| Flash-Speicher (MB): | 0 |
| PSRAM: | 0 |
| GPIO-Anzahl: | 0 |
| Versandgewicht: | 0,01 kg |
| Artikelgewicht: | 0,01 kg |
| Abmessungen ( Länge × Breite × Höhe ): | 2,10 × 5,13 × 0,39 cm |
Raspberry Pi®, https://eckstein-shop.de/Raspberry-Pi-Marken