Subtitles section Play video Print subtitles ADAM BEBERG: My name's Adam Beberg. I work here at Google. I'm very excited about the Raspberry Pi and happy to introduce it here. So 30 years ago, I learned Apple Logo and we had the Apple Turtle, which is a little bowl-like thing. And you tell it forward 10 and it moves 10 units forward, and you tell it right 90 and it goes right 90, and other things. And that was an amazing experience for me as a kid, because it was a robot. You could see the motors in there and little servos, the serial ports and all the fun things. And that got me really excited about computers, and that was kind of what started me on, well, the path that I'm on now. So I'm really excited about the Raspberry Pi and the potential it has for education in my own kids and other kids, and getting people to understand what is involved in a computer. I mean, you look at a tablet or a phone, it's pretty much literally a black box. So I'm very excited to welcome Rob Bishop. He's one of the early engineers in the Raspberry Pi Foundation. And he's going to tell us all about the Pi and the foundation. ROB BISHOP: Hey, guys. So yeah, I'm Rob Bishop. I'm here over from the UK touring a number of computer science departments and hackspaces, talking about the Raspberry Pi, talking to the community, seeing what projects are being made, making links to see what we can do for education. So as was introduced, I'm one of the earlier engineers for the foundation. I'm one of very few developers we have supporting this project. Talking about the foundation. We're a registered charity back in the UK. We're a not-for-profit organization. And at the moment we have no paid employees. So when you think, we currently have half a million of these devices in the world and there's maybe five or six engineers supporting this in their own time, that's probably why we're probably a bit slow on responding to some issues on GitHub, right? So what is the Raspberry Pi? For people who've just turned up and know nothing about it, essentially it's a credit card computer. It's a Unix box with GPIO and an HDMI out which is $35. I mean, that alone kind of sells it to a lot of the hacker crowd, sells it to a lot of people in here. The point is that cool robot thing you've always wanted to make but you couldn't quite justify spending hundreds of dollars on the brain to go and do it, now you can go do your Unix development, now you can make physical computing for $35. And before Christmas, we're going to release the Model A-- this is the Model B, named after the tradition of the BBC Micro-- which is going to be the same board but without the networking chip and connector, and that's going to be $25. So why do we produce this? How come a bunch of engineers are giving up their evenings and weekends to come and make this thing? And why am I here talking to you about it today? So it all started when the founder, Eben Upton, was working as the director of undergraduate studies for computer science at Saint John's College in Cambridge. And while he was there, he realized that the quality of the candidates he had apply for computer science was dropping on a year-by-year basis. And he's getting fewer candidates with lower skills. And he was really concerned as to why this was. And he realized that it's bad for our industry, it's bad for our economy. It's bad for geeks like me to have toys to play with if we don't have people who are talented enough to go and make them. And it's something that resonated with him. Now he's working at Broadcom. He finds it very hard to hire good engineers. And the problem is because we're sort of suffering from people not growing up with the low-level skills that he grew up with. So why doesn't my generation have those skills? Well, if you think about it, my generation grew up with two kinds of computing device. We grew up with a games console and we grew up with a shared Windows home PC. Now starting off with the games console-- that's a phenomenally advanced bit of kit, right? The silicon in there, in terms of FLOPS performance, is better than the 1990s' Cray supercomputer. You think, like, DARPA and NSA could build supercomputers out of PS3s. The problem is, is that they're completely closed. And as an educational device, they're a complete dead-end. Whereas Eben, if he wanted to go play a game, would go to the newsagent's, buy a computing magazine, flick through the pages till he found a game he liked, go home and actually type in the source code that was on the page before he could play it. We just get downloadable content for "Call of Duty" and go play with phenomenally advanced graphics engines, but we can't even see the source code for that even if we wanted to. You don't sell a games console based on what silicon's in it. You don't sell it based on what FLOPS performance is. You sell it based on the games titles and the kind of closed packaging. And the problem is, as I say, that's a dead-end platform for learning how to use. So what's the other kind of device we grew up with? I mean, when we grew up back in the UK, we did these things ICT lessons, Information Communication Technologies. It's kind of rare to find a school that teaches computing. Certainly I went to a good private school back in the UK. But there weren't any computing lessons available, even if you wanted them. And these lessons were essentially sales pitches for Microsoft Office products, right? I mean, does my generation really need to be taught at 16 how to go and use Microsoft Word? It kind of doesn't make any sense. And the thing is, while it's great that we have this proliferation of computing devices, while nearly every home now has these Windows PCs, there's a barrier-- either an effort or a cost barrier-- to going and developing on them. If you want to go develop on your Windows PC, you have to go and find the development tools. You've got to go and have source Visual Studio and either download it for free as a student or go and pay for it. You've got to go make the effort to go to be able to develop on it. And you've got to invest the time and the money to go and do that. Whereas alternatively, you could open up Chrome and go, [INAUDIBLE]. Right? And this is a problem. In this instant gratification society that we grew up in, when there's no barrier to content consumption and there is a barrier to content creation, no wonder we're having a sort of Lost Generation of people who didn't bother becoming hackers because there was HD video content that they could easily get to. And what we realized is that, sort of taking a step back, when I grew up, talking about hacking on PCs, I remember taking apart my parents' computer, their Windows box, and getting shouted at by my dad because he needed to check his email and the motherboard's on the floor, right? It's no good having these machines and saying, let's tinker, let's hack, let's make, if you need to then use them to do your word-processing for your homework. And it's no good having these game consoles that are incredibly advanced if when you do go and hack it and run Linux on it, you get sued by Sony Corporation. So what we realized was what we needed was another device. We needed an additional device that removed the abstraction, that removed the barriers, and that was just there as a toy for tinkering. We wanted something you could switch out your Xbox 360 with, put in a low cost barrier, a low effort barrier, and it was just there. It was straight in with the development tools. It was straight in to go and make things happen, to go and build robots. And we realized there was two keys to this. The first was price. It needed to be cheap enough that even parents who didn't understand computing, they were happy to buy it just because it was cheap enough. And then we needed to make sure the kids had ownership. We needed to make sure that this was a device just for tinkering. It was their device. They didn't have to worry about whether or not they broke it. They didn't have to worry about whether or not it was still in a usable state to go and do their homework on it. This was a machine for play. It was a machine for hacking. And so Eben always had this dream, but it was only when he was working at Broadcom developing processes for mobile phones that he realized that actually, we have the technology at the price point we needed to go and fulfill this. And so essentially what happened is we took the development board that was being used for the Broadcom applications process on this board and turned it into this, turned it into the Raspberry Pi. And that's essentially where this came from. In many ways, this is a cell phone without the base band, without the radio. And the idea is that this has HDMI connections, it has components. You could hook this up to your CRT TV. You can put it in place of your Xbox 360. And all you need is an SD card out of your camera you might have lying around, keyboard and mouse from an old PC you might have junked, and a micro-USB charger you might already have for your BlackBerry. These are things that are just lying around. So you just need this $35 investment to go and have a toy to play with. What's great about this device is it's accessible but not necessarily easy to use. The point is that rather than covering all the kernel booting on some kind of nice graphic, we print out all the steps on the kernel booting. Because what we kind of hope is that kids will ask questions. You know, we think you learn by seeing. You learn by asking questions. You learn by being inspired, wanting to make things and having to overcome obstacles in that goal. When you boot this up it goes into command prompt. If you want a GUI, you have to launch a GUI. And we don't have a nice sugarcoated button saying, you know, Launch GUI. You have to type in startx. x. And then we get these 10-year-old kids going, well, what does startx mean? It's like, well, you're starting an X server. And they're like, well, what's an X server? You're like, well, actually, you know, this is how operating systems really work. The Start button isn't an integral part of your operating system, contrary to popular belief. And so the point is that it's all accessible, it's all immediate, and it's a great platform for developing. So where are we going as a foundation? So I talk about the fact that we're very interested in education outreach. But what we realize is that ultimately, we're a bunch of engineers, a bunch of low-level software kernel hackers, ASIC engineers. We produced this chip. And what we wanted to do was make sure that we made the tools for the educators, we made the tools for the outreach projects already there, to go and write resources for, to go and teach with, so that they had a cheap platform to go and do it. And so why am I here? Why am I talking to you guys? What I'm saying to you guys is we went and made a Unix box that's $35. We went and made a computer but you can buy for $35, that you can give to your kids. It comes pre-loaded with Scratch. It comes pre-loaded with Python. It's a great learning platform. We have GPI out for physical computing. And what we're saying is, please go and do awesome stuff. And please help us get these in the hands of kids. And please help us teach. We're not yet ready to go into schools and say, this is a finished product that you can put in your schools and teach with. And what we need is your help to polish the OS, to refine the various bugs, and to make those resources so that we do get to a point where we can go to schools and say, hey, we have a whole computing package for you that's $35. Here's some free resources. Here's some case studies by dedicated teachers that have already been using it. This is the tool you need to go and do that. So how do we see education working with the Pi? If you're out here and have kids, you have cousins, siblings, and you're like, yeah, I'm inspired, I want to go teach some stuff. How can I do that? So firstly, we really like Scratch. We think Scratch is a great way to get kids introduced to programming. One of the things we like about Scratch is that it's teaching data flow, it's teaching algorithmic development, without ever needing to say those words. It's a graphical programming language. They're dragging and dropping control blocks. We'll probably have a demo next door or possibly pull it up. And you're creating short programs, you're making things happen, just by dragging and dropping these boxes. And we've seen, like, seven, eight, nine-year-olds make games for the first time using Scratch. And the point is, they don't really understand the computer science behind it. But when they've grown up around computing devices, where all they've ever done is consume apps made by other people, the joy they have in showing their brothers and sisters a game that they made, that's really awesome. Ultimately, programming computing is a creative tool. I know it's tempting, sort of academics among us, to say, you know, we want to optimize things for the sake of optimization. We want to research things for the sake of science. But ultimately, it's a tool. And it's a tool for creativity. The best engineers are lazy people, right? It's a way that we can go and do things that we might not ordinarily be able to do very quickly, very easily. And we want to make sure that it's not just-- it's not just the people who know they want to be engineers. It's not just the STEM students. It's anyone who had a crazy idea to go and make a robot. Anyone who wants to go and fire NERF guns remotely. I mean, we've seen some great projects. When I was over in New York, I met a videographer from Milan who was there covering New York Fashion Week. She came to the Raspberry Pi talk because she wanted to use the Raspberry Pi to show videos she'd recorded of catwalks, runway stuff. And that's awesome. We met some, at NY Resistor, we met some people who'd made this huge tent that had a 512-point FFT around the tent on LEDs that they took to Burning Man and made as a dance tent. I'm willing to bet most people dancing in that tent didn't really know what an FFT was, but the point is, it's cool. It's a toy. It's a way to go and do awesome stuff. And we think, if we're going to inspire kids, the way to do it is to go and make these cool projects, show them the cool projects, and then get them to want to learn so that they can replicate them. If we go and teach programming for the sake of programming, we go say, yeah, it's important. You should learn this. Yeah, this is good for science. That's not going to be as effective as saying, dude, this is a robot. We made it using programming. You know? That's the way that we make stuff happen. I mean, someone over, early on in tour, at Maker Bar, I believe, made a wearable computing set-up for, like, under a couple of hundred dollars, just by using Raspberry Pi, a Wi-Fi adapter, a small display, and a coat hanger. Sort of like a very cheap Google Glass, right? And that's really cool. It's cool that we can go and do that stuff, that when we were all growing up, like, we wanted to do, but you know, maybe couldn't justify it to our beer budgets to go and buy the toys we'd need to make the things. So let's say-- so back to the learning. So let's say we've inspired them with Scratch. They've made their games. They've shown their cousins, and they're, like, that's awesome. And what they want to do now is they want to go make some motors move. They want to light some LEDs. They want to go and make a robot. We really like, as a first programming language, we like Python. We like Python 'cause it's a great language to get stuff done. It's human-readable. If you want to go do "Hello, World," it's one line, as opposed to like 600 in Java, right? [LAUGHTER] It's a great language for just getting stuff done. It's why the scientific community uses it. And what we like about Python is the fact that you couldn't introduce kids to it just using it through the interpreter. They can use it as their desktop calculator, right? They can just do their maths homework on it. They can write simple lines. It's one line for "Hello, World." With our libraries for GPIO, it's one line to go and turn on the motor. It's one line to turn on an LED. And if you want to go use JSON to make something happen as a result of someone tweeting the word "Raspberry Pi," that's still only a few lines, right? That's the joy of Python. And what we see is once you've introduced them to syntax, they've had that immediate success of typing something and seeing something happen, you can then put those lines together and compile them. And that's your first procedural program. And there you've written a program. You wrote some code, you made something happen-- that's awesome. And then obviously as people know, Python's an object-oriented language. The best way to write Python is object-orientated. But rather than learning Java, where you kind of need to go read those textbooks before you even go write your "Hello, World," you've already picked up the syntax. You've already picked up data flow and algorithmic development from Scratch. You've already gone and compiled your first program. You're in a good place to go and learn about object-orientated methodology, learn about class hierarchies. And then that's a good point to go and write your object-oriented code. Once you've done that, stepping over to Java or something's pretty easy, right? Because you know how do to that kind of design. It's just another set of syntax. We also really like teaching the low level. So one of the things we've done is Cambridge University Computer Science Laboratory have given one of these to every fresher coming into this year's set of computer science undergrad. And this is really great for two reasons. The first is that we can hopefully see a whole load of projects by undergraduates wanting to prove themselves, make a name for themselves, and going and making awesome stuff just because, you know, they have time and they want to go do it. But also because it means that the academics are going to start writing teaching material that's tailored to the Pi. So there's already a course out there called Baking Pi that's-- yeah, great name-- that's made by the academics for a computer science laboratory. And that's a course on how to write your own operating system in assembler. Like complete with frame buffer. And when you think, you know, one of the problems is that we're lacking those low-level skills-- my generation didn't grow up on BASIC. We didn't grow up on Spectrums. We didn't do command-line stuff. We didn't learn machine code. And so the point is that you can go and write an operating system in assembler. When you then go move on to C and help us with kernel development, your C is going to be a lot better, having written an operating system in assembler first than going the other way around, right? And we think this is great for not just the computer science learning. We also think this is great for physical computing. As I say, I'm a EE grad. I think the best way to get people inspired in programming is to show them stuff happen. It's one thing to try and teach them why some optimization or some bit of code's cool. It's another thing to show them something happening and going, that worked because we had a computer and we had some code to make it do something. So really I'm here asking you guys to please keep making cool projects. Please let us know the cool projects you're making. Helps inspire more kids. Help us get these in the hands of kids. Show the kids you know, your cousins, you kids and things, and how to go program in Scratch. Introduce them to Python. Introduce them to the joys of physical computing. And also, it'd be great if there's any educational outreach-- I know Google does lots of education outreach out there-- if you could help us write material for the Raspberry Pi, help us get the lesson plans and the structure we need in place so that we are ready to go to schools and say, here's a complete package at a low cost. This is the way we think you should be teaching computing and introducing computing in schools. I'll probably hand over to a Q&A now. I can answer more technical questions. I know these kind of talks, we get a wide variety from teachers turning up, saying, I've heard about this Raspberry Pi thing, what's in it for me? Through to guys saying, you know, why doesn't my particular bit of split-transactional USB work? So we can hopefully try and cover that range. And I'll try an answer what I can. Awesome. AUDIENCE: So thanks for the work you've done so far. So I'm working on an open-source project, and we honestly can't get our hands on enough of these things. People want them. One thing we have had a lot of problems with is the USB stack. ROB BISHOP: Yeah. AUDIENCE: We have a bunch of USB interfaces that vary between, like, locking the device up and rebooting it and all the rest of it. Do you know where people are on the USB stuff? ROB BISHOP: Yeah. So initially we had a problem whereby the endpoints in the microframes were-- the allocation was fixed. So you're limited to seven endpoints you could service in one frame. And that meant the first few devices which used up those endpoints-- bearing in mind that one goes to bolt transfer anyway, one's used up for the networking, and then most devices have two or three endpoints anyway, which meant that if you were using multiple USB devices, that didn't work. We've now got pushed out a microframe scheduler fix that dynamically allocates endpoints. So we can now service lots of devices. We've also pushed out a fix with the interrupt masking so that we service the USB first. And we've reduced the CPU overhead that was incurred in doing that. We're still actively working on USB. Any engineers in here who have worked on USB, that's probably the hardest thing we've had to develop for this. You need these 100K analyzers to go and work on it. And it's a systems problem, because you've got to understand everything from the state machine and the RTL through to using a logic analyzer to see what's going on on the frames. Through to the other problem with USB, is the ubiquity. So the problem is that the general perception is with USB devices is that they should just work. You know, they're USB, right? But there's a very loose understanding in the industry of what the USB spec actually says. We've seen lots of devices that don't adhere to the spec and don't work with us. Or do adhere to the spec but don't act in a nice way. So we had some issues with USB serial converters, and they just kind of flooded us with packets. They didn't perform in the way we expected. So part of what we're trying to do now-- and as I say, we expected to ship 10,000 of these in our first year. We're probably going to ship a million in our first year. We shipped half a million already. On there's maybe five or six engineers working part-- well not even part-time, in their evenings and weekends-- on supporting this. So we're working on it, but the USB is slow because it's difficult. And if-- I know some people say that one of the problems with the foundation is we're not transparent enough in what we're working on. It's probably just 'cause, you know, these are all engineers who are working at Broadcom on their day job, going home and trying to fix USB in the evening. They don't really have much time to go and write a blog post as well. You just kind of have to trust us that we want to see this as finessed as possible. We want to get the best performance out of USB, best performance out of the processor. We're going to work on those things. We're going to do our best. We'll kind of push out updates as we do it. But we'd rather do the development than necessarily spend lots of time kind of blogging about it. AUDIENCE: A little more transparency, though, might get you a lot more help. ROB BISHOP: Yeah. I agree. It's something we're working on. We do recognize that. And it's just something-- I mean, obviously, we're all engineers that, we're working in a sort of corporate environment. We're now working in an open-source project. It's quite a big headspace switch to go move across to doing everything sort of in a kind of structured way to suddenly doing things in the way that you're asking the community for feedback and you're getting involved. I think part of the reasons we don't look transparent is just because we're so overwhelmed. We're desperately trying to do as much as we can and we're spread so thinly that we don't have time, necessarily, to do all the things we'd like to do. But definitely, as things are stabilizing, as the foundation actually starts to have engineers working on it full-time, we're certainly going to move toward more transparency. One of the things we've done, we've opened a Twitter account called @rpf_dev_updates. It's linked to our GitHubs. And what we do is every time there's a commit, it get tweeted onto there. Also every time we push anything new into the repository, every time we push an update to the firmware, we tweet about it. And that's just a really quick way so that the developers among us can kind of keep track easily on what's going on without necessarily having to go to GitHub and just see what the development is. But yes. It is something we're working on. AUDIENCE: Are you guys thinking about any hardware widgets to add on to this? Or are you mostly focused on the software side? ROB BISHOP: Yes. So we can talk about that. So I should have mention that in the talk, actually. So the way the foundation works, ultimately-- Pete Lomas, who designed this board, did a great article in "Wired" recently-- I don't know if any people read it-- which is where he was saying about, we have to sell out a little to sell a lot. We realized there was going to be a lot more demand than we could ever raise capital to go and produce ourselves. So what we decided to do was to go and approach a number of multinational companies. We went with RS, who trade as Allied in the US, and the Farnell group, who have a number of business units-- Element 14, Newark, MCM, the have here in the US. And we licensed them the design of the PCB so that they could manufacture it for us and handle distribution. As a result, that meant that we couldn't release all Gerbers and things on the outset, which we wanted to do. The problem is that to get people to invest money in the infrastructure and producing these, we have to make sure they can protect that investment. And so one of the things we talked about is we are very much believers in the open ideology. It's something we want to do. We can honestly say this board is as open as possible. If we could make this more open, we would be doing it. There are things we are doing right now I can't necessarily talk about to try and make it more open. The problem is that what we thought was more important was to ship than to sit around worrying about the ideology. Ultimately, yes, the GPU on this is closed. Yes, we haven't released the Gerbers. But we can get UNIX boxes in the hands of kids for $35. And that's our goal. And the important thing was in doing that, was in delivering that, and then kind of secondary, making sure we can fulfill all our own personal beliefs on the openness ideology and things. And the other point is we're going to be in a much better position when we've shipped a million or so units to go and talk about the open debate than we would be if we were sitting around saying, hey, we're just going to wait till we can do an entirely open board for less than $35. So as an engineer, I understand the frustration there. But ultimately, the point of this is to get cheap computing devices in the hands of kids. And we're going to make sure we do that first, and we're going to make sure that if we can do that, we do that. And we make it as open as possible, but you know, that stuff will come. AUDIENCE: I guess I was asking more about add-ons. ROB BISHOP: So we'll talk about that. So we are responsible for the design of this board. We're responsible for the kernel. Like that's what we do as a foundation. There's then a lot of add-ons which are made by the community. So the first thing you'll notice is we don't produce a case. So there's a couple of reasons for that. I mean, firstly, we're not graphic designers. We're hardware engineers. We're software engineers. We thought it was cool to leave it open to the community to go and do that for us. Certainly with the rise of 3D printing, there's designs you can go and download, go to your local hacker space, and just print there. And there's a variety of cases. Like this one, we really like this one. It's called the Pibow. It's a multilayer case. Comes with really nice faux IKEA instructions. And these are made by the community and openly available. And it's great that we can kind of encourage the Maker community and give them ways to sort of raise some of their own finances by making projects that they can sell alongside. The other reason we don't have a case is because when I put this in the hands of kids, they go, hey, what's that? What's this bit do? And that's awesome. We've grown up in a generation where we think electronic device have all kind of black slates with rounded corners, right? And it's important to say, no, no. This is what a computer looks like. This is a computer. And it's great to be able to answer those questions. It's great to be able to show them a PCB. I mean, I quite like going up to CS grads and saying, hey, can you name the capacitors on this board? 'Cause you know, it's amazing how much we've lost that knowledge of computing, that when we had Spectrums and Apple IIs, that was a bit more well known. There's also hardware made by Broadcom engineers. So there's a guy called Gert van Loo who's a really smart engineer, did a lot of the ASIC design for the sock that's on this board. And he wanted to go and make really big things move with his Raspberry Pi. This is 3V3 digital logic. The current draw is obviously all powered by the power supply. So it's shared between the processor, the USB devices, and the GPIO, so you're kind of limited there. But he wanted to go make big motors move. So he went, OK, I'll go design a board to make that happen. So I have a thing called the Gertboard. It's available from Newark. It's $40. It comes as a kit. You can solder it together yourself. It's not on sale yet, just because we're going through the last few bits of FCC testing and things. It'll be on sale as soon as we can sell it. And this allows you to drive things up to 4 amps with 5-volt logic. So you can just slip this is in the same places as you would do your Arduino sensors. It's the same 5-volt GPIO. You can go make some great, huge motors move. There's physical fuses on that. That's kind of cool. And it actually has an [INAUDIBLE] chip on it. So if you want to go use your existing Arduino microcontroller code, you can run it on this board. And this isn't made by the foundation, but it's a part of the fact that our mission is to focus on what we do well, focus on what we can do for the community that might otherwise struggle to raise the capital or get the engineering talent to go and do. We made the Unix boxes. We're kind of letting the rest of the community come and help us out with add-on gear. Oh, and particularly, we really like my friends over at Adafruit. They have a learning website called learn.adafruit.com where they have a whole bunch of tutorials and products that have been well tested for the Pi, everything from GPS receivers to GSM receivers, wireless keyboards, small displays, all of these things which tutorials, and they're for sale. And what's great is that they were waiting for something like this to come along. They were waiting for someone to make hardware hacking accessible and cheap enough. And that's what we feel we've been able to go and do. The one thing the foundation is going to produce, in terms of add-on hardware, or certainly is going to in the immediate future, is-- as I mentioned, this is basically a cell phone without the base band and the radio. The other thing most cell phones now have is a camera. So we're going to release a camera board which works over SPI data, I2C for control. It's going to be $25. It's going to hopefully be done before Christmas. People often ask me, when's this going to be done. I've got to go back and write the software for it. So as soon as I finish that, it'll probably go on sale. It's a 5-megapixel smartphone sensor. And you're going to be able to record 1080p video with H264 encoding in the hardware. You're going to be able to hopefully use the JPEG hardware encoder to get quite good frames-per-second encoded JPEGs off the 5-megapixel sensor. We're also going to hopefully give a raw bitstream that you can put across the network, put into OpenCV, go and do cool robotics projects. And that's all going to run on OpenMAX media streaming ware. And that's all going to be in userland. And talking about the open, we are wanting to open-source everything that runs on the ARM, all of the userland. We are trying to be as open as possible. The problem is, as you guys will well appreciate, that involves talking to a lot of lawyers, which is A, not very fun, and B, very time-consuming. But we're taking on that pain on your behalf, right? So you should be very grateful. [LAUGHTER] So-- So yes. Cool. AUDIENCE: Hi. Have you found that for the adults that are working with kids using Raspberry Pi that it's better for a certain age group or certain other age groups? ROB BISHOP: So one of the great things about Raspberry Pi is that with the help of things like Scratch, as I said, we've seen seven-year-olds produce games. So on our blog, there's actually some videos of some games that some seven-year-olds have made, that we saw and we just though, that's awesome. This seven-year-old's made a game and is really excited about it. I quite often meet engineers who have been teaching their kids, and you've got these kids under 10 who are so excited that they made something themselves. It's a game that they made. When you think-- when you're seven, you have all these cool games you want to make. The fact that can actually go and produce something someone else can play, that's awesome. And it's the right way of encouraging programming, because we're showing that it's a tool for creativity. It's showing that there's a way that you can go make those awesome things you want to do. And I'm pretty sure that's the reason why most of us are here. We grew up making awesome stuff in LEGO. We grew up wanting to build robots. The point is, we've made something cheap enough and accessible enough that the kids can go and do that. And that's awesome. Sort of a moving up from there, we've got undergraduates using the assembler course to go and write operating systems. We have the kind of, you know, lifelong hackers making all sorts of awesome stuff. And Python kind of fits nicely in between for physical computing all the way through to web development stuff. And you can use all the web libraries for JSON stuff to go and make web apps. And it's great what the community's done with the Raspberry Pi. And one of the things that I was really excited about, back at home there's a computing magazine and it had a review of media centers. And the Raspberry Pi was reviewed as a media center option. And you think, you know, we produced some hardware for education. The community's gone, hey, we can make a media center out of this. And they went and got XBMC polished enough that it was good enough be reviewed in a commercial magazine as a commercial product. And we think that's awesome. It just shows what the community can do. I think one of the great things about this platform is that if we do sell a million in our first year, there's going to be that wealth of people making projects for it, that wealth of people on the forums answering questions, having user groups. And that's going to be a really great platform to learn on. Because if there's something you want to do, someone's probably already blogged about it, and that's really cool. I've been touring hack spaces, because we really like supporting hackspaces. We think hackspaces are a great place where, you know, artists can turn up and say, hey, I've always wanted to make this ridiculously awesome thing for Burning Man, but I have no idea how. And then there's guys like us, saying, yeah, let's do it. And you can share those skills and inspire by doing rather than inspire by teaching and inspire by academia. AUDIENCE: So I have a question. When will I be able to order more than one Raspberry Pi? I currently have only one. ROB BISHOP: No, no, so you can order more than one right now. Yeah. So you can do that right now, if you want you. So there's two manufacturers or distributors. There's Allied and Farnell. Farnell currently have a lot of stock in North America. You can go and order from MCM Electronics. And it's just shipping, it's 3-to-5-day shipping. They have stock right now. And there's no order limits. So you can go do that now if you want to. AUDIENCE: It takes two days to get here. ROB BISHOP: OK. Two days. So there you go. So you can have 100 in two days, probably. My only worry is I'm going to give this talk at some point, and then everyone's going to get their iPhones out, ordered them, and then just give me no stock by the time I finish the talk. But that hasn't happened yet, right? So hopefully there's still stock right now. AUDIENCE: Do you think [INAUDIBLE]? Because I ordered in June, and I still haven't got mine. ROB BISHOP: Yeah, so the problem is that the chip on this board is a custom ASIC, application specific integrated circuit. You can't buy it off the shelf. You have to order them from Broadcom, an and that's got a 23-week lead time. So the problem is that once they sold out, it takes quite a long time to get your orders through for the chips to go and produce more boards. So that's going to stabilize once we have a better understanding of demand. But as I say, we expected to sell 10,000 units, right? I mean, we crashed [INAUDIBLE] our website on the day of launch. Both of our distributors, they-- you kind of see when we launched on their share price. [LAUGHTER] ROB BISHOP: And so-- and so we've been kind of overwhelmed. And they've been a bit overwhelmed. We think before Christmas the stock situation should be stabilized. We should be a good place. As I say, there's plenty of stock in North America through Farnell right now. So you can get them in two days. AUDIENCE: Do you know about Arduino? How do you feel-- are your audiences the same or different? Are your ambitions the same or different? ROB BISHOP: Yeah, so people quite often ask about competition. So we're not a start-up, where we went into this to get rich. No one gets paid yet. I'm probably going to be the first employee of the foundation, paid employee. Eben's wife Liz is full-time doing the PR at the moment, doing the blog. You read most of her postings if you go on the website. But certainly as the first engineer when I get back. And we didn't do this to get rich. I don't have any equity right now. I'm not being paid to do this. We didn't say, hey, let's go do this thing. Let's make a start-up. We're a bunch of engineers who had the drive to go and make something for education and had the facility, had the technology to do it. I think a lot of people say, why did you go for a Broadcom chip? And it wasn't that we sat down and said, hey, let's produce a platform. We had a platform, and we said, hey, this would be great for that thing we've always wanted to do for cheap computing for education. It's that way around. This is a start-up that was born out of necessity rather a desire to go and have a start-up. And I think with the competition-- we didn't, certainly as far as I'm aware, we didn't sit around and go, where's our competition? What's out there? We just kind of went, we think this is a good thing to do. We think we need this. Let's go and do it. We don't want to go and compete with these other companies. We think it's great other people are working in the hardware space. I mean, we often say, if someone was to come in and produce a higher-performance board or a board that was somehow better for the community that was cheaper, that's great. We'll go back to our day jobs, right? Mission accomplished. We're doing this because we think it should exist. And we're hoping that we spawned it. But if you read the tech blogs, you'll see the tech blogs are full of "Raspberry Pi competitor," you know, "Raspberry Pi-like devices." And we're kind of proud of that, because the point is that we've shown that there's volume in doing cheap computing devices. We've shown that this is a device that people want. And hopefully we can kind of get those being created. And that's our goal. Our goal's not to have a massively successful business. Our goal is to get these in the hands of kids and to make something like this. And so we think there's still room for the Arduino. I mean, the Arduino is a microcontroller. It's a lot better platform for really cheap sensing projects, so anything where you want a basic microcontroller. But soon as you want anything with networking, as soon as you want anything where the development's going to be quicker in a Unix environment than it would be writing for microprocessor, then this is where this really wins. I believe an Arduino is a similar price. But then by the time you buy the networking shield and get all the stack working, that starts being over $100, I believe. That's what people have told me. Whereas this is $35 with USB, with networking. So that's where we see this being useful. We see it as living alongside an ecosystem, not necessarily being a replacement. AUDIENCE: Could you talk us through a little bit? If somebody wanted to make a simple project that just controls a couple of motors on a robot or something, what's involved to go from there up to that? ROB BISHOP: So I think what you do is if you go buy one of these from MCM you'll get a nice box-- I don't know if anyone has a box with them-- but a little cardboard box with one of these devices in it. Doesn't come with a power supply. Doesn't come with an SD card. It literally comes as a bare board. So the first thing you're going to want to do is source some kind of power supply. We recommend one that's rated up to an amp, 5 volts. One of the things we found is power supply manufacturers do vary greatly, and we found at least one manufacturer that sold a range of power supplies that just were all 7 volts, regardless of what it said on the label. And it is worth making sure that you can supply enough current, because one of the problems we have is that people plug power supplies in that maybe only give 500 milliamps or less. And said it's enough for the board to boot, but soon as the CPU load gets significant, soon as you plug-in your Wi-Fi dongle, it restarts 'cause there's not enough power. So Adafruit sell a 1-amp, 5-volt supply. If not, just scout around. We found the iPhone ones are pretty good. So you can get them. So get ahold of one of those. Get ahold of an SD card. Get ahold of an HDMI cable. Plug it into your TV. Yeah. Yes, as we couldn't do today. Apparently this TV only takes VGA, which is why I don't have a demo behind me. So that was a pretty poor example. And it doesn't have component either. Because I mean, the argument is that for the developing world, you have component. So if you want to kick one of these out for free, you go to your local electronics recycling company and you say, hey, the next time someone's chucking away a CRT, or Freecycle or Craigslist or whatever the US equivalent is, you can source CRT monitors for nothing these days. People are trying to get rid of them. The same with keyboards and mice. You go to your local bank or whatever and say, hey, next time you're reprovisioning your IT, you know, and you're throwing away those perfectly good keyboards-- we believe you can stock these out for nothing with a little bit of effort. But yes. So you get your SD card. You go on our website. We recommend an operating system called Raspbian. So Raspbian's a fork of Debian. Obviously we only forked because we absolutely had to, you know, who wants unnecessary forks of operating systems? But Debian have a version which supports V7 instruction set with hardware floating-point. And they have one which is kind of the catch-all distribution, which supports V4 with software floating-point. So the problem was because we're V6, we were losing all of that performance by having the build for V4 with software floating-point. So the community went away-- we're very grateful to them for doing that-- and rebuilt Debian, rebuilt the packages, with hardware floating-point with V6. So you get significant performance increase. So that's why we have this Raspbian. But it's essentially Debian. And so you can get a Debian disc image. DD it onto your SD card. Plug it in, boot it up, and hopefully this'll demo next door since I don't have it up on here. It boots up to command prompt. It says, if you want to GUI, type startx. You type startx. LXD starts up. You know, it's what most people would recognize as a computer. Scratch is pre-installed on image, so if you want to go into Scratch, you go straight into Scratch. Python's pre-installed, so you can open a Python terminal. I mean, obviously, if you're doing Python development, we'd say don't waste the CPU overhead of going into the GUI. Just go straight into it in terminal. And that has a library which has already got all the GPIO control. So you go on a wiki, the eLinux wiki, you look up the necessary Python lines. It's all well-documented. And it's, like, a line to go internal GPIO. So it's 3V3. So you go get a head of pin, get some breadboard, connect it to something LED. Connect it to ground on the connector. Type your line of Python. LED turns on. So those are basically the steps. But it is-- it's well set-up. I mean, the great thing is, anything you want to do, if you go and Google it, someone's probably done it or done something similar. There's all sorts of wrappers. There's a wrapper called WiringPi which makes the GPIO like the Arduino, I believe, makes it very simple. But also, all of the GPIO and the LED control, they're all mapped in the correct place in the Unix file system, so you can do it with a bash script if you want to. So I actually did a great workshop where we got a bunch of complete beginners and we went and turned on an LED on a breadboard using bash scripting. And we did it not because that was the easiest way, but because they actually understood what was going on. We had a multimeter out, and we were also bash scripting. How often do you get to do those two things in the same project, right? We were reading a resistor value and we were also explaining what a pipe did. That's awesome. And that sort of teaching computing on the low level, it's teaching computing by doing, and it's getting those low-level skills, which we're losing, to people who aren't bothering to learn assembler, aren't bothering to really understand how a computer works. AUDIENCE: You said you were planning to go into schools with this. Have you thought about how to measure the impact? Or are you just going to throw it out there and see what people do with it. ROB BISHOP: Right now we're kind of throwing it out there. So right now, we're targeting the STEM groups, the outreach groups, who maybe are already doing stuff with Arduino, maybe are already running electronics classes. They don't need any lesson plans or resources from us. They just hear they can get hold of one of these for $35 and that's all they need. And so for those people, we're ready for you to go and be the trailblazers, do the case studies, get it in the hands of kids and see what they can make. We also have another set of educators, which are the teachers, saying I'm not an IT specialist, I'm not a computing science specialist. I want to teach computing. I hear what you're saying. But I don't know how to do it. To those people we say, hold off yet. We are working with big government groups. We're working with educational groups to get those resources made, but that takes time. We're not arrogant enough to believe that because we understand it we can teach it. We want to talk to specialists, get their skills involved. And that's on its way. I mean, the travesty would be if we pushed this hard into schools generally now and sort of had them sitting getting dusty on a shelf just because they were cheap and they seemed like the in thing to be. No, we're very much focused on making sure that we have a package, we have a board and an operating system and a set of resources that are polished enough, ready to do that. We're not there yet, but that's our goal. That's what we're working on. Right now we're saying, let's go make those cool projects which inspire people to do it. Let's go and get them in the hands of kids like we probably were when we were growing up, who didn't need a lesson plan. We just needed to be able to have something to go and play with. And let's make sure that we get them out there, get them tested, get the feedback, so when they do go into classes, it's polished, we've got the inspiration, and they've hopefully already seen cool things other people have made. AUDIENCE: Power management and low-power [INAUDIBLE]. ROB BISHOP: Yeah. AUDIENCE: I've tried to shut down this and it still seems to absorb about one watt. ROB BISHOP: Yeah. So I believe, on the Model A-- as I said, the networking consumes about 50% of the power consumption. It's running at 700 megahertz on the ARM. With the Model A, I believe with underclocking, you can get down to 250 milliamps. The update we've pushed out has this governor. So you kind of have this historesis effect where we monitor the CPU load and we step the core voltage and frequency based on the CPU load. And then we have another threshold determined by an on-die temperature sensor, where we kind of ramp that down again. Which hopefully means that you get the extra performance when you need it without needing to run overclocked all the time unnecessarily. And you don't need cooling for that. Often, as soon as you say "overclocked," people go, but there's no active or passive cooling. It's like, there isn't in your smartphone. You don't need it. AUDIENCE: But on the Model B, the internal [INAUDIBLE], they're going to-- ROB BISHOP: Yes. So on the Model B, sadly you can't-- I don't believe you can turn it off in software. So that's frustrating. I mean, I don't see any reason why you couldn't desolder it. But the Model A's going to be out before Christmas. And you can underclock this board. So you can go into settings and reduce the clock speed if you wanted to and hopefully drop the power consumption that way. But yes, you're always going to have the overhead of the networking on the Model B. But the Model A is coming. The problem is we can't produce enough Model B to satisfy demand, so we haven't done the Model A yet. But it's on its way. AUDIENCE: What are your plans for improvement? I mean, what are you working on improving? Maybe reducing the size or the speed of the processor? ROB BISHOP: Yeah, we're committed to continuous improvement. Much like, you know, with software, with kernel development, you're kind of improving it as often. Commit early, commit often. We're trying to do that similarly with the hardware. We are going to seamlessly keep updating the PCB as necessary when we find bugs, keep fixing things. We just released this Rev 2, which fixes some of the earlier bugs. And hopefully sort of improve that way. I mean, right now what we want to do is, as I say, get this polished enough to be ready to give to kids, to have a sort of education-ready product. And that's our focus. We don't have a road map for any wild new stuff right now. So yes. It's going to be minor improvements. It's going to be bug fixes. We're probably not going to change the form factor, just because there are so many people producing cases and other things for it that we're kind of stuck by our own success, and the fact that we probably don't want to change this form factor or the pinout for things, just because that will be frustrating for the community. But we've added mounting holes as well in Rev 2, which is something that people wanted. Yeah. That's pretty much-- pretty much it. It's going to be continual improvement. AUDIENCE: [INAUDIBLE] without the graphics? ROB BISHOP: So the problem is it's on-die, right? So the sock in this is a graphics processor up with an ARM core. So if we were to-- we wouldn't, as Broadcom engineers, have access to another sock to replace it, 'cause, you know, Broadcom engineers. Also, to get the sock redesigned and in new [INAUDIBLE], you're talking millions of dollars. You're not going to be able to do that for $35. You know, this is cheap because it's an existing part. And the GPU, it's very powerful, it's very good for doing things. I mean, So we have Open GLS, 2.0 API. So for example, you can run "Quake 3" at 60 frames a second fairly consistently using the overclocking. It's pretty cool. You can do 1080p video, encode, decode. We've got a whole host of media codecs you can use in hardware. Yes, it's frustrating it's closed. But it's the fact that that bit's closed that allows us to sell this this cheaply. And ultimately, we do get people saying-- we just won a Makey Award for Most Hackable Gadget. And someone was saying on Twitter, how can you be the most hackable gadget if your GPU is closed? And it's like, well, I'm not sure I'd teach kids GPU programming as their introduction to computer science. For what we want to do-- you know, there's ARM-JTAG. The V6 instruction set's well-known. Yes, you need a binary blob to boot it, but as a learning tool, for price and for availability, we don't think there's anything better. And as I said, this is as open as we can make it. We're actively making it as open as we can. But we're limited to the chip that we have. Cool. OK. Well, if there's demo questions, I believe we're setting up some monitors and some Raspberry Pis next door so we can kind of play, have a bit of a workshop. Come and have an introduction to Scratch. Have a look at Python. Have a look at the Gertboard. And yeah, Hopefully if you guys have been working on projects, you can show us those projects too. Great. OK. Thanks, guys. [APPLAUSE] [MUSIC PLAYING]
B1 computing raspberry pi bishop raspberry usb rob Raspberry Pi Foundation 137 11 Sea Monster posted on 2015/03/02 More Share Save Report Video vocabulary