By Jake Edge
March 20, 2013
Raspberry Pi Foundation executive director Eben Upton started his PyCon 2013 talk with a complaint that
he had just been upstaged. He normally asks
the audience "who has a Raspberry Pi?", but conference organizer Jesse
Noller had "ruined that" by announcing that all
attendees
would be getting one of the tiny ARM-based computers. The Python
Software Foundation, which puts on PyCon, had arranged for
Raspberry Pi computers to be handed out to all 2500+ attendees. It also
set aside lab
space on the second floor of the Santa Clara (California)
Convention Center
where attendees could "play" with their new computers—complete with
keyboards, monitors, breadboards, LEDs, and other peripherals.
Genesis
The Raspberry Pi, which is a
"small computer for children", came about due
to observations that Upton and his colleagues
made about the computer skills of high school students applying to study
computer science at the
University of Cambridge. In his time, anyone that had an interest in
computers could probably get their hands on one that would beep when it was
turned on and boot directly into a programming language (typically
BASIC). Everyone knew how to write the canonical program:
10 PRINT "MYNAME IS GREAT!!!!"
20 GOTO 10
When visiting a computer store, that program (or something "filthier") was
typed in on each machine; it was a "simpler time" in the 1980s,
"we used to make our own entertainment", Upton said.
The availability of those kinds of machines allowed potential students to
have a basic level of programming knowledge. But, when interviewing
applicants in 2005, they noticed that many lacked that "built-in hacker
knowledge". In addition, the 80-90 available spots were only being
contested by around 200-250 applicants, rather than the 500 or so in the 1980s
and 1990s.
The problem, it seems, is that the 8-bit machines that were readily
available in his time no longer exist. Game consoles now serve a similar
niche, but are not programmable and are in fact programmer-hostile because
of the business models of the console makers. In addition, those 8-bit
hacker computers
have been "eaten from the top" by the PC. The PC is, obviously,
programmable, but users have to choose to install programming tools. This
"tiny little energy barrier" is enough to reduce the number of applicants
with the
requisite skills, he said.
So, there is a niche available to be filled. In order for a device to do
so, it has to be interesting to children, Upton said, which means that it
needs to be able to play games and
have audio/video capabilities. It also needs to be robust, so that it
could be "shoved" into a school bag many times without breaking. It needs to
be cheap, "like a textbook", which only "shows that we didn't know what
textbooks cost".
The target price was $25, so the team spent a lot of time trying to figure out
what can be fit into a device with that price. They started with an
Arduino-like microcontroller system, but that "didn't meet the 'interesting
to children' test". After university, Upton went to work for Broadcom,
where he is still employed, though he mostly does Raspberry Pi work these
days.
Working at Broadcom led him to a chip with a proprietary RISC core, which
the team was able to get to boot to Python. It would also do 720p video and
could hit the $25 price point. At that point, they decided to set up a
foundation. The "Pi" in Raspberry Pi is Python misspelled, Upton said,
which was done because he thought the symbol for pi (π) would make a
"fantastic logo". But it turns out that the pi symbol has never been used by the
foundation and he regularly has to explain that he does know how "Python"
is spelled.
Switching to Linux
As the project progressed, he realized that the team would have to write
all its own drivers for devices like network interfaces or SD card readers,
which was time consuming. About that time, Broadcom released another
version of the chip with an ARM 11 core. "There are advantages to
being on the chip design team", Upton said with a chuckle, suggesting that
the ARM was added for "unspecified business reasons". The ARM core meant
that the Raspberry Pi could benefit from the "enormous investment" that
the community has made in Linux.
The BBC Micro was one
of the original 8-bit computers that shaped many enthusiasts' early
computer experience, so the foundation wanted its computer to be called the
"BBC Nano". It approached the British Broadcasting Corporation (BBC) about
using that name several times, but were always turned down for "complicated
legal reasons", Upton said.
As part of the effort to convince the BBC,
though, a 45-second video pitch was created. Once that video got to
YouTube, it had 600,000 views in a single day, a day which Upton spent "not
working for Broadcom" and instead
"pressing F5" (to refresh the page). That night, he sat down with his wife
and realized that they had "promised 600,000 people" that "we would build
them a $25 computer", but had "no idea how to do it".
The CPU fit within the $25 budget, but there are lots of other components
that go into a computer board. Those can cost a few cents or even
more, which all adds up. It took a while, but the team finally fit the
design into the budget, or nearly. The Model A is $25, but the
more-popular Model B, which has ethernet, more
memory, and an additional USB connector, came in at $35.
Upton had just gotten an MBA degree, so he "knew all about business
models", he said with a laugh. The foundation had raised $250,000, which
could be used to build 10,000 of the devices, so the plan was to build
those, sell them, and take that money to build another 10,000. But they
started seeing danger signs almost immediately, he said. When a "buggy
beta version" of the SD card image that could only run in QEMU was
released, it was downloaded 50,000
times. That many people downloading software for hardware that didn't
exist and might not for quite some time led to the realization that the
"interest was high". Given that the lead time for more systems was three
months or so, and there was now a worry the devices would sell out in a
week, something needed to change.
Luckily, he said, they started working with two UK companies that put up
the capital
to build all of the Raspberry Pi computers that were needed. The
foundation licenses the name and "intellectual property" (IP) to those
companies who "do the heavy lifting". In the end, there were 100,000
orders on the first day, and the
millionth Raspberry Pi was sold "sometime last month".
It has been a truly amazing year, Upton said. One of the interesting
transitions that he has noted is that the content on the web site has
shifted away from mostly being about what the team (and "other adults")
were doing to get the devices
out the door. Over the last six months or so, the site has covered what
"children
are doing with the Pi".
Examples
Saying that he wanted to "inflict" some pictures of those activities on the
audience, Upton shifted gears to show and describe what has come about
since the release of the Pi. As a "graphics hacker", he expected that much
of the interesting work would be graphics-related, but that turned out not
to be true. There are few graphics demos, though he encourages people to
write more.
The first stop on the quick tour was a "Moog-like"
synthesizer program that is available for free. The second stop
involved beer. It turns out that there
is an "enormous
overlap" between people who like programming and people who like beer, he
said to big audience cheers, which led to a number of different
projects. The computers are being
used to run both home and commercial brewing equipment using BrewPi, for example.
There is a project to assist with focus stacking
using the
Pi, which can replace $1000 worth of photography gear for getting
better focused images when doing macro (extreme close-up)
photography. There is also a huge retro-gaming community for the
Pi. The hardware is powerful enough to emulate not only the consoles that
he played with, but can also emulate the following generation of gaming consoles
that he "complained about" because they "destroyed the era of computers
that I grew up with", he said with a grin. Art installations are
another fairly common use for the Pi, and Upton showed some lighted paper boats at
Canary Wharf on the Thames river.
"Dr. Who and space and the Raspberry Pi all in one" is Upton's description
of his favorite hack. A weather balloon with a Tardis
as its payload has been used to take pictures from 40km up. That means
that a "space program is
within the budgetary reach of every
primary school in the world".
The Raspberry Pi community has been very inventive with extras. Upton
noted The MagPi magazine,
which has type-in listings of programs, hearkening back to the 1980s.
Typing a program in has its advantages, including "learning opportunities"
from mistyping.
There is also a Haynes
manual for the device.
The simplest cases for the
device are PDF files that you print on the "thickest paper you can get through
the printer" and fold up into a case. While the Pi is described as "credit
card sized",
it is actually about 1mil off in both dimensions, he said, but in a
"fluke", both the X and Y dimensions turn out to be a multiple of the
Lego basis unit size. That led an 11-year-old girl to create a Lego case
design for which she now gets royalties. Since she is 11 years old, she
takes
her royalties in Lego, so she "now has more Lego than me", Upton said.
There is evidence coming in that kids are using the Pi to learn to
program, he said. He showed one who is learning with MIT Scratch and noted that the
foundation is spending some money right now to get better performance for
that language on the Pi. Though he set out to try to help solve a problem
for Cambridge University, it "turns out that kids all over the world want
to learn to program". He showed a photo of some kids from Uttar Pradesh in
India using the Raspberry Pi. Those kinds of pictures give him some hope
that they are actually accomplishing something with "this tiny computer".
He noted that there "needs to be a hook" to get the Pi into a kid's life
and "apparently a lot of children like to play Minecraft". Mojang, the
company behind Minecraft, has done a port of the pocket edition to the Pi:
Minecraft Pi Edition.
That version has a socket that can be used to talk to the game world from
any programming language, which "gives kids a reason to program".
Upton put up a "Try to take over the world" map showing where the computers
have been shipped to. Taking over the world seems to be progressing well
based on that map. North America has become the continent with the largest
"run rate" (i.e. purchase rate)
in the last three months, he said, and became the largest install base as
of last month. They would like to sell "a hell of a lot more" in South
America and India, he said, but "we'll get there".
Another interesting geographical note was a change in the manufacturing
location. In the beginning, the boards were built in China,
unsurprisingly. Sony contacted the foundation and said that it could build
the boards at its factory in South Wales for the same price point. Since
September, Raspberry Pi boards have been built there, which is a "big deal"
for Upton as he comes from about 10 miles from the factory. The fact that the
"lowest-priced general-purpose computer" can be built at a factory in the
developed
world is "good news" for anyone concerned that there would be no
manufacturing in regions like Wales.
Python
There are several connections between Raspberry Pi and Python, starting
with the name. The chip was designed using Python, Upton said. He was on
the GPU team for the Pi's Broadcom 2835 chip, which used Python to "design the
whole damn thing". All of the multimedia IP was verified using Python
because it is "100 times quicker" to do it that way. Python and its tools
are much easier to use (and faster) than Verilog tools.
The Raspberry Pi benefits from the large body of existing Python (and other
interpreted languages) code. Python brings a whole set of applications and
tools to the ARM Linux environment. Finally, Python also provides one of
the teaching languages for the device. The device supports Logo and
Scratch for the youngest children, and will always support C and C++ for
people who "want to get close to the metal", but Python has a special place
as a learning language. Upton said that Python allows educators to tell
children "learn this language" and "you will be on a smooth curve" leading
to a language that lots of companies program in. There are no
discontinuities in that curve, he said, which is important because it is those
steps where students get lost along the way.
Wrapping up, Upton had three more topics on his mind. At some point
"soon", the Pi team will need to decide between Python 2.7 and 3.3. It is
already a bit confusing as some packages (e.g. PyGame) are only available
for one of the two. He is also looking forward to PyPy as a way to get better performance out of
the fairly modest Pi processor. Beyond that, the "boot to Python" idea is
still floating around, though it is not yet clear what the best teaching
environment for the Pi will be.
In closing, he hoped that all of the new users in the room
would visit raspberrypi.org and
report back on what they did with Raspberry Pi.
Many of the examples Upton gave are not particularly Raspberry-Pi-specific,
in that they could run on any Linux system. But the Pi provides a
convenient package, with compact size, low weight, and lots of connectivity
options, that makes it a nice target. While the GPU drivers leave a lot to be desired and the USB
driver is a mess, it is still a rather interesting
device—particularly at its price point. Could something better have
been made? Perhaps, but it would take a dedicated group of folks to get
together to do so. Upton and the Raspberry Pi Foundation have made their
mark, some friendly competition would make things even more interesting.
(
Log in to post comments)