Issue 3

July 2012


Welcome to Issue 3 of The MagPi, a community led magazine keeping you up to date with all things Raspberry Pi.

This month has seen the team working hard searching and testing 9000 stable Debian packages, and identifying over 150 games and 43 apps to try out on your Pi.

Meltwater introduces his article “Meeting Pi”, offering ideas and tips on introducing the Raspberry Pi to users of very young ages.  We feature an article on low level programming using C and Alex Kerr has produced his article “Programming fundamentals” describing how to use variables, “If” statements and loops.

Bodge N Hackitt continues his series, explaining how to program the USB robotic arm using Python.  Darren teaches us more on interfacing with the Pi, plus more from the reader’s favourites – Command line, Scratch Patch and the Python Pit.

An email that caught my eye this month
was  from Cayton-John, aged 7, reading up
on the first edition of the MagPi.

Could this be our youngest reader?

If you have photos reading our magazine,
please send them to

On behalf of The MagPi team we want to thank Will Bengtson and his team at QRt for giving us our beautiful, personal The MagPi QR code.  Please check out their site at and see their clever generator and other attractive work.

Finally, keep your questions for Liz and Eben coming in and look for our official interview in next month’s magazine.

We hope you continue to enjoy reading The MagPi and that it
inspires you to get programming.

Ash Stone

Chief Editor of The MagPi

This issue is supported by:

Issue Contents

  1. Getting your Raspberry Pi to autoboot to LXDE without login

    If you are tired of logging in to your Debian SD card with username: pi, password: raspberry and then typing startx, you can get your Raspberry Pi to boot straight to the graphical interface without having to type anything… After … Continued3
  2. Debian Essentials for your Raspberry Pi

    These procedures were tested with debian6-19-04-2012.img. Get the latest from (You will need to have your Pi connected to the internet.) Removing the black border from around the screen This step is only required if you are finding a … Continued4
  3. In Control: GPIO Outputs

    In the first part of this series we looked at using the Raspberry Pi GPIO port as an input to monitor the status of a switch. In this part we learn about outputs. We use the term INPUT to refer … Continued7
  4. Command Line Clinic: Linux commands

    In this issue, we will explain why Linux commands behave the way they do. We will also explore how to join commands together as building blocks to do some useful things.10
  5. Skutter: How to write a program for your USB device

    Installing Python PyUSB libraries To be able to control your USB device you will need the Python PyUSB libraries.  The PyUSB libraries have been written in collaboration with a team of ‘open-source’ volunteers. To download them, open the Midori web … Continued14
  6. To protect and serve your Raspberry Pi

    This article will describe a cheap way to protect your GPIO connector from accidental shorts and physical damage, and at the same time provide a GPIO socket which can be easily connected, at almost no cost.16
  7. Meeting Pi

    At age 5 to 6 I was fortunate to have access to a ZXSpectrum 48+...a passion for electronics and resulting career was the end result. Many years later, the Raspberry Pi is waiting to inspire the next generation of engineers.20
  8. The C Cave

    C is an excellent language for building fast and very efficient programs. It can be found in applications where speed and memory footprint matter, such as the Linux kernel and data acquisition systems.22
  9. The Scratch Patch 2

    In this article, I'm going to show you a few programs to try in Scratch. Have a play around with them until you are familiar with how to use variables, conditionals and loops. With these basic programming tools, there's a huge amount you can do!24
  10. The Python Pit – overlaying surfaces on the screen

    This month we will look at overlaying more surfaces on top of the screen surface. You can think of each surface as being a separate window within the main screen surface. Don't worry if this sounds complicated, the following examples should help to demonstrate the principle.26
  11. Programming Fundamentals

    Although there are many programming languages, a lot of it is just different ways to do the same thing; much like spoken languages all have different ways of saying “Hello, how are you?”. They all mean the same thing once translated, but they’re said differently. This section aims to explain some of the basic fundamentals of programming that are useful to know for every language.29