The Raspberry Pi Pico is a great microcontroller hardware wise. It is very fast, cheap, and works well. It is my go to for projects that use WiFi, but it has a serious library support issue.
As with any technology it has its place, but there are many applications that other microcontrollers are better suited towards.
Introduction - What is a Raspberry Pi Pico
The Raspberry Pi Pico is a low cost microcontroller released by the Raspberry Pi Foundation. It uses an RP2040 processor, giving it two cores and 264kB of ram.
The Raspberry Pi Pico has two flavors, the RPI Pico and RPI Pico W. They have the same specs except that the W version has WiFi and Bluetooth capabilities.
How I Have Used It
I used the Raspberry Pi Pico W in my lightbox project and the Sunk Robotics Float. In both cases I selected it because of its WiFi capabilities. On my lightbox I needed it to contact the Yahoo Finance API, and for the Float I needed it to communicate with the surface.
RPI Pico’s Strengths
The Raspberry Pi Pico is great for WiFi. Its network library in MicroPython is user friendly and intuitive. It is much easier to do simple tasks on the internet using MicroPython on a Raspberry Pi Pico than it would be on an Arduino.
For very simple projects the Raspberry Pi Pico is great. It is much easier for people who are new to programming to write code for a Raspberry Pi Pico than an Arduino.
It is well documented with a very handy datasheet, and a good pinout graphic.
The price is also very competitive, with official Arduinos often being twice as expensive.
RPI Pico’s Weaknesses
Raspberry Pi has very few libraries. On many projects that does not matter because you are interfacing with very simple devices though just reading and writing to the pins.
The library support is bad for MicroPython and even worse for the C/C++ SDK.
When I was writing code for my lightbox project I needed a webserver. Although there are some webservers written in MicroPython none of them suited my needs. When I went to write my own webserver I learned that there are not HTTP libraries for the microcontroller.
That is a niece use case, but if you use the Raspberry Pi Pico often you will likely run into similar issues with libraries.
The library support is not necessarily the Raspberry Pi Pico’s fault, it is just a consequence of being new. It still however makes it much harder to develop on.
The Raspberry Pi Pico now is somewhat supported by the Arduino IDE. That can mitigate some of the library support issues, but in my experience it is not as stable or supported as a real Arduino device.
I also thing a lot of the appeal of writing code for a Raspberry Pi Pico is that you can do it in MicroPython, and if you are going to use the Arduino IDE anyway you might as well use an Arduino.