HackSpace magazine

Eben Upton on Pico and creating Raspberry Pi Silicon

By Andrew Gregory. Posted

After years of blood, sweat, and tears, we can finally talk about Raspberry Pi Pico in public. It’s the first entirely new product from Raspberry Pi, designed entirely in-house to do a specific job: put the ability to make smart devices into as many hands as possible. If you want the technical details, page 30 is the place for you. If you want the philosophical take on things, who better to talk to than Eben Upton, Raspberry Pi’s benevolent overlord? We spoke to him from his hollowed-out volcano lair deep in the Fens about what Pico is, what it does, who it’s for, and why it was worth spending millions to develop it.

HackSpace First of all, what is Pico? Is it just the latest version of the Raspberry Pi?

Eben Upton It’s a microcontroller board. The easiest way of differentiating it from a Raspberry Pi is that, unlike a Raspberry Pi, it’s not a platform you develop on; it’s a platform you develop for. So it needs a host, and Raspberry Pi is a good host.

Everything we make is about bringing more capabilities to people who wouldn’t have thought of themselves as engineers. Raspberry Pi has been very successful at that, because it allows people to go and do embedded stuff. The whole world of [Cortex-] A class devices – Raspberry Pi and its maker competitors – does that really well. Pico is about bringing the same capabilities to people who want to get to an even lower level. So people who want to run code on bare metal…

Actually, you can run code bare metal on Raspberry Pi, but it’s designed to have a big operating system in the way. Which is good, because it brings lots of features, but is bad because it brings, for example, a lack of deterministic latency. That’s the nice thing about microcontrollers. You run a program and it sits there polling a GPIO and the moment the GPIO changes, it goes and does something else. When we say ‘the moment’, you can localise what ’the moment’ is down to a handful of nanoseconds. Which you can never do on a proper computer, right?

So it brings deterministic latency, analogue input, and Pico can go down to very low levels of power consumption.

Also, it’s mechanically smaller than everything else we make. Even the board itself is mechanically smaller than everything else we make.

Eben HackSpace 1-web

HS How does it fit alongside the rest of Raspberry Pi’s wares?

EU It’s useful to put it alongside Raspberry Pi 400 and Compute Module 4 actually, in terms of what it does to the business. Each of them is an extension of Raspberry Pi in the direction that we’re already travelling in.

Compute Module 4 is about people who want to do the high-performance embedded stuff that Raspberry Pi has become very popular for, but in their own form factor with more customisation that you can’t do in a core product.

Raspberry Pi 400 is about using Raspberry Pi as a PC. It’s for those who want a uncompromised PC experience.

Pico is going in the other direction: people who want to be even more deeply embedded than a Raspberry Pi or a Compute Module – what can we give to them?

HS That sounds like it’s aimed at people who are already comfortable with creating embedded devices?

EU It’s for new developers as well as more experienced ones: that’s why you can choose to use it with either C or MicroPython.

We are not recommending that your average Joe’s first exposure to this product is using C. Those days are just behind us now. The C side of things is for people who are already familiar with embedded devices; the MicroPython side is for beginners.

We’ve split the market into two bits: there’s a bit we’re addressing with C, and for that, we want the best possible C SDK, not a port of somebody else’s. And then you’ve got beginners, and the right answer for beginners is a high-level language, particularly MicroPython. It’s a conscious choice, and it’s one that we made to ensure that access to Pico is as easy as possible.

HS What sort of things do you envisage people will be doing with their Pico after they’ve had a play with it?

EU I hope they’ll be using them for… all the things they do with other microcontrollers. There’s that whole sea of things that are a bit low-power and a bit small. It’s ideal for jobs like controlling strings of LEDs, polling sensors, and writing values on to SD cards. I genuinely think there’ll be a subset of the things people do with Raspberry Pis, and people will migrate from Raspberry Pi to Pico.

If you want to make a logging weather station, for example, maybe you want to do it on a Pico, because it’ll consume less power. You can program it in Python, connect all the same sensors to it, and in fact, there’ll be some analogue sensors that you couldn’t connect to it using a Raspberry Pi. All these sorts of maker projects are ideal for a Pico – the maker projects that care more about power and size than about performance.

HS And presumably the projects that don’t actually need a full computer operating system?

EU There’s lots of stuff. If you want your environment for doing computer vision or something, probably the Raspberry Pi is the platform for that, because you can install OpenCV and a bunch of other stuff really easily and start working away really quickly, far more quickly than you could on a Pico.

But on the other hand, you can run off a battery for a lot longer on a Pico. So sometimes there’ll be a project that will run just as well either on a Pico or on a Raspberry Pi, then it’s a straight trade between the size of the battery and the number of hours of programming that it takes to do it. The Raspberry Pi is really easy to hack stuff together on, but at the end of the day, you can’t get away from the fact that you’re running it on a PC.

Read the rest of the interview in HackSpace magazine issue 39 which you can download for free here.

Subscribe to HackSpace magazine (from £10) and get a free Pico! Head here to grab yours!

From HackSpace magazine store