The Raspberry Pi Foundation based in Cambridge has recently released a microcontroller development board called the Pico and it's based on their own custom designed silicon that they have named the RP2040. On the surface this seems to be an odd decision considering the number of very capable off the shelf microcontrollers available and how big the Arduino ecosystem has become with its wide ranging support for many existing microcontroller families.
The Pico has been released without Arduino support, although this is something that Arduino are currently working on as they are due to release a board based on the RP2040 chip. Despite this there has been a lot of media coverage on all the usual tech news sites and already there is a large quantity of YouTube video content around this new little board. In addition to C/C++, MicroPython is supported on the Pico, so if you are not too bothered about performance you can use that, there is even a free ebook available.
The RP2040 has 2 32bit ARM Cortex M0+ cores clocked at 133Mhz and looking at the datasheet I couldn't see anything revolutionary compared to what's currently on the market, however it has one interesting feature, the Programmable I/O (PIO) state machines which can be used to support custom peripherals and there are 8 of these state machines. Note that the Teensy 4.x boards by PJRC also have a form of PIO known as "FlexIO". The RP2040 chip has a Debug (SWD) port like most modern microcontrollers and it is helpfully broken out onto 3 pins on the bottom end of the board. The Pico board can operate from a wide of input voltages from ~1.8 to 5.5V making powering the device from batteries easy.
According to ARM "The Cortex-M0+ processor has the smallest footprint and lowest power requirements of all the Cortex-M processors" so it should be well suited to low power applications. This sounds good but datasheet indicates the sleep mode current (at VBUS of 5V) to be 1.3 mA which seems very high compared to what can be achieved with some other boards so it would appear that the Quiescent Current of the buck-boost regulator which provides the 3.3v for the chip is not too great, this might be deal breaker for some projects.
Hmm, where is the Pico board made? from the credits at the bottom of the blog post it looks like the Pico board might be manufactured in the same Sony UK manufacturing plant in Pencoed, South Wales that produce the Pi boards, but a comment on the blog post by the author says that they are manufactured at Sony Inazawa, Japan. Ive not been able to find out who actually fabricates the RP2040 chip, however IMEC are mentioned in the credits so it's likely that they helped organise that side of things. The quality of the board is very good, someone has even posted a hi-res X-Ray of the board here for anyone interested.
Enough about its features, there is a lot of info out there on that, let's just say that considering the reportedly excellent documentation and that it can be purchased for just £3.60 inc VAT from numerous UK suppliers such as Pimoroni, Pi Hut, CPC, RS etc., meaning fast delivery and you know what you are going to get, there was no real reason not to buy a couple to play with and see what all the fuss is about.
The Pico is priced about the same as some other 32bit boards such as ESP8266 and ESP32 WiFi dev boards and also the STM32F411 ARM Cortex M4 based "black pill" boards available from the usual chinese online outlets. The ESP8266 runs at 80 or 160MHz, the ESP32 at 160 or 240MHz, is dual core and has an FPU, both have built in WiFi. The STM32F411 operates at 100MHz and has an FPU, unlike the Pico which just has an interpolator and integer divider peripherals with some library optimisations.
In my next blog post I will write about my experience in getting the C/C++ Pico examples from GitHub compiled and uploaded to the board...