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]
