Just recently, I was surprised to see that the Raspberry Pi Foundation had released a new product. Over the years I have enjoyed dabbling in various of their Single Board Computers, and currently I have two applications which are hosted on RASPI hardware. Besides occasional releases of next-generation versions of their traditional RASPI SBC’s, they have also explored selling keyboards, mice, power supplies and other accessories for them.
I was surprised however, to see they broke with that traditional path and moved off into another, entirely different world altogether for their work.
They have introduced a microcontroller board called the Raspberry Pi Pico.
With a microcontroller type board, the device architecture is minimalist. Programming is usually accomplished in one or another second or third generation programming language, such as C or C++, and in the case of the Pico board, in MicroPython.
After a little online searching, I found I could pick up a number of the Pico boards on sale at my nearby MicroCenter – for around two dollars each.
The boards themselves are compact and uncluttered, and is dominated by the processor chip and a few other support components. In reading the promotional literature, it seems that the Raspberry Pi Foundation has decided to commission a custom chip internally, as opposed to basing it on another family of chips it would need to accomplish this externally.
On paper, it looks very similar to the current breed of microcontrollers. Based on an ARM Cortex M0, dual core processor, it sports the usual mix of interfaces and I/O (GPIO) ports. Memory can be expanded up to 2Mb of Flash, and up to 256Kb of SRAM. The processor is faster than most, and can be clocked up to 133Mhz.
As for my own case, I began to set up the PICO programming environment on a RASPI 4 I use for various tasks, but I was disappointed to find, half-way through the installation process, that things just weren’t working out. This was principally due tot he fact I was using an upgraded version of Raspbian OS, rather than the newest and greatest Raspberry Pi OS which the documentation hints should be the basis.
I pressed ahead, but sadly my suspicions were verified as I was able to install microPython, but was unable to get it to work.
I normally work in one of the flavors of C, so being unable to use microPython out of the box wasn’t a big loss. Next, I began to explore the C/C++ IDE install on the Pi 4, but halfway through the installation I was looking like things just weren’t going right, so I stopped. I didn’t want to pursue having to wipe the Raspbian version I was using, especially since it supports other things I do as well.
I then began looking into installing support for the Pico on Windows or Linux, and in both of those cases, it was clear that it would more effort than I was willing to expend at the moment. (Several months ago I put a lot of effort into configuring the Arduino IDE to support a few different architectures I was interested in, (STM32F1 and STM32F4 among others) and after the effort that was required to develop predictably in that realm, I simply didn’t want to go down yet another rabbit hole again.)
So for me at least, I am just going to sit back, and see where the support proposition goes with the Raspberry Pico. Perhaps someone will create board templates for Arduino.
On paper, the Raspberry Pi Pico looks promising, but in my case, I simply don’t have the environment to be successful with it right now, nor have I the the interest to support such an excursion.