Raspberry Pi PICO, a 32BIT development board that incorporates the RP2040 processor, developed by the Raspberry Pi foundation.
The Pico is a different product from what Raspberry Pi has us accustomed to, which, as we know, are known for their mini computers with Linux. However, the Raspberry Pi Pico is a development board that would be more in line with an MCU like Arduino, STM32, or an ESP8266/ESP32.
The Raspberry Pi Pico is powered by a RP2040 processor developed by the Raspberry foundation Pi. We are facing a dual-core ARM Cortex-M0 processor at 133Mhz, 264KB of SRAM, and support for up to 16MB of external Flash via QSPI.
The RP2040 incorporates 26 GPIO, 4 12-bit analog inputs, 2 UART, 2 SPI, and 2 I2C. Unfortunately, it does not include any type of wireless communication, either Bluetooth or WiFi.
One of the most interesting features are the 8 Programmable I/O (PIO), a configurable circuitry through a state machine that allows incorporating functions similar to a “mini FPGA”.
Regarding the Raspberry Pi Pico development board, the specifications are as follows:
- Dual-core Arm Cortex-M0+ processor at 133MHz
- 264KB on-chip SRAM, 2MB on-board QSPI Flash
- 26x GPIO pins
- 16× PWM channels
- 3x 12-bit ADC (500 Kbps)
- 2× UART, 2× SPI, 2× I2C
- 2x PIO (programmable I/O) with 8 state machines
- 2x On-Chip PLLs to generate the CPU and USB clock
- Micro USB, debug port (SWD), Integrated LED, RTC
- Power via Micro USB or VSYS pin (1.8 to 5.5V)
- Dimensions: 21 mm × 51 mm
The operating voltage of the RP2040 is 3V3. However, the development board has a (SMPS) Switched Mode Power Supply that allows powering the module from 1.8 to 5.5V, which is a very interesting feature for being able to power with batteries.
On the other hand, although the RP2040 has 4 12-bit ADCs, in the Raspberry Pi Pico only 3 of them are accessible. Having only 3 analog pins is one of the weaknesses of the set, as it is easy to short.
Among other shortcomings, the Raspberry Pi Pico does not have DAC outputs, nor direct LCD or HDMI connection. It also does not have any type of connectivity, whether Ethernet, WiFi, or Bluetooth, which makes it lose almost all points for the IoT sector.
This board can be purchased for about 4€ from sellers such as AliExpress or Ebay. This places it at an interesting point in relation to features/price, although perhaps somewhat high for its characteristics.
Comparing it with its most popular competitors, the RP2040 is far superior to the Atmega328p found in “traditional” Arduinos. On the other hand, the STM32F103 BluePill has superior connectivity features, at the expense of a lower speed (single core at 72Mhz).
On the other hand, the RP2040 cannot compete with the current star, the all-powerful ESP32 and its WiFi and Bluetooth connectivity. Similarly, the RP2040 falls short when compared to other boards, such as the potential WinnerMicro W806.
In my opinion, the RP2040 processor is more interesting than the Raspberry Pi Pico development board. In general, the RP2040 is a good processor, especially considering its low wholesale price. Thus, it is becoming frequent in various development boards, apart from the Raspberry Pi Pico itself.
However, the Raspberry Pi Pico has the popularity and advertising that its mini computers with Linux have given it. Therefore, it is quickly gaining significant popularity. This is reflected in the proliferation of tutorials and projects that use it, which means that both the documentation and support from the community are very good.
Finally, note that the Raspberry Pi Pico can be programmed in both C++ with the Arduino environment and in MicroPython. In the case of Arduino, it is officially supported, and it is as simple as adding it with the board manager.