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]