I’m a fan of Lego robotics. I’ve written over half a dozen books on the Lego Mindstorms NXT robotic system, and tinkering and prototyping with the NXT just never gets old. (And there’s a NEW system coming out later this year — EV3 — that I cannot wait to get my hands on!) The same goes for the Arduino microcontroller. Once I started diving deeper into the electronics hobby and discovered the Arduino, all sorts of projects started developing in my head. Unfortunately, the NXT hobby and the Arduino hobby have been kept in their own separate sandboxes in my office. It’s not that they can’t get along… it’s just that I haven’t really spent much time investigating how best to combine these two hobbies.
Thankfully, the investigation has been done by someone else, leaving me more time to play and experiment. GeekDad’s very own John Baicthal has joined Matthew Beckler and Adam Wolf (co-founders of Wayne and Layne) to release Make: Lego and Arduino Projects. Just like other Make: books, it’s a high-quality, full-color book that lays flat and looks great. It’s part of the Learn by Discovery series, and it contains a straightforward introduction to combining NXT robotics with the Arduino using a mix of projects (six in all) and easy-to-understand discussions on a variety of topics that include the basics of electronics, a breakdown of the NXT and Arduino systems, and advanced building and programming techniques.
The book doesn’t dawdle… Chapter 1 starts you right up with the Drawbot project. It’s a mix of Lego parts that include some beams and motors as well as an Arduino Uno and a special shield (used to allow the Arduino to use the NXT set’s motors and sensors). All projects start out with a simple description of the device and then provide a detailed Parts List so you’ll know exactly what you need to assemble in terms of electronics components and other miscellaneous parts (such as a clothespin to hold a marker that the Drawbot will use to draw random sketches on a piece of paper).
Numerous sidebars provide additional information on topics that are introduced in the various chapters. For example, in Chapter 1 there’s a brief sidebar that talks about the special Bricktronics shield that is needed for most of the projects in the book. This shield is purchased from Wayne and Layne and soldered together to create the bridge between NXT motors and sensors and the Arduino microcontroller. Once you’ve got the Bricktronics shield assembled, merging an Arduino with the NXT components is possible.
In addition to the electronics Parts List, you’ll also find the Lego Elements List — this is a lettered list that matches up to a visual figure for each project, making it easier to find the Lego pieces you’ll be using. I’m including an example here so you can see just how well the book documents all the parts you’ll need from the NXT set.
After you’ve assembled all the components, it’s time to build. As you can see in a sample image here from the book, there are full-color instructions provided for every project. The images use the color green to indicate new components that are added to an existing assembly; this makes it easy to see what parts are needed next and where those parts are inserted/connected. If you follow the steps carefully, you’ll end up with a device that has a mix of Lego pieces and non-Lego pieces. There are some non-Lego pieces that are used to make a more solid connection to Lego beams and parts; these can be purchased from Wayne and Layne or you can download the files to print your own with a 3D printer or cut them out with a laser cutter.
Once you’ve got the gadget built, it’s time to attach the Arduino/Bricktronics Shield and non-Lego parts and wire it all up. Fortunately the wiring up of the Arduino to the other electronics components is super-simple. There’s always a full-color image showing you what wires go where… and everything is labeled. Because the Bricktronics shield is attached physically to the Arduino, most all of the wiring is done directly to the Bricktronics shield with the exception of power and a USB cable used to upload a gadget’s programming.
Speaking of programming, that’s another thing you’ll love about this book. Often programming books use a bit of commenting and a few paragraphs to explain exactly what’s going on in an Arduino sketch. (A sketch is another term for program.) Here, you get the complete sketch used to control a gadget, but the authors have used a series of lettered-bullets for sections of the program and then each of those sections gets a brief explanation of what’s going on. You’re not going to get a complete education on programming the Arduino (there are other books out there for that), but what you will get is a fast summary of either tricky parts of the program or a reason for using a specific reserved command.
If you’d rather not type in the programming for the projects, you can easily download them from a URL that’s provided. This can save you some time (and headaches) if you’re not really interested in the programming aspect of a project. That said, I still encourage you to take a read so you’ll understand how the program works as well as how to modify it.
What are the projects included in the book? Well, I mentioned the Drawbot, but there’s also a clock (with Lego parts for hands), a Chocolate Milk Mixer (a pump actually moves milk and chocolate syrup into a cup to be mixed by a motor), a Gripperbot (wirelessly control a gripper robot using hand-held controls!), the Keytar (press buttons to make sounds on a guitar-shaped synthesizer), and a Lamp (but not just any lamp — a mobile phone–controlled lamp). Scattered around the book to break up the various projects are a number of other chapters that cover shields, electronic theory, the NXT system, and other topics.
Throughout the book, however, the reader isn’t just learning how to interface the Bricktronics shield with NXT motors and sensors. Readers will learn about ICs, non-NXT sensors such as thermistors, accelerometers, and force-sensitive resistors, and other devices such as the XBee wireless modules. Push buttons, piezo buzzers, and motors make up just a few more of the numerous electronics components that are discussed and used in the book. I mentioned earlier that a person would need to spend a lot of time investigating the proper melding of the Arduino and NXT electronics, but this team has done all the hard work for you and wrapped it up with numerous cautions and alerts to keep you from damaging your valuable components.
I don’t have an estimate on the costs for all the various components used in the book; the Bricktronics shield is $35.00 unassembled, but most components are going to be between $0.25 and $10.00 (my estimate). It does appear that Wayne and Layne have packaged up all the components you’ll need to build the Drawbot
, so there may be plans to source all the components for the other projects in the book and sell them in pre-packaged kits as well. Learning electronics is not the cheapest hobby, so I just want you to be warned and approach these projects knowing you’ll be buying some non-Lego parts that don’t come in the NXT kit.
As I said earlier, this is a great addition to the growing Learn by Discovery series. If you’re not familiar with Make: magazine or its blog, makezine.com, you’ll want to check those out. You’ll find a mix of projects for kids and adults… with most falling somewhere in the middle and offering great little projects for parent/child tinkering. Add this book to that category — while adults will enjoy the projects, kids are going to love them, too. If you’ve got a child with an NXT robotics kit who has pushed it aside, this may very well be the best solution to re-ignite that fire and give him or her some additional hands-on activities to explore.
Note: I’d like to thank John, Matthew, and Adam for providing both the book and the Bricktronics shield. I’ve got my Bricktronics shield soldered up and am going to be tackling the Grabberbot first because I’ve got a couple XBee components sitting idle.