He peeks at some of the most
imaginative and original uses for the tiny, lightweight personal computer.
The Raspberry Pi has turned out to be a
terrific success. Despite minimal third party software support and manufacturing
delays, it remains a bestseller, with buyers waiting weeks to receive their
orders as production is ramped up to meet demand. Over the following pages, we
discover exactly what people are doing with all these Pis and explore what
future revisions may bring.
1. The Raspberry Pi supercomputer
As a computer, the Raspberry Pi itself is
hardly the equal of the average desktop or laptop, yet some buyers have been
investigating its suitability for high performance computing if only as an
educational exercise. Professor Simon Cox of the University of Southampton, in
partnership with fellow computational engineers and his six year old son,
recently unveiled the first large scale supercomputer cluster to be constructed
entirely from Raspberry Pi hardware.
Professor
Cox and his son with a cluster of Pis that link together to form a supercompute
“As soon as we were able to source
sufficient Raspberry Pi computers, we wanted to see if it was possible to link
them together into a supercomputer,” explains Cox. “We installed and built all
of the necessary software on the Pi, starting from a standard Debian ‘Wheezy’
system image, and we’ve now published a guide so that you can build your own
supercomputer.”
At a cost of $3,750, the system boasts 64
nodes, 16GB of memory, 1TB of SD card storage and a Lego chassis. While its
performance lags behind that of traditional supercomputers, Cox’s creation
provides a low cost platform for experimenting with computing cluster
technology something that normally requires a hefty server environment and
software simulation.
2. Translation goggles
Wearable computing has been “just around
the corner” for decades now, but beyond the odd bulky wristwatch, little usable
technology has hit the open market. Google’s Project Glass is due to appear in
shops sometime next year, but for now the Pi is helping to fill the gap thanks
to its small size, light weight and low power draw so low it will run for hours
from a cheap lithium ion battery.
The most impressive wearable Pi effort so
far has to be Will Powell’s project, which turns two Raspberry Pi systems and a
pair of digital glasses into the closest thing the world has seen to the
universal translator of Star Trek fame. Combining a Vuzix STAR 1200 wearable
display and a Jawbone Bluetooth microphone Pi, the system performs on the fly
voice recognition and translation through Microsoft’s publicly accessible
application programming interface (API).
“I can have a conversation with Elizabeth,
who speaks Spanish to me and I return with English,” explains Powell. “I have
never learnt Spanish, but using the glasses I can have a full conversation.”
3. Solar-powered distributed computing
Another area where the Pi’s low power
demands are proving popular is distributed computing. Through projects such as
Folding@home and SETI@home, computer users across the world have for years been
contributing spare processor cycles to create a powerful supercomputer.
Inevitably, those cycles have come at a cost of increased energy usage.
The Raspberry Pi, however, can run from a
solar panel, giving distributed computing fans a means of contributing
environmentally friendly processing power to their favourite projects. The
business of attaching a solar panel isn’t particularly challenging, and Andrew
Back has tackled the other half of the equation by porting the Berkeley Open
Infrastructure for Network Computing (BOINC) distributed computing client to
the Pi’s ARMv6 instruction set.
“The idea of a self-contained, solar powered
BOINC appliance is attractive,” Back writes of his experiments, “as it would
not only address concerns over energy consumption but could take a novel and
even decorative form, perhaps with a small E Ink screen to display computation
statistics.”
Details on how to install BOINC on the
Raspberry Pi, and how to set up the SETI@home client, which analyses radio
telescope data for signs of alien intelligence.
4. Musical instruments
Electronic synthesisers are incredibly
versatile instruments, but they’re frequently priced at the top end of most
amateurs’ bank balances. Given a little extra hardware and some clever
software, however, a Raspberry Pi can be turned into just such a device and
that’s exactly what the Piana project aims to do.
Taking its name from a portmanteau of “Pi”
and “analogue”, the project aims to create a MIDI-addressable software-based
analogue synthesiser along the lines of the popular Moog Slim Phatty, with up
to eight voices and an OpenGL ES-accelerated user interface that includes a
live oscilloscope and adjustable component connections.
The
Piana project turns the Raspberry Pi into an analogue synthesizer
“All this oscillators being alias managed,
bonkers modulation, Moogy roll-off filters, GPU[-powered GUI] interface with
tons of oscilloscope vertices bouncing around in real time all of this runs on
a stock 700MHz Raspberry Pi,” project founder Omenie explains of his creation.
Piana is already capable of some impressive
effects but it isn’t the only effort to turn the Pi into a synthesiser: others
are working to port the open source Pd software synthesiser to the Pi’s ARM
processor.
Marine robotics with the FishPi
The general-purpose input output (GPIO)
port on the Pi provides an easy means of interfacing with external hardware,
and for many technical types that spells “robotics”. Several small scale
projects have seen the Pi mated to off the shelf remote control cars and the
like, but the FishPi project goes a step further in its aims.
The brainchild of Greg Holloway, FishPi
looks to create a fully autonomous marine surface vehicle capable of crossing
the Atlantic Ocean without human intervention. As well as making heavy use of
the Raspberry Pi’s inter-integrated circuit (I²C) connectivity for the
electronic speed controller, servo controller, GPS and electronic compass, the
FishPi takes advantage of the Pi’s low power draw in order to run the entire
system from a solar panel.
It’s
still in the early stages, but Greg Holloway is hoping to develop his FishPi
into an autonomous marine surface vehicle, able to perform tasks such as environmental
monitoring
The intention is eventually to produce a
kit that will allow anyone to turn a Pi into a fully autonomous marine vehicle
for purposes including environmental monitoring, detailed mapping, development
of autonomous navigation systems and, as Holloway himself puts it, just
“something to geek out to”.
The FishPi project is still very much at
the early stages of development, with Holloway actively seeking input on its
development and production through the official website at www.fishpi.org.
5. Bare-metal programming
The processor at the heart of the Raspberry
Pi, a Broadcom BCM2835 system on a chip, is certainly slower than a desktop
processor, but being a Reduced Instruction Set Computing (RISC) chip it’s also
more accessible for beginners to the subject. Taking advantage of this fact,
the University of Cambridge located conveniently close to the Raspberry Pi
Foundation’s headquarters has launched a free online course dubbed Baking Pi,
designed to teach anyone how to program an operating system from scratch in
assembly language.
Although the example operating system
components used in the course, created by Alex Chadwick, aren’t going to rival
Windows 8, it’s a useful starting point for learning assembler.
A
close up of the Broadcom BCM2835 system on a chip at the heart of the board.
“I have tried not to assume any prior
knowledge of operating systems development or assembly code,” Chadwick explains
in his course introduction; he warns that “it may be helpful to have some
programming experience, but the course should be accessible without.”
For those who have been thinking of
dabbling in assembler for a while, perhaps after working with higher-level
languages such as C and .NET, the free course provides a great introduction and
the lessons learned can be quickly applied to developing software for the Pi
and for other ARM-based devices such as smartphones and tablets.