21
votes
Meet Raspberry Silicon: Raspberry Pi Pico
Link information
This data is scraped automatically and may be incorrect.
- Authors
- Vas, Jeff Geerling, Michael Horne, EpicMArio71, Paul Beech, James Adams, Marcus, nixCraft, Stewart Watkiss, Manoel, Phil Atkin, Korda, Manish, Suman Harapanahalli, Ikkaro, Colin Deady
- Published
- Jan 21 2021
- Word count
- 1940 words
I did not see this coming. But it makes sense that they would make something like this given their mission.
It just feels a bit strange that they rolled their own chip for this. Wouldn’t it normally make projects like this more expensive? I’m a little disappointed that they didn’t try to go with a RISC V core, but I can understand why it might have been less than ideal.
But $4 for a board like this with all those extras is really nice, especially for something manufactured in the UK.
I had a few more notes of interest after reading a little bit more of the information they've released. I'm actually very surprised at how well thought out this release is.
First off, they decided that they are going to have their own C programming SDK, and Eben Upton's comments make it seem like they are not interested in porting over other environments i.e. Arduino. But that's not really a very bad thing because they are throwing their weight into MicroPython as their tool of choice for beginners. I think this is great; the community is already heavily invested in using Python, so this means that kids who started learning on the Linux-powered Pi systems already have a big heads-up on how to use this, and the ones who are starting out are going to have something that's very easy to use (and can even be run interactively!). I really think this is a great decision.
It looks like they opted against having internal flash on their chip, which makes a great deal of business sense since it allows them to produce one design in greater volume and let implementers choose how much storage they need - all the way up to 16MB. The Pico itself includes a very generous 2MB.
I think I understand why they decided to run their own silicon for this project. The RP2040 has some really great features on it - the fact that it's dual-core is neat enough, but they also opted to put them on an AHB-Lite 4:10 crossbar; that basically means that both cores can essentially access all of the RAM all of the time, which essentially keeps them free to do whatever you want at basically all times.
The most interesting design decision has to be the addition of the Programmable IO subsystem; it's basically a really basic minimalist programmable state machine that can be assigned to most pins. There's a lot of cool things that can be done with them - someone even managed to bit-bang DVI output with it. Unfortunately, it looks like it can only be programmed in assembly right now, but given how low-level it is and how few instructions it has, it's really not going to be that much of an issue. The real power behind it is that it allows you to interface with a number of different hardware interfaces using software interfaces instead of dedicated hardware.
Perhaps the nicest benefit of their chip design, considering the audience, is the boot ROM itself, which is configured to allow you to program itself through USB with no additional logic required, even going so far as to allow you to simply drag-and-drop firmwares via the USB mass storage device class.
Above everything else, the decision to design a custom chip has provided one excellent advantage over every other chip: documentation. The datasheet on the RP2040 is perhaps one of the best written datasheets I've ever had the pleasure to have read. It's very long, but it goes into a lot of detail to explain what the features are, why they are useful, and how to use them. There's even code examples! And it's all in this beautifully typeset PDF with proper tagging so you can quickly navigate to the section you need.
I've got one last crazy thing to add. When I go shopping for Raspberry Pi, I usually go to Microcenter, and right now they are advertising them for just $1.99. Of course they don't have any right now, but that price is absolutely insane. Not even no-name generic Chinese MCU dev boards go that cheap.