Author: Sean McManus & Mike Cook
Reviewer: Harry Fairhead
Raspberry Pi is aimed at getting beginners started with creating things using a computer. A dummies book might be a good place to start.
Dummies books follow a fairly standard approach to their subject but this particular book isn't really a good example of its type as it has a tendency to change levels.
For most users the Raspberry Pi is a standard Linux computer with some special hardware features - and as such you need an introduction to both using a computer and Linux before you can move on to exploring its special features and benefits.
Part I of this book explains what the Pi is, how to get an OS, and connecting it up. It takes a minimalist approach in that while it might mention that there are other operating systems it tells you about getting and installing Raspbian and the rest of the book more or less focuses on this OS.
Part II is called getting started with Linux. It is customized with Raspbian screen dumps but essentially its about Linux. The first chapter walks you though using the desktop environment and the second deals with the Linux shell or command line. It covers the basics of copying files, deleting files and so on.
Part III is supposedly about using the Pi for work and play but it really is just a generic look at applications that run on Linux. We have a chapter on using LibreOffice, a chapter on using Gimp and one on creating a web page. The chapter on creating a web page isn't, as you might think, about using the Pi as a web server but an explanation of how HTML and CSS works. This is just filler material and has nothing much to do with using a Pi.
The final chapter of the section, Chapter 9, is much more interesting and explains how to use Raspbmc to turn a Pi into a media center. It is a very basic intro to playing music, videos and photos and it more or less skips anything interesting like how to setup and use a remote control - fairly essential for a media center.
Part IV is about programming the Pi using Python and Pygame and Scratch. These serve no more than tasters with the chapter on Scratch being the most useful - it's an easy to use language and makes it easy to create something impressive. You can tell the difference when you meet the first Python chapter and discover that you are back at the command line typing in programs that do multiplication. The next chapter moves on to Pygame and how to create a bat and ball type program, which is more motivating.
The Pi was created with the idea of teaching people to program but the three chapters in Part IV probably aren't going to get anyone very far. For a complete beginner the chapters on Python might even put them off for life because they go a long way in a few pages.
Part V is about electronics and the Pi. This is probably the best part of the book, but of course, only if you are interested in using the Pi for electronics. The reason it is good is that it doesn't try to avoid the subject of electronics and the basic laws of electricity. However, it doesn't take the easy route of using jumper wires and prototyping board for the actual construction - its soldering iron time.
It starts off with a look at Ohms law, explains basic circuits and components and then explains what the GPIO is. It really does a good job on explaining the difference between current sourcing and sinking drivers and pull up and pull down resistors. The final part of the chapter deals with soldering - so no breadboards for us.
Chapter 15 describes an ambitious project for the complete beginner - a Blastoff game complete with wooden case. It explains the GPIO connector and shows how to make a ribbon cable and your own breakout board using screw terminals. This is a lot of work and very error prone. The beginner would be better buying a breakout connector and a prototyping board. Next we are into some wood work that some might consider "advanced". It is a shame that I have to have reservations like this, but today things have to be easy or you risk losing your reader.
Chapter 16 has a much easier game to construct using LEDs and switches - but again build onto vero board rather than prototyped. Chapter 17 interfaces the Pi to an analog chip - AtoD and DtoA. Again this is wired on a vero board and as such isn't as easy as say building a pre-made PCB. There are a number of small projects at the end that make use of the analog inputs.
Overall I liked the hardware part of the book, but you have to really want to do electronics and be willing to get your fingers burned and break some components to follow this introduction. If you do, then you will understand more than most book length introductions provide with prototype layouts and off-the-shelf modules.
The final part,a single chapter, just lists ten great software packages for the Pi - well for any Linux machine.
Overall this is a very patchy book. The level keeps on changing and for the most part it isn't really about the Pi but a general Linux book that happens to use a Pi as its example. Of course the Pi is a Linux machine and so this is what many books have to do, but there are specifically Pi related problems. For example, there is no mention of setting up WiFi on the Pi, nothing about remote access SSH or VNC. You also don't get any mention of the model A and its particular problems - i.e. no network connector and only one USB port. There is also nothing about troubleshooting despite the fact that the Pi has some very common problems like the SD card not fitting in the connector or just using the wrong type of SD card.
The best part of the book is the hardware section, but this uses projects that are a bit too ambitious for the complete beginner.
If you need a book to hold your hand while starting to work with the Pi, or to just suggest the sorts of things it can do, then it might be useful - but the chapters on using LibreOffice, Gimp, Python and Pygame aren't really going to help.