The founder and CEO of the Raspberry Pi Foundation talks about the Pi Model 2, and how Google’s Eric Schmidt convinced him to knock down the price.
Over 5 million Raspberry Pis have been sold. That’s the same as the number of ZX Spectrums sold in the 80s. And like the Spectrum, the Pi is likely to have a far-reaching and transformative legacy, helping the next generation of games designer and computer scientists find their feet. There are countless numbers of people who have helped make this happen, but Eben Upton has been there from the beginning. He’s the founder and the CEO, and he’s still shaping every aspect of the Raspberry Pi, from its hardware to the software, albeit now with a little more help than when the foundation started. We met with Eben a couple of weeks before the launch of the monumental model 2 where he generously answered our questions despite a terrible cold.
“The Raspberry Pi is still the best platform out there, and we’re making it better.”
Linux Voice: When did you start work on the recently launched Model 2?
Eben Upton: When we launched the B+, we already had Pi 2 silicon – this was the start of May last year (2014). And so the last bits of B+ design were done in the knowledge of the pinout on the BCM2836 (the quad core ARMv7 CPU on the Raspberry Pi 2). It was designed so that, probably , we’d be able to squeeze Pi 2 into the same footprint.
LV: Was that part of the motivation behind the B+ redesign?
EU: Not really. It was something we’d always wanted to do.
LV: With only a nine months gap for sales of the then new B+?
EU: Yeah. B+ was a bit late. We wanted to do the rev. 3, which became B+, ideally, it would have been good to do that 6 months to a year earlier than we did, but we just didn’t have any engineering time partly because we were involved in some silicon work for BCM2836. We had limited resources and they didn’t quite stack up in order to get B+ out. Any less time on the market may have been a bit embarrassing, but B+ has had a solid six and a half months, which is alright.
LV: How do you anticipate demand from the Model 2?
EU: Today is the 20th January (the model 2 went on sale 14 days later), there are between 10 and 20,000 in existence today. Sony will be building 20,000 a day at the end of the month, so there will be between 100 to 200 thousand on the 2nd February.
LV: Have you told Farnell and Element 14?
EU: [Laughter] This will be in the past when this comes out, and it will be interesting to see how everything held up!
LV: So you can say, “It’s gone brilliantly!”
EU: It’s gone brilliantly! Nothing went wrong. Everything’s great and everyone was very happy [more laughter].
We’ll see. It will be interesting to see how that goes. I think people will be excited.
We’ve had sequential best months over the last few months. All of our last three months have been in the top five months we’ve ever had, in terms of volume. It feels like we’re going out on a high. It’s still a great platform. It’s still the best out there and we’re just making it better.
LV: Do you have any indication of where those 200,000 will go to?
EU: Less than you’d think really. We know that maybe 1/3rd are going to industrial customers now – these kind of big batches that fall into a hole and disappear. So people are using them as industrial controllers, people are prototyping other products. That happens a lot. Then the rest, it’s a split between the hobbyists and education. It’s pretty close, I think, to a third, a third and a third: industrial, hobbyist then education. And obviously with the hobbyists, you’ve got quite a large number of people who are using them as media centres. You’ve got people who are buying them for themselves, to use as their own media centre, in the hobbyist sector, and then you’ve got the industrial sector who are buying and integrating them in a sense and selling them to people.
LV: Has there been much traction with the Compute module?
EU: We’ve sold a lot of dev kits but not a lot of Compute modules, Which is probably what we expected. I think the designing cycles proved to be longer than we were expecting, so we haven’t had any volume Compute module customers. With the exception of a few things like Slice (a media player using the Compute module), where we’ve had a few thousand. But we haven’t seen those 100,000 orders yet. Interesting to see if and when those materialise. I think it just takes a while to design anything and you could only buy those in June (2014).
LV: When you say you think it’s about 1/3rd education, is that almost exclusively UK?
EU: No, it’s a lot of places. We’ve got a lot of stuff in North America, quite a lot of stuff in Germany. Obviously the UK is leading the way, a little bit – we are the first large population country to have a decent computing curriculum. Estonia beat us. But a lot of the sales aren’t curriculum for the class – parents buy them for their kids, clubs buying them, grandparents, that sort of thing.
LV: And the model 2 still has the ethernet going through the USB?
EU: We’ve taken the long road to get here. People have been shouting at us for two years ‘why don’t you go get one of those ARMv7 (non-Broadcom) chips you can get for 5 quid in China?’ . The reason is that I’m not a great fan of them. And also it would just break compatibility with the Pi, and it wouldn’t be a Raspberry Pi, it would be another computer, with a Raspberry Pi logo on. It wouldn’t be a Raspberry Pi. So we’ve taken this long road of getting an SOC which has better ARM performance but is otherwise identical to any Pi device, in order the bring the community with us. So we avoid ending up either supporting two platforms or, more likely given the number of people we have, ditching support for the old platform. So we are going to keep supporting Raspberry Pi 1 for at least a couple of years. And we’re likely to keep on using the Raspbian instead of upstream moving to regular ARM Debian. We’re going to benchmark it and find out. What I suspect we’ll find is there’ll be a few libraries that pose big performance improvements, and we’ll swap those out dynamically.
LV: Is that for the original Pi as well? We’re assuming the video decoding stuff in the original Pi was more suitable for a set top box or something you’d put under a TV, whereas ARM since then has been used in so many smartphones.
EU: The SOC has been used in mobiles, set top boxes and obviously Raspberry Pi, so it’s a versatile little beasty.
“I do word processing on my
BBC Micro on my desk… I hit
the button and it’s on.”
LV: Have you been involved in the Raspberry Pi 2 design as the original?
EU: Yeah. The hardware design for this was done by James Adams, who’s our designer. He designed the B+ and the A+. The design for the original hardware was done by Pete Lomas. So it’s been good to be involved, good fun.
LV: Is this the kind of release cadence we can expect in the future?
EU: What, three years? Let’s see, where does that take us to? 2018. Yes, I do think we’ll probably want something else by 2018. Yeah, I think that’s about right. That gives us three years at $35. That’s the lovely thing about this – it gets us into the PC world. It gets us into the entry level PC. It’s the kind of device you could give to your gran. We have people here that are using them as their second machine at home.
LV: Are there any new use cases that you think the Pi 2 will fit into with the extra power?
EU: The desktop is a good use case, running multi-threaded apps.
LV: You said this Pi 2 has been in development for two years. At what point during Pi 1 development did you realise you needed to start designing Pi 2?
EU: It was about six months in that we became aware. We sort of stumbled on this thing, so towards the end of 2012 we were like, ok how do we get a platform going now.
LV: Or what the environment might be like in two years time?
Yeah, or what will be relevant to us, what sort of price trajectories of the components would be and seeing what we could fit in – quite early on. I had a really good conversation with Eric Schmidt actually in January – so, exactly two years ago. We’d had all these ideas, shall we do a more expensive – because there were lots of small board computers that cost like $50, $60, $70, right?
LV: Isn’t this where Eric told you to make it cheaper?
EU: We were really starting to see things at $60-$70, because now there was a profusion of $50-$70 machines, which I think we can take credit for that – catalyse that thing. We were thinking we could do something really great at $60 and we kind of looked at what we could do at $60. And I happened to mention it to Eric. He said, “So what are you going to do next?” ‘Ah, we’ve been looking at more expensive one’, and he said “Don’t be an idiot!” or words to that effect,“That’s completely insane – try and be free – see if you can make a free computer.” Because obviously I’m patting myself on the back, thinking, “Yeah” you know, I made this like $25 computer and then he resoundingly refused to pat me on the back and slagged me off for being too expensive.
“We’ve got a shopping list for
ARM7. We know what attention
to detail actually looks like.”
LV: Did you get what he said instantly?
EU: Yes. I went back to the office and I cancelled every investigation into a faster machine. That afternoon. Because it was the right thing to do and as soon as someone says it to you, particularly someone like that who you’re not going to question really, you kind of think, this guy obviously knows what he’s doing he got the biggest brain on the planet. Yeah. Absolutely. I want back to the office and cancelled everything. Every investigation we had into a higher performance, incompatible, more expensive device.
So the two outcomes of that one conversation are this thing (Eben picks up the Raspberry Pi 2) and the A+. A+ is the ‘can we make it cheaper’,’can we sacrifice anything’ which of course we’re not really sacrificing anything. I think without that conversation that A+ might have been a $25 machine with half a gig of RAM. We might have ended up there instead. So the sacrifice in some sense is a bit more – a gig – of RAM. So that was one outcome of that conversation. The other was this programme and interestingly they both took about two years.
LV: Has it surprised you that no one has come along and tried to create something cheaper and better?
EU: Yeah, it is surprising, I think. It’s surprising to me but it is tough actually. It is difficult and it’s hard to do at scale. I think you can make these things for this sort of price – and you’ve seen one or two people manage while making sacrifices, often using a less good SoC. But it’s really hard to do at scale. It’s hard to do at volume. It’s really hard to that. Sony will be building 20,000 units a day, at peak, of this (Model 2). It’s really hard to do it and build 20,000 units a day. So it’s that the culmination of cheapness and some of our Model B contributions of Raspberry Pi has been availability. They’ve always been small working computers. But often they weren’t available. They were a lovely idea but you just couldn’t buy them. They were not in stock – wait for the next delivery, we built 1,000 of them and then we’ll sell those.
So that culmination of it being cheap, really cheap, and really being available. I mean you can build a business around them because you can depend on them existing – like with the Model B, we still build Model Bs – these guys have sold tens of thousands, probably, we’ve built new (old) Model Bs after the launch of the new Model B+, not just selling our old stock, building tens of thousands of Model Bs to supply industrial customers who built a business around the Model B and they haven’t been able to transition to the B+ yet. And I think the same thing may happen with the B+, it might happen over time, but I suspect again – we’ve sold a couple of hundred thousand B+s, probably, so why would you take on the risk.
By the time you read this the Pi’s sales figures will probably be some way in excess of the five million milestone.
LV: Despite Moore’s law, our computers don’t feel any faster than they did 20 years ago. Even an old Raspberry Pi has millions of cycles per second to use.
EU: It’s got a lot to do with Parkinson’s law too – work expands to the time available. So this is kind of the CPU version of Parkinson’s law. One of the things we’ve done with Pi is refuse to accept that a 700 million cycles-per-second in the processor is slow. I just won’t accept it. And people kept saying, “It’s such a slow processor.” and I’m saying “It can do 700 million things a second! Your high definition screen has only got 2 million pixels. You can do 350 things to each pixel on your screen every second. How is that slow?” I don’t believe it, and it (the Pi) has even got vector operations, and the FP (floating point processor) has even got multimedia accelerations, MMX-like operations. So just refuse to believe that they’re slow.
We’ve spent so much money on open source software. We’ve spent so much money on WebKit and libav and Squeak (an open implementation of SmallTalk and PiPy and KICAD, and all of these packages because you look at them – LibreOffice, even. You look at them and you think well, I just refuse to believe that this should be slow. And you go through and you find out why. This is the thing no one ever does. Everyone has just been mesmerised. You could just sit on your arse and in two years time, everything will be twice as fast, and that’s coming to an end. So we’re kind of like the future. This is not available to us anymore – this increase in performance.
LV: But also, it hasn’t succeeded. Our desktops and our laptops are still slow.
EU: I’ve got a BBC Micro on my desk because I do word processing on my BBC Micro. I hit the button and it’s on. I can even configure it if I set the jumpers right. I can even configure it to boot into a word processor on 1 second. Obviously we’ve gained a lot. But from a strict usability point of view it’s really surprising how much everything hasn’t got any better. It’s one of the reasons why I like to ship RiscOS because although RiscOS isn’t a modern operating system and it lacks lots of things, it does show you what, if you took an operating system from the mid-90s and don’t add any crap to it – crap in the form of feature people need – what you get. And the answer is blindingly fast. So what we’ve done with Pi 1, we’ve gone through everything. We’ve found out why it’s slow. We found out why the web browser was slow. And then we went through and we laboriously turned on features, because actually WebKit has got lots of great features, because it will run on mobile phones, but none of those features are turned on in any of the desktop versions. So we went through and we turned all of those on, plumbed in the video accelerators. We just did that work. Then went through and found every pixmap call; you’ve got WebKit and Cairo, we went through and we found every pixmap call they made and then we made sure they used the fastpath mode and made sure that all of them hit fastpaths rather than the generic and very slow CPU compositor format. Same with libav – all your codecs and transport streams, remapped.
Two man years on Squeak and Scratch. Two man years on Pixman and libav. Four Man years on the web browser.
LV: That’s huge when you could have just doubled the CPU speed!
EU: Absolutely! But you know, that claws out a factor of 2, just out of attention to detail. It’s worth going back actually on the Pi and running an old image – go and run an image from March 2012. It’s amazing the performance difference. It’s amazing how much of a difference non-optimised memcop makes.
LV: And you don’t abandon all that work with the new model?
EU: You don’t abandon that We would have had to abandon it if we’d moved to a different SoC. So you’ve got that factor of 2 in the attention to detail. Obviously, some of that stuff can be 6 (ARMv6) specific, so we’ve got to go back and do that for ARM 7, so there is more, but the nice thing having done it with ARMv6 is that we’ve now got a shopping list. We know what attention to detail actually looks like – it looks like writing all of these functions and we’ll just go back and say, for each of those functions is there already an ARMv7 version. If there’s already an ARMv7 version, so we like it? If we don’t like it let’s rewrite it. If there isn’t one, can we use the ARMv6 function that we already wrote. If we can use it, then the ARMv7 version. We now have a shopping list, a kind of handle turning exercise that will make this platform better over the next 6 months.