Unlocking the Potential of the Cloud for IBM Power Systems
Raspberry Pi – Putting the fun back into computing
1. UNIVERSITY OF
CAMBRIDGE
Raspberry Pi –
Putting the fun back into computing
Alan Mycroft
Computer Laboratory, University of Cambridge
http://www.cl.cam.ac.uk/users/am/
Co-founder and former Trustee of Raspberry Pi Foundation
http://www.raspberrypi.org
InfinIT.dk – 3 Nov 2016
Raspberry Pi 1 InfinIT.dk – 3 Nov 2016
2. UNIVERSITY OF
CAMBRIDGE
Abstract
During the past 10-20 years computer systems have become both ubiquitous and more
powerful, but also more closed. By 2008 children increasingly had mobile phones with
more computing power than the PCs we learned to program on, but could not program
themselves – university computer-science applications reduced in quality and quantity.
Example barriers include fashionable laptops lacking screws to look at the internals, or
a child installing Linux wrecking a family’s PC.
The Raspberry Pi was a reaction – instead of a gadget whose internal workings remain
a mystery, we wanted a fully fledged computer at the price of a toy (or a textbook).
The initial Raspberry Pi exploited the “annually more transistors for the same price”
Moore’s law to build an ARM, HDMI graphics card and 256MB of memory on a $25
credit-card-sized board with GPIO pins exposed, with Linux as operating system –
exposing python, scratch and bare-metal programming. But Moore’s law continues
with the current Pi 3 having 1GB of memory, a quad-core processor and Wifi.
The results have been remarkable – nearly one million were sold in the first year and
sales recently reached ten million – but everywhere people are doing newly interesting
things with the hardware (e.g. putting one on a weather balloon, controlling robots,
adding cameras/touch-screens, even networking them as cheap supercomputers).
“Raspberry Jams” have sprung up when children once again play with, and program,
computers for fun. School curricula have incorporated Computing as a life skill
(Jeanette Wing’s “Computational Thinking”); the effect is better students for us and
thereby better innovators for society.
Raspberry Pi 2 InfinIT.dk – 3 Nov 2016
3. UNIVERSITY OF
CAMBRIDGE
Structure of this talk
• School-age computing: skills or discipline?
• Raspberry Pi: what and how
• Some applications which have impressed us
• Formal/informal education, raspberry jams
Raspberry Pi 3 InfinIT.dk – 3 Nov 2016
4. UNIVERSITY OF
CAMBRIDGE
What went wrong with school-age computing?
My initial UK perspective: interviewing 18-year-old applicants for
the Computer Science BA at Cambridge.
Question: tell us about the most interesting program you’ve
written.
Answer c. 1990: used a BBC micro to write a program which . . .
Answer c. 2010: written a web page and used a package to . . .
During 2000–2010 UK applications for Computer Science halved –
not just at Cambridge. Mismatch between student perception and
industry demand.
[Good news: Cambridge 2016 applications were the highest ever –
three times the nadir.]
Raspberry Pi 4 InfinIT.dk – 3 Nov 2016
5. UNIVERSITY OF
CAMBRIDGE
What went wrong with school-age computing (2)
Reason 1:
• UK subject “ICT Key Skills” (a new name for the subject called
“Typing” when I was at school (*) ).
Focus on presentation. Bright kids knew it already.
Gove/Schmidt “not fit for purpose”.
Royal Society: Digital Literacy vs CS vs IT vs programming.
But teachers have tried their best with the prescribed syllabus (with
some seditious heroes doing “proper CS”).
Delicate issue: moving sensitively from “The ICT teacher was
appointed because s/he already edited the school glossy” to where we
want to be. Management (and Government) underestimate this.
(*) Yes, this is a grossly unfair exaggeration.
Raspberry Pi 5 InfinIT.dk – 3 Nov 2016
6. UNIVERSITY OF
CAMBRIDGE
What went wrong with school-age computing (3)
Reason 2:
• Over-packaged and fragile hardware and software raises the
“activation energy” for doing anything.
[Poorer families] “You’re not taking the back off the computer”
“You installing Linux has lost all my photos.”
[Richer families] “Where are the screws to enable school-age
children to take their expensive Macbook Air to bits?”
[Schools] “How clever of XXX causing all the computers in the
school computer suite to show that amusing picture.”
[Software] “It’s all so complicated nowadays that I can’t see how
to start doing anything.”
Windows lacks pre-installed software too.
Raspberry Pi 6 InfinIT.dk – 3 Nov 2016
7. UNIVERSITY OF
CAMBRIDGE
Computer Science education
“[T]he lack of programmable hardware for children—the sort
of hardware we used to have in the 1980s—is undermining
the supply of eighteen year olds who know how to program,
so that’s a problem for universities, and then it’s
undermining the supply of 21-year olds who know how to
program, and that’s causing problems for industry.”
Raspberry Pi Co-founder Eben Upton in 2012
Does this matter?
• We want to the UK to be a leader in the new industries, not
merely a buyer of products made elsewhere.
• Industry needs skilled graduates, and the government prefers
local talent (it wants to reduce non-EU immigration).
Raspberry Pi 7 InfinIT.dk – 3 Nov 2016
8. UNIVERSITY OF
CAMBRIDGE
Computer Science education (2)
Closed platforms are a real problem for CS education – trying to
modify things often breaks everything.
• A Macbook Air is great for users like fashion designers, but just
how do you get the back off it to interface with the bus, or even
to see what’s inside?
• Windows is similarly great for various business applications, but
how do you add that device driver, or adjust and recompile that
application? Or attach a new custom bit of hardware?
A developing issue: software patents. These are increasingly used to
reduce the spread of ideas through open-source software – to extend
the idea of closed platform: from closed hardware via
software-security-via-obscurity to software-security-via-legality.
Raspberry Pi 8 InfinIT.dk – 3 Nov 2016
9. UNIVERSITY OF
CAMBRIDGE
The fashions for “Computer Programming”
In the UK (and Europe and North America) “Computer
Programming” in the popular mind goes in and out of fashion on a
25-year cycle – 1960’s, late 1980’s, 2010’s – often brought about by
some change in technology.
Important not to repeat the boom-and-bust “everyone should be a
programmer” in education:
• separation into “Digital Literacy” and “Computer Science” is
useful
• but important to realise that these are just parts of a spectrum –
and children’s talents are also a spectrum.
• “Coding is the new Latin” [Alex Hope]. Hmm – yes (rigorous
thinking) and no (not only for the brightest).
• Guardian counter-article “Should kids learn to code?”
Raspberry Pi 9 InfinIT.dk – 3 Nov 2016
10. UNIVERSITY OF
CAMBRIDGE
Danger of over-emphasising ‘programming’
Dictionary.net etc:
“Programming. The most fun you can have with your clothes on.”
While many people here agree with this, it’s not generally held, also:
“Programming. A pastime similar to banging one’s head against a
wall, but with fewer opportunities for reward.”
• Important to teach “Computational Thinking” (Wing 2006, also
YouTube)
• Computational thinking – “as fundamental as reading, writing
and arithmetic”
• Incestuous: “Computing and Computers enable the spread of
Computational thinking”
E.g. how does one sort a pack of playing cards? An algorithm.
See A-level introduction on www.cl.cam.ac.uk/users/am/teaching
Raspberry Pi 10 InfinIT.dk – 3 Nov 2016
11. UNIVERSITY OF
CAMBRIDGE
“But you’re from Cambridge – what about the real world?”
Well, as a University we’re certainly at one extreme.
But we suffer from the same forces that affect us all.
It’s important for the community to get children of all abilities
interested in computing by doing ‘fun’ things – not just ‘proper
academic things’. E.g. programming filters which ‘adjust’ the view of
the school web pages when selected . . . . E.g. games programs.
We want schools to initiate Computational Thinking, and open
opportunities to all pupils. Of course, over years some pupils will
develop more than others and Cambridge will still be looking to
recruit the best, but we want to raise the standard of all.
[Formal versus Informal Education – see later]
Raspberry Pi 11 InfinIT.dk – 3 Nov 2016
12. UNIVERSITY OF
CAMBRIDGE
Spiral development – both engineering and teaching
• Programmers often talk about the spiral development method –
write a full system with unsophisticated components and
gradually refine these into the final system.
• There’s a danger of over-developing one component prematurely.
• Claim: this also applies to teaching a subject like Computing.
• Teach principles/ideas over detail. E.g. not “the half-dozen
different ways of drawing boxes round things in Microsoft Word”.
• Someone later can teach more detail – but only for students who
find it interesting (e.g. degree level). E.g. modern processor
design as a refinement of ‘fetch-execute cycle’.
Raspberry Pi 12 InfinIT.dk – 3 Nov 2016
13. UNIVERSITY OF
CAMBRIDGE
Primary school (age 5-11) computer education
Spiral development at that age means “a little bit of everything”.
Scratch is good, opening and closing windows are good.
Computers are not always necessary – Tim Bell’s work on “CS
unplugged”. (A sorting network drawn on a school playground.)
Raspberry Pi 13 InfinIT.dk – 3 Nov 2016
14. UNIVERSITY OF
CAMBRIDGE
Some more detailed links
English national curriculum (quite intimidating-for-age unless you
read it very carefully):
• https://www.gov.uk/government/publications/
national-curriculum-in-england-computing-programmes-of-study
A counter-argument to “all kids should learn to code” published in
The Guardian newspaper:
• https://www.theguardian.com/news/2015/dec/03/should-kids-learn-code
Raspberry Pi 14 InfinIT.dk – 3 Nov 2016
15. UNIVERSITY OF
CAMBRIDGE
Structure of this talk
• School-age computing: skills or discipline?
• Raspberry Pi: what and how
• Some applications which have impressed us
• Formal/informal education, raspberry jams
Raspberry Pi 15 InfinIT.dk – 3 Nov 2016
18. UNIVERSITY OF
CAMBRIDGE
Package on Package (PoP)
Two chips mounted on top of each other.
Memory top (left) and SoC bottom (right) as seen from below.
Raspberry Pi 18 InfinIT.dk – 3 Nov 2016
20. UNIVERSITY OF
CAMBRIDGE
Etymology
Pi: from the original plan to make Python the operating system,
shortened to Pi instead of Py (as everyone knows about π).
Raspberry: computers were traditionally named after fruit: Apple,
Acorn [grew into ARM], Apricot, (recent) VIA Banana.
Raspberry has additional subversive/disrespectful/
challenging-of-authority meaning in English (‘blow a raspberry’)!
Raspberry Pi 20 InfinIT.dk – 3 Nov 2016
21. UNIVERSITY OF
CAMBRIDGE
Why the Raspberry Pi?
“It’s just an slightly under-powered computer without a screen, and
anything you can do on it you could do on a laptop”. Yes, but . . .
• . . . it’s cheap, it’s light (45g), you can’t wreck it with software
• access to physical pins
• it changes mindsets
What about Arduino?
• Similar aims, but . . .
• . . . Raspberry Pi runs Linux
Products with similar inspiration: BeagleBoard ($149), OLPC (one
laptop per child), Aakash ($40).
Raspberry Pi 21 InfinIT.dk – 3 Nov 2016
22. UNIVERSITY OF
CAMBRIDGE
More recent competitors
ODroid-X ($129), VIA Banana PC (Android, $49)
“Imitation is the best form of flattery”.
The Raspberry Pi Foundation charitable aim is “to promote the
study of computer science and related topics, especially at school
level, and to put the fun back into learning computing.”
So: if someone starts selling competing kit (e.g. US$10, of half the
size and twice the memory and processor speed as Raspberry Pi)
then this benefits our aims too!
But: we need a significant monoculture to enable code and app re-use.
The genie is out of the bottle – we’ve thrown down the gauntlet for
cheap open computing.
Raspberry Pi 22 InfinIT.dk – 3 Nov 2016
23. UNIVERSITY OF
CAMBRIDGE
The ‘BBC micro’ heritage and Cambridge
[photos source: Wikipedia]
Manufactured by Acorn who later spun out ARM.
Processor 2MHz 8-bit ‘6502’ by MOS Technology
Model A: 16kB RAM (1981 price GBP 235 ≈ $350)
Model B: 32kB RAM (1981 price GBP 335 ≈ $500)
Changed mindsets in a previous generation.
Raspberry Pi 23 InfinIT.dk – 3 Nov 2016
25. UNIVERSITY OF
CAMBRIDGE
Moore’s law (2)
Quoting Wikipedia:
“Moore’s law is a rule of thumb . . . whereby the number of
transistors that can be placed inexpensively on an integrated
circuit doubles approximately every two years”
I.e. twice as powerful every two years. Alternatively:
“For a given design the size of chip needed (and hopefully
the cost) halves every two years”.
So, we can make a chip which has a 2005-state-of-the-art graphics
card and a 700MHz ARM (and 512MB memory) for a very small
number of dollars.
Raspberry Pi 25 InfinIT.dk – 3 Nov 2016
26. UNIVERSITY OF
CAMBRIDGE
$25 computers
The BBC micro was more expensive than $25, but relied on the
existing television for display. Everyone has a TV or a spare monitor.
Eben Upton (then also doing admissions at Cambridge) realised in
2006 that he could make a computer using an Atmel chip for around
$25, using external keyboard and display.
Probably too geeky.
But Moore’s law caught up, and repeat the process with an
ARM-with-graphics-card processor and put Linux on it.
Industry standard.
Raspberry Pi 26 InfinIT.dk – 3 Nov 2016
27. UNIVERSITY OF
CAMBRIDGE
Who would make Raspberry Pi chips?
Remember: fabricating (‘fabbing’) a new chip costs tens of $M.
But: people already had built similar chips for HDTV set-top boxes.
All Linux needed was Upton to convince Broadcom that virtual
memory hardware was just what we needed in a chip . . .
Broadcom have been extremely supportive – and the BCM2835 was
exactly this!
Raspberry Pi 27 InfinIT.dk – 3 Nov 2016
28. UNIVERSITY OF
CAMBRIDGE
What’s happened in hardware terms since 2012?
• Raspberry Pi 2 (BCM2836: 2835 with quad-core Cortex-A7
cluster)
• Raspberry Pi 3 (BCM2837: 2835 with quad-core 64-bit and
SIMD ARMv8 Cortex A53 cluster and Wifi)
• Raspberry Pi Zero: overclocked 2835 for $5 (free with printed
MagPi subscription)
• Compute Module: original Raspberry Pi and flash in a SODIMM
package
• Camera module to connect to CSI-2 port
These continue the alternative reading of Moore’s Law (every year
more for the same price) – guided a fine bit of commercial “find the
holes in the market”.
Raspberry Pi 28 InfinIT.dk – 3 Nov 2016
29. UNIVERSITY OF
CAMBRIDGE
Commercial stuff
We decided to found the Raspberry Pi Foundation as a charity.
• lots of support from various sources who’d have wanted shares if
we were a company.
• synergistic with the University being a charity.
• aggressively drove down the BoM (“bill of materials”) for the
Raspberry Pi hardware.
• Just enough profit margin to get big suppliers (Farnell, RS) to
build and pay royalties to the Foundation.
But: success was even greater than anticipated – demand crashed
their websites.
Would a company have worked as well?
Raspberry Pi 29 InfinIT.dk – 3 Nov 2016
30. UNIVERSITY OF
CAMBRIDGE
Commercial stuff (2)
After a year, we were so successful (one million in 2012/13, 10 million
in 2016) that we split the charity following the Oxfam model:
• an umbrella charity (Raspberry Pi Foundation) –
centred on education
• a wholly owned subsidiary (Raspberry Pi Trading Limited) –
for more commercial stuff
And remember: charity trustees are forbidden from benefiting
financially from the charity (or its subsidiaries).
[Side exam question for MBA people: why do supermarkets only do
“own brand” versions of some products? How does this relate to
Raspberry Pi pricing?]
Raspberry Pi 30 InfinIT.dk – 3 Nov 2016
31. UNIVERSITY OF
CAMBRIDGE
But what now?
Where we are:
• We’ve designed and are delivering cheap hardware.
• There’s a fashion ‘rush’ to get one.
• But what happens next?
• Danger: parents play with it for a few hours (recovering their
lost youth with a BBC Micro) and then it gets put on a shelf.
Luckily, the Government (Gove), Google (Schmidt), and exam boards
have amplified the “Computer Science” theme.
But we need to avoid the “everyone should be a programmer”
boom-and-bust, so need tools which give friendly introduction to
programming (and Computational Thinking) ideas.
Ongoing needs: spreading software and teaching materials.
Raspberry Pi 31 InfinIT.dk – 3 Nov 2016
32. UNIVERSITY OF
CAMBRIDGE
What programming software?
We like:
• Scratch
• Python
But we don’t think suitable:
• C/C++ [too many ways to learn bad habits]. ‘chainsaw’.
Java is OK, but there’s a big learning curve centred around “design
your class hierarchy first”.
Raspberry Pi 32 InfinIT.dk – 3 Nov 2016
33. UNIVERSITY OF
CAMBRIDGE
What user interface?
A desktop-style WIMP (Windows, Icons, Menus, Pointer) is
attractive.
But the BBC-micro-style “BBC Basic is the command line” had an
immediacy – or is this rose-coloured glasses?
The Raspbian installation lets you choose.
Raspberry Pi 33 InfinIT.dk – 3 Nov 2016
34. UNIVERSITY OF
CAMBRIDGE
Students sharing their work
It would be nice to recreate the 1980’s ‘buzz’ whereby students could
write computer games in their bedroom and sell them for a profit.
The Raspberry Pi Foundation’s ‘Pi Store’ store.raspberrypi.com is an
attempt to do this.
“We hope that the Pi Store will provide young people with a
way to share their creations with a wider audience, and
maybe to a make a little pocket money along the way; as
well as offering commercial developers an easy way to get
their software seen by the Raspberry Pi community.”
Money gives kudos to what can be seen a ‘geeky’ activity.
Raspberry Pi 34 InfinIT.dk – 3 Nov 2016
35. UNIVERSITY OF
CAMBRIDGE
Structure of this talk
• School-age computing: skills or discipline?
• Raspberry Pi: what and how
• Some applications which have impressed us
• Formal/informal education, raspberry jams
Raspberry Pi 35 InfinIT.dk – 3 Nov 2016
36. UNIVERSITY OF
CAMBRIDGE
‘In the news’ uses of Raspberry Pi
Astro Pi https://astro-pi.org
Tim Peake took a (space-certified) Raspberry Pi to the ISS.
Weather Station https://www.raspberrypi.org/education/weather-station/
Oracle donated 1,000 to schools in 78 countries.
Raspberry Pi 36 InfinIT.dk – 3 Nov 2016
37. UNIVERSITY OF
CAMBRIDGE
Early neat uses for Raspberry Pi
Android Transporter: http://www.raspberrypi.org/archives/1512
duplicates an Android screen on a HDTV via Wifi:
[photo courtesy of ESR labs]
“Pi in the Sky” (Raspberry Pi in a weather balloon 40km up):
http://www.theregister.co.uk/2012/07/17/pi_ascent/
Raspberry Pi 37 InfinIT.dk – 3 Nov 2016
38. UNIVERSITY OF
CAMBRIDGE
Other neat uses for Raspberry Pi
• OSMC, Kodi (was XMBC). Raspberry Pi as an iPlayer etc.
• data loggers for physics experiments
e.g. http://www.drdaq.com/
• development boards for new products
• Southampton’s “Raspberry Pi supercomputer”
http://www.southampton.ac.uk/∼sjc/raspberrypi/
Other ideas: the Raspberry Pi news stream on raspberrypi.org along
with student-led tutorials from Cambridge’s Computer Laboratory
http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/
The resurgence of popular electronics connected to a Raspberry Pi –
subscribe to the (free) MagPi magazine: https://www.raspberrypi.org/magpi/
Maker movement – e.g. https://www.makerspaces.com
Raspberry Pi 38 InfinIT.dk – 3 Nov 2016
39. UNIVERSITY OF
CAMBRIDGE
Structure of this talk
• School-age computing: skills or discipline?
• Raspberry Pi: what and how
• Some applications which have impressed us
• Formal/informal education, raspberry jams
Raspberry Pi 39 InfinIT.dk – 3 Nov 2016
40. UNIVERSITY OF
CAMBRIDGE
Educational material
Originally, we just thought that “the community” would just create
all the open-source software and all the school lesson materials we
needed. This was naive!
We needed to pay for some software development (e.g. speeding up
the graphics in Scratch).
Similarly, while individual school teachers had nice ideas for lessons
which they could teach themselves, there’s a lot more work turning it
into a course which any other teacher could use.
Raspberry Pi 40 InfinIT.dk – 3 Nov 2016
41. UNIVERSITY OF
CAMBRIDGE
Formal Education
In the UK, the government has (remarkably) agreed that the
‘Computing at Schools’ group (http://www.computingatschool.org.uk/
chaired by Simon Peyton Jones – Microsoft, Haskell) can draft the
new curriculum.
(Be careful what you wish for!)
The new ‘Computing’ curricula will start in 2015 – the discredited
name “ICT” has been excised.
After the curricula have been agreed then we need to have detailed
lesson plans, class materials etc etc.
Simon Peyton Jones recently talked about “Computing at School:
Tackling the ICT Education Crisis in UK Schools” on
http://www.sms.cam.ac.uk/media/1393903
Raspberry Pi 41 InfinIT.dk – 3 Nov 2016
42. UNIVERSITY OF
CAMBRIDGE
Informal Education
What’s really taken off has been the informal (evening/weekend)
computer-interest groups, commonly known as “Raspberry Jams”
and similar “Computing Clubs”.
E.g. http://www.jampi.org/about-jam-pi.html: “Just like in a Music Jam
session, our JAM Pi Clubs are special places. You can hang out, do
your thing, learn what you want at your own pace, develop new
skills, start new projects – in your own sweet time. JAM Pi Clubs
give you a space where you can improvise without sticking to the
‘lesson plan’ ”.
E.g. https://www.codeclub.org.uk/ “A UK network of nearly 5,000
volunteer-led after-school coding clubs for children aged 9–11” (now
part of Raspberry Pi).
See also http://raspberrypi.meetup.com/
Raspberry Pi 42 InfinIT.dk – 3 Nov 2016
43. UNIVERSITY OF
CAMBRIDGE
Collaborators/Supporters
Google in 2012 donated 15,000 Raspberry Pi packs for education.
It also collaborated to release Coder for Raspberry Pi
(“A simple way to make web stuff on Raspberry Pi”)
http://googlecreativelab.github.io/coder
Oracle in 2015 funded 1,000 Raspberry Pi weather stations.
Wolfram Free version of Mathematica
Mojang/Microsoft Free version of Minecraft
Places to keep informed:
The Raspberry Pi Blog and Forums at raspberrypi.org tirelessly
managed by Liz Upton.
MagPi at https://www.raspberrypi.org/magpi/
Raspberry Pi 43 InfinIT.dk – 3 Nov 2016
44. UNIVERSITY OF
CAMBRIDGE
Summary Outcome
We’ve seen
• why we designed the Raspberry Pi
• what it is and how we created it.
• the educational remit.
It’s created a buzz and offers a “do what you want, program on bare
metal” platform.
Thanks to royalties on sales of Raspberry Pi, and donations from
collaborators, we can fund both direct education (e.g. the resources
on the web site, and things like Code Club) and our “Picademy”
CPD course to teach the teachers (motto: “Teach Learn Make”).
See raspberrypi.org
Raspberry Pi 44 InfinIT.dk – 3 Nov 2016