Preface
The Raspberry Pi is an affordable, credit card-sized computer developed by the Raspberry Pi Foundation as a response to the decline in the number of applicants for computer science courses at the University of Cambridge. Eben Upton, the founder of the Raspberry Pi Foundation, believes that the current generation of children do not have as many opportunities to discover their interests in programming as his did. His generation grew up with computers such as the BBC Micro, Commodore 64, and the ZX Spectrum, all of which booted into a programming environment. The current generation of devices, on the other hand, is geared towards consuming content, rather than creating it. Although the Raspberry Pi makes an excellent home theater computer and retro gaming device, it is primarily designed to be a tool to learn programming. For this reason, the Foundation provides a version of the Raspbian operating system with preinstalled development tools and learning material, making it easy to get started.
When the Raspberry Pi was launched, it showed itself to be more popular than the designers could have imagined as the ten thousand units that were manufactured were sold out within minutes and the distributor websites were brought down by the unexpected load on their servers. In the first year, the Raspberry Pi Foundation has sold over a million units and attracted a community of hackers and makers passionate about teaching and learning. This includes the official forum (accessible at http://www.raspberrypi.org/forums/), where you can ask questions or share your project; the IRC channel on Freenode, where you can chat and get live support; the wiki hosted by eLinux (accessible at http://elinux.org/RPi_Hub), where you can find tutorials; and all the information you need to get started and the plethora of other websites dedicated to add-ons and accessories for the Raspberry Pi.
The Raspberry Pi may seem like a replacement for a low-end desktop, and the powerful GPU makes it a handy media center capable of playing HD videos. However, its true value comes from its flexibility. The General Purpose Input/Output (GPIO) pins allow the Raspberry Pi to be used for a wide variety of applications. Home automation, weather stations, industrial control, robotics, arcade gaming cabinets, and quadcopters are just some of the possibilities.
As a constant stream of exciting projects built around the Raspberry Pi surfaces all over the Internet, you may find yourself getting interested in seeing what you can do with your Raspberry Pi. This book aims to provide all of the tools you will need to turn an idea into a working prototype.