Raspberry Pi's flexibility and openness is spawning a host of useful apps, making it a great educational tool for the less-than-young as well as for school kids.
Risc OS Pi
free or £10
Not all Pi operating systems are Linux variants. Raspberry Pi is in many ways an ideal platform for Risc OS - as the name of its ARM chip implies,'it'is a descendant of the Acorn RISC Machine that powered the Acorn Archimedes. But this isn't just for those who remember the Archimedes, or who want to play with 32-bit RISC-based software that was years ahead of'its contemporaries when it came out in 1987. It should also interest anyone who wants to experiment with a very non-mainstream way of computing.
Risc OS Pi boots remarkably quickly into the desktop, and then, once you start trying to do things you realise that, while it superficially resembles other graphical desktops such as MacOS and Microsoft Windows,'it is quite unlike them in how it works. Where the Mac mouse originally had one button and the Windows mouse two, RiscOS was designed to use three, for instance, and along with multiple ways of clicking, it makes clever use of contextual - and detachable - menus. It's faster and more predictable too, using cooperative rather that preemptive multitasking.
It gives a taste of just how different the modern PC could have been if Acorn hadn't been steamrollered by Silicon Valley, and it throws the'likes of Microsoft Office's ribbon bar and Ubuntu's Mac-inspired Unity dock into sharp contrast.
Risc OS is more than just a lesson in what might have been, though. There is a wide range of real software available for it, both freeware and commercial; there is even an Atari ST emulator, for those who remember that piece of history too. Risc OS also comes with a version of BBC BASIC, which was probably the most widely known programming language in the UK in the 1980s.
Imperial College Robotics Society
Pi makes it easy to add hardware, and you don't have to add a lot in order to make new things happen. In this case, all it needs is a piece of wire as an aerial to turn your Pi into an FM radio transmitter.
The program is written partly in C and partly in Python, and must be run from the command line. In the program's current state, the music needs to be a 16-bit mono file in WAV format, which is easy enough to generate once you set the right switches on your audio software - we used Mpg123 for Linux.
PiFm works by modulating the Pi's clock, which outputs on pin 4 of the GPIO bus - this is the long two-row connector on the Pi circuit board. We looked up the GPIO pin-out online to make sure, and used the first piece of wire we found, which was a bag-tie about 8cm long. Without this its range was just a few centimetres, but with the aerial it was several tens of metres, and longer aerial (20cm is suggested) should give even better range.
It did produce quite a bit of background noise when the volume was low or nothing was playing; by accident we found that laying a metal ruler next to the aerial reduced this considerably, without reducing the music volume.
PiFm is still very much a technology demonstration - it is "left as an exercise for the reader", if you like. The code is written in C and Python and is currently pretty basic, with more work needed to add stereo support, and at present it is not exactly user-friendly, so that could be worked on too. Is it fun and educational, though? Absolutely.
Real Time Logic
free or $29
Raspberry Pi makes a decent microserver for home and remote tasks. If you don't want to roll your own from the available open-source packages, a useful all-in-one substitute that is free for personal use is BarracudaDrive. This is quite a bit more than just the fileserver that its name suggests: it also includes a webserver, forum and mailing list servers, and VPN functionality.
The main part is the fileserver though, and the ability to access it from anywhere, even over the Internet, and from pretty much any device, including smartphones. You can either access it through a Web browser or mount it as a WebDav drive, in which case it works like a local drive.
Accessing a home server remotely can be challenging. That's because home routers are typically set up to block external access and typically have only a dynamic IP address, so you can't be sure what address to log into. BarracudaDrive helps with both of these though: it can automatically configure port forwarding on modern routers to allow appropriately limited external access, and it walks you through setting up a Dynamic DNS client on the Pi which keeps your Internet address up to date.