Learn Robotics with Raspberry Pi - Book Review

I live right next to a community library that is really good about lending books out to people during this pandemic. You can even text them about picking up your books - for those of you, like me, who’d rather text, than call, a stranger. We hadn’t picked up our books in a while so I set up a time on Friday for my girlfriend to go and pick up our books. It was 12 pm. Around 3:40, my girlfriend bursts into the room where I was working, “THE BOOKS!”. It was a crisis. A full blown meltdown. She ran to the library and came back with one book that she picked out for herself. I found it on the coffee table and read it in less than 24 hours: Learn Robotics with Raspberry Pi.
It is a book aimed at children who are interested in learning the basics of robotics. What that says about me, I’m not sure. I read it as an semi-experienced Python user, skipping through some of the stuff like setting up Raspbian and instead focused on areas where my expertise of the basics was thin.
The author is a professional who runs TheRaspberryPiGuy Youtube channel so it was nice to read his organized thoughts on the basics to hear a well put together map of how think about the Raspberry Pi ecosystem.
I particularly liked reviewing the section on electricity which is followed by a simple to understand explanation of various electronic components (dc motors, motor controllers, ultrasonic sensors, buck converters, etc.). Every explanation is straightforward, practical, and complete to fully understand the component or concept, but not unnecessarily in-depth - the information is perfect to build the projects and keep first-time learners excited about STEM concepts.
He uses GPIOzero in all of his code which is great because 1) it’s an official Raspberry Pi supported GPIO library and 2) makes working with the GPIO pins easily understandable in context of the hardware that you’re working with. Many online tutorials use RPI.GPIO, which works well, but is not as intuitive. He gives explanations of nearly every line of code. I learned of some new classes in GPIOzero from him. He has all the code that you need already written and accessible if you’re having trouble copying from the book, but definitely encourages writing it yourself. After each section of code, he has a section on troubleshooting various issues you may encounter and walks you through the fixes step by step.
The computer vision project really intrigued me and is where I want to get started myself. It uses the official RPi camera to make the robot follow a colored ball. This project, and it’s explanation, are a really good way to get started thinking about controlling a robot with computer vision. It’s complex but it is one of the main methods Tesla uses in it’s autopilot.
One of my favorite projects, other than the computer vision project, is the use of a Wii remote to control the robot. It’s something I’m thinking of doing for my robot since it’s so easy but, because of the sensors in the Wii remote, has a lot of capability. The logic that he used to control the robot with the Wii remote is clever and uses extremely simple math and is robust. However, he is not shy about introducing semi-advanced topics but does it in a friendly and positive way. I only recognized a single time in the book where he referred to anything as hard or scary - that was about a connection error with the RPi camera. This book promotes an attitude and a belief that the reader of the book is capable of understanding all concepts and finishing all projects.
Thank you Matt Timmons-Brown.