raspberry-pi-pico-la-placa-de-desarrollo-de-raspberry

Raspberry Pi Pico, Raspberry's development board

  • 4 min

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 we are used to from Raspberry Pi, which, as we know, is famous for its Linux mini computers. 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 an RP2040 processor developed by the Raspberry Pi Foundation itself. We are looking at 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 GPIOs, 4 12-bit analog inputs, 2 UARTs, 2 SPIs, and 2 I2Cs. Unfortunately, it does not include any type of wireless communication, be it Bluetooth or WiFi.

One of the most interesting features are the 8 Programmable I/Os (PIO), configurable circuitry via a state machine that allows incorporating functions similar to a “mini FPGA”.

As for the Raspberry Pi Pico development board, the characteristics are as follows:

{ “CPU and Memory”: [ { “label”: “Processor”, “value”: “Dual-core Arm Cortex-M0+ at 133MHz” }, { “label”: “Memory”, “value”: “264KB on-chip SRAM, 2MB on-board QSPI Flash” } ], “Connectivity”: [ { “label”: “Power”, “value”: “Via Micro USB or VSYS pin (1.8 to 5.5V)” }, { “label”: “USB”, “value”: “Micro USB” }, { “label”: “Debug”, “value”: “SWD port” }, { “label”: “Others”, “value”: [“Integrated LED”, “RTC”] } ], “Devices”: [ { “label”: “GPIO”, “value”: “26 pins” }, { “label”: “PWM”, “value”: “16 channels” }, { “label”: “ADC”, “value”: “3 of 12 bits (500 Kbps)” }, { “label”: “Interfaces”, “value”: [“2× UART”, “2× SPI”, “2× I2C”] }, { “label”: “PIO”, “value”: “2x programmable I/O with 8 state machines” }, { “label”: “PLLs”, “value”: “2x On-Chip for CPU and USB clock” } ], “Dimensions”: [ { “label”: “Dimensions”, “value”: “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 powering 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’s easy to run out.

raspberry-pi-pico-board

Among other shortcomings, the Raspberry Pi Pico does not have DAC outputs, nor direct LCD or HDMI connection. It also lacks any type of connectivity, be it 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 like AliExpress or Ebay. This places it at an interesting point in terms of features / price, although perhaps a bit high for its characteristics.

Comparing it to 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 cost of lower speed (single core at 72Mhz).

On the contrary, the RP2040 cannot compete with the star of the moment, the all-powerful ESP32 and its WiFi and Bluetooth connectivity. Likewise, the RP2040 falls short when measured against 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 publicity granted by its Linux mini computers. Therefore, it is quickly gaining significant popularity. This translates into the proliferation of tutorials and projects that use it, which means that both the documentation and support from the community are very good.

Finally, it should be noted that the Raspberry Pi Pico can be programmed both in 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 via the board manager.