Most helpful positive review
158 of 162 people found the following review helpful
The User Manual That Should Have Come With The Raspberry Pi
on September 6, 2012
This is the official user guide for setting up and using the Raspberry Pi Model B credit card size Linux single-board computer that costs $35 (plus taxes and shipping). The guide was written by Raspberry Pi Foundation co-founder Eben Upton, whose day job is application-specific integrated circuit (ASIC) architect (and general troublemaker, as he states it) for the semiconductor device manufacturer Broadcom. His co-author is self-described freelance technology journalist, writer, programmer, electronics designer, and erstwhile sysadmin Gareth Halfacree, whose writing appears in publications such as "Linux User & Developer", "Custom PC", "Micro Mart", "IT Pro", "Bit-Tech" and "Expert Reviews".
The book properly starts with a short, but fascinating, history of how the Raspberry Pi came to be, starting as an idealist concept and a much simpler (and much less capable) breadboard prototype half a dozen years ago, compared with the real deal. As Eben recounts it, the Foundation gradually realized that they had accidentally and unintentionally promised a $25 ~ $35 computer to over 100,000 very expectant and enthusiastic fans, a bit more than the couple of hundred boards they had originally thought they would just give away to prospective students applying to Cambridge University's computer science curriculum. In less than a year, the Pi went from being just-another seemingly great idea that had a very uncertain but potentially great future, to an astoundingly successful reality, with several hundred thousand manufactured and delivered so far, to what are by all accounts highly-satisfied customers.
The book then gets down to the nitty-gritty of how to connect the board to the necessary (and not included) power supply, USB keyboard and optional mouse, HDMI display, and optional wired Ethernet and audio system hardware. Instructions are also provided for creating a bootable SD memory card on a Linux/Windows/Mac desktop or laptop computer that contains the recommended Debian Linux operating system and user files. A subsequent entire chapter describes the basics of the Linux OS, how to administer the system at a fundamental level and, most importantly, how to obtain the most up-to-date version of the OS, which will require a wired Ethernet connection. WiFi networking is possible with the Pi, but not fully detailed in this chapter - it is discussed in more depth in the network configuration chapter. Another full chapter describes how to troubleshoot the keyboard and mouse, power issues, boot-up problems, and network connection gremlins.
The chapters in the second part of the book discuss wired and wireless network configuration, SD card storage partition management, configuring the Pi hardware via config.txt, start.elf, and cmdline.txt boot-time files. Then, additional chapters describe how to set up the Pi as a Home Theatre PC (HTPC) for playing music and video from files or over the Internet, to use it as a productivity using freeware such as OpenOffice and the Gimp image editor, configuring the Pi as a web server using a Linux/Apache/MySQL/PHP (LAMP) software stack, and installing WordPress to create your own blogging server.
In the third part of the book, the authors get down to what the Pi was originally developed for: teaching software programming. The first examples demonstrate how to use the very child-friendly MIT Scratch to create the canonical Hello World program, in addition to simple animation and sound, game, and robotics sensor programs. The lessons then shift to the much more capable and more complex Python language, showing another Hello World example, then how to handle comments, inputs, variables, and loops. It ends with how to use the pygame code library to develop much more sophisticated games than can be accomplished with Scratch.
Additional chapters cover hardware interfacing with the Pi board via the built-in General Purpose Input/Output (GPIO) port to access the Universal Asynchronous Receiver-Transmitter (UART) serial bus, Inter-Integrated Circuit (I²C) bus, and the Serial Peripheral Interface (SPI) bus. How to access the GPIO port via Python is discussed in detail, complete with code examples for how to flash an LED and read whether a pushbutton is being pressed. A valuable brief guide to soldering is included for budding hardware hackers, followed by descriptions of the Ciseco Slice of Pi, Adafruit Prototyping Pi Plate, and Gert van Loo's wonderful Fen Logic Gertboard. The book ends with appendices containing Python code examples (also available by download from the publisher's web site) and the HDMI display modes that can be set via the boot-up configuration files.
The book reads very well for beginners who are the target audience, and none-too-soon. The geeks have been spewing techno-jargon on the RaspberryPi.org forums and eLinux.org wiki for many, many months, even well before the Pi was even available to the general public. The best thing about the book is that it brings together in one place all of the information that novices need to know in a form that can actually be understood by mere mortals. The fact that it's written by the principal designer of the Pi with education experience and a published personal computing author and journalist goes a long way to making that possible. Other tech authors might be too tempted to jump off into the deep end of the technical pool more quickly than would be warranted.
I was particularly impressed with Chapter 12: "Hardware Hacking", for its very complete and clear descriptions of the Pi GPIO port, add-on hardware options, and how to wire everything together and program the Pi to interact with an LED and a pushbutton. Especially appreciated is the several pages dedicated to both on-line and retail sources for the add-on components, including solderless prototyping breadboards and the individual parts such as LEDs, resistors, pushbuttons, etc. A couple of pages are also spent just to describe how to read the colo(u)r codes on resistors, and a complete list of the tools and materials needed to perform soldering are provided as part of the soldering guide. Another whole page provides the details on how to calculate the proper resistor values to limit the current flowing through an LED for various voltages - this kind of detail often slips through the cracks in such books.
The full Kindle e-book cost me a "whopping" whole $6.60 and I'm a 1970s era veteran of when men were men and computers were made of iron. So, I'm definitely not in the target audience, but even I found enough tiny new details that I'd still missed despite reading tens of thousands of forum and wiki posts, that the price of the e-book has to be the best bargain in tech writing that I can think of in an extremely large number of years. As I understand it, the Raspberry Pi Foundation benefits from the profits for the book, as it does from sales of each Pi board. As far as I'm concerned, they could have charged ten times the price for the book and it would still be a complete bargain. I haven't checked every single detail in the book, yet, but, I didn't see any glaring errors. Yet, I'm one of those people to whom even any misspelling stands out like a geek on the runway at a Paris fashion show, and I don't mean at the airport. Those who know me at all are aware of my persnickety nature, and I really tried to find problems in this book, but I have to say that's a pretty tall order.
No one has any excuse now for not learning computer science fundamentals with a Pi, thanks to this book. Just go spend about $50 for this book and a Pi and you'll be much better off than consuming the equivalent cost in a week's worth of froo-froo caffeine beverages - five very broad smilies from this admitted SillyCon Valley curmudgeon!