Unless you've been for whatever reason, removed from the recent revelation of the first, homegrown Raspberry Pi silicon from the Pi Foundation — the RP2040, a dual-core Cortex-M0+ MCU designed in-house.
With all the coverage this custom chip has been gathering, you will all likely, by now, be familiar with the new RP2040, or if not so intimately, you will certainly have picked up on the Pico board that has been developed around it.
Released in a perfect synergy of pursed lips, right up until the product lunch day, the Pico dropped with a wealth of knowledge in tow; with comprehensive features, lovingly described in detailed datasheets, with a dash of lounge in cheek that make them a resource to relish!
Despite the documentation delving into the depths of the Pico design, the RP2040 SDK options, board designs from big old base boards, to bare-bones breakout boards, there was still something missing perhaps...
Compare the Pico to any pervious Pi board, it's obvious from the get-go that getting the Pico to play nicely with the plethora of Pi Hats and Bonnets that are piling up in your project boxes is not exactly going to be a plug and play affair...
Where as the previous Pi's packed a 40-pin PTH pin header, providing a neat way to stack peripheral boards, or to extend to off-board peripherals easily — using standard IDC cabling systems — there's a less than subtle difference in how the Pico dishes out it's deliciously capable I/O.
Despite packing some fiercely capable peripherals, the Pico plays profits to a pretty small margin, and forgoes the connectors — and the prices associated with them — to par down the BoM to the bare minimum needed to bootstrap this beast of a chip.
The Pico puts the RP2040 into masses in a cheap (< $5!) breadboard friendly breakout board, but it's going to take a bit of thinking to remap the Pico I/O both in terms of function mapping, and physical connection, to make use of your existing Pi expansion boards
Interestingly, despite the game-perfect textbook play from all the major players — with an RP2040 board variant available on zero-day from practically every hardware house we know, there wasn't a board seen that saw to sort out the step away from the standard, 40-pin Pi header — known and loved by all.
It kind of makes sense — the feel from the Foundation is that the 2040 is tailored to target embedded applications, and while it is understandable that most volume devices won't be built of protoboards, stacked upon whole Pi's — the lack of ability to prototype and experiment with the lengthy list of lavished boards likely laid about your lab feels like a bit of an oversight.
It's fair to say that previous Pi product launches have left many people wishing that they had placed pre-orders. Recall the Zero launch? With many finding practically zero stock to lay their hands on, the popularity of the product was part of the problem in procuring one!
Thankfully, the Pico production run has thankfully been scaled based on the predicted popularity of this new Pi part, and supply chain issues feel like a thing of the past — I slept through the news on launch day, and was still able to order one practically overnight.
The Foundation is serious about getting this part into the hands of anyone who wants to play!
Despite the prolific production of the Pico, we are still waiting to see the raw RP2040 IC available for purchase at our preferred distributors.
However, the plentiful supply of Pico boards, in conjunction with the right tools, in the right hands, can lead to some interesting lateral thinking for those who are longing to locate some spare silicon to solder down.
With a Pico sacrificed in the name of science, the ever active @arturo182 has transplanted an RP2040 IC, into a form factor that makes so much sense, that it's striking that this wasn't a board design considered by the foundation - even in conjunction with the Pico - The beautiful looking Zero RP2040.
Laid out above, you'd be forgiven for hitting "Buy," based on the beautifully annotated board artwork alone — @arturo182 knows how to make a product that not only fulfills the tech spec, but looks great while doing so.
Although no Broadcom SoC, the RP2040 is no slouch, with its dual-core M0 design, and the plenty-powerful PIO peripherals, mapping the RP2040 to the original 40 pin header isn't actually that much of headache!
First up, the RP2040 is a 32-bit Arm MCU. Despite its dual-core configuration, and some pretty amazing poking of the PIO peripheral, this thing isn't intended to be running X11 with a desktop environment. So, we can say bye bye to the HDMI.
We also say ciao to the DSI and CSI interfaces — these high-speed LVDS interfaces simply aren't part of the envisioned use case for the RP2040.
That's not to say it still doesn't pack a punch, that needs to be understood — this is a ridiculously powerful part, despite the differences in architecture — as can be see with this demo of 8 SPI driven IPS displays as one large, multi-panel array. Insane!
With oodles of I/O — more so than can be fit to the 40-pin header -we see several pins that would normally serve as additional power or ground points replaced with usable GPIO — and even an additional two pins located at the lower left of the 40-pin header, in the image below.
If you've noticed those nifty, negative relief silkscreen labels, you might be wondering where the label options are within the layout tools, and left scratching your head. Not to fret — here's the good stuff for that in the GitHub repo, originally spawned from the SparkFun SparkX labs, and subsequently graced by good ol' Greg Davill — such that it's now good to go with KiCad — great stuff!
Taking a look at the topside of this modern twist of a tribute to the Zero, we can see the love that has gone into this layout.
It also gives us good opportunity to further take a look at what sets the Zero RP2040 apart from its predecessor.
We've got an on-board NeoPixel LED, for some visual feedback, easily accessible, and viewable on the side of the board.
If one pixel isn't enough, the form factor of the board ensures that you can easily add on any panel that is intended for popping on top of a Pi, such as the Pimoroni shield seen below.
The placement is a point of note in itself — as not only does this board match the 40-pin header locations, it does so with respect to the board mounting holes, dimensions, and even USB and uSD card receptacle locations.
Compatibility with hats and bonnets aside, case compatibility is also something to commend when commenting on the design of this board.
Tucked neatly under the 40-pin header, we see a chunky 8MB flash, sitting on the super-speedy QSPI interface, ready for the RP2040 to read out whatever instructions your application requests of it.
This is a generous CHONK of flash — four times that which is placed on the Pico board — practically enough for even the most demanding applications, given that resources can be placed on the uSD card.
Plenty of resource left over for loading up content such as sprites, or other graphic elements, perfect for a pocket games platform perhaps!
With plans to pop both USB Device and Host modes through the single, USB-C connector, routed to the USB peripheral of the RP2040, the Zero form-factor leaves room for a replacement receptacle — the well reasoned choice of a Stemma QT Qwiic-ly opens up even more potential to plug in to your existing stockpile of I2C based peripheral boards
This specific mapping and choice of physical connector means that both the SparkFun Qwiic and Adafruit Stemma QT systems are able to use this I2C based interface to talk to the Zero 2040.
Finally, with much fanfare to all those who saw frustration in the flip-flop placement of the original Pico silkscreen markings, with respect to the BOOTSEL button — and even, indeed — the lack of a physical reset button itself, the Zero RP2040 fixes both of those frustrations in one fell swoop, with a finger acessable set of SMD SPST switches — saving the USB receptacle from the repeated plugging/unplugging cycles that many are experiencing when developing code.
This is an ongoing project, so while I'd already be ready to buy one these beautiful boards ii a heartbeat, I'm going to hold off until he's happy with how the I/O is mapped — at which point, we expect a polished production pack, given how polished the board looks already!
Until then, play along with the project by keeping tabs on updates over on Twitter: @arturo182.