Most Helpful Customer Reviews on Amazon.com (beta)
49 of 52 people found the following review helpful
Interesting projects, but a lot of problemsFeb. 14 2012
- Published on Amazon.com
PROS Interesting projects Four ways to interface Android to Arduino Good step-by-step instructions for building hardware
CONS No explanation for Android app code Three of four interface styles require a wire connection between Arduino and Android Inadequate explanation of workings of the overall project
The projects in this book are more interesting than the predecessor, 30 Arduino Projects for the Evil Genius. Part 1 of the book has an assortment of interesting Android+Arduino projects on a variety of subjects. Part 2 is dedicated to home automation. I have the sense that the book was originally going to be dedicated to home automation, because one of the chapters in the home automation section refers to Chapter 7 as Chapter 1. For a full list of projects with a brief description, visit the book's site at [...] (change "spot" to "." and don't forget the www or it won't work).
The most valuable thing about this book is four useful interfaces that allow an Android device to control an Arduino. They are: bluetooth, wired USB, wired sound port (you don't actually hear it), and wired ethernet. Realistically, Android as a controller is best in wireless form, and only the bluetooth interface does that. A TV Remote design that requires plugging the Arduino into the Android via a USB cable is just clunky. The author could have presented Wifi and Zigbee, both of which are wireless and should work with most Android tablets and Arduinos with additional hardware; Zigbee requires an IOIO plug-in for the Android.
Another valuable idea in this book is how to add an Arduino processor to a USB host controller shield that has a prototyping area (such as SparkFun's USB Host Shield). Using it requires moving the processor to a full Arduino board temporarily to program it, but has the benefit of access to USB slave devices and low cost. This device is used in four of the projects.
All projects focus on stepwise instructions for building the hardware, including photos, and they are good as far as they go. This is handy if you cannot read schematics.
For all projects, there are three key areas of technology to learn: Arduino hardware and ancillary components; Arduino software; and Android app software. My goal is to learn how to design projects using the interface ideas, not necessarily to build these projects in particular. But the explanations of how any project works are brief, and mainly discuss how to build the Arduino hardware, not much about how it works. A little about the Arduino software is discussed. There is no explanation for Android app code at all, contrary to what the Introduction says on page xvii.
In theory, all explanations for how the project works should be found in the Theory section. In practice, essential details are scattered around various other sections, or are missing. I am experienced both in hardware and software yet struggled at times to make sense of the works as a whole. Sometimes there is an overview of how it works, but not always.
I had trouble finding instructions on using a required library for the project in Chapter 1. Instead of telling you in the part of Chapter 1 where you install the IDE, it is in Step 8. Details I am looking for are never where I expect to find them in the book, and require that you read the entire chapter to find them. But if you do read the entire chapter, it appears everything you need to know will be revealed, eventually.
When compiling one of the projects, it compiled cleanly, but then I got this puzzling error, which is not discussed in the book:
avrdude: stk500_getsync(): not in sync: resp=0x00
Whenever you get puzzling errors (of any sort), put the exact text into google, and you may find some help. This message is what you see when there is some kind of communications error between PC and Arduino - disconnected, wrong board selected, wrong comm port, etc. I eventually figured out that for whatever reason, on my system the Arduino board is COM5, whereas the book said it would be COM4 for Windows. Even more mysterious is that when I first encountered this problem - reading the first book - the book said it should be COM3, but COM4 was what worked then. I wonder why he says COM3 in the first book, but COM4 in the this one? And for that matter, why the COM port changed on me...? I think the book could have a brief troubleshooting section that includes this very common error message. I'm experienced, but not with Arduino, so this was not obvious to me.
There is a primer on Android apps as an Appendix, and it includes a sample application. Unfortunately, the Android apps used in the project chapters are not discussed at all in this appendix (or anywhere). The author says he does not explain them because Android programming is complex. That may be, but it is an essential part of these projects, and I would have preferred that he explained them at least at a basic level.
WHERE'S THE ANDROID SOURCE CODE?
The Android app source code is a bit hard to find. The author added this comment to a different review of this book:
"I would point out that as well as the APKs, all the source for the Android apps is open source and available from www spot dangerouslymad spot com - follow the downloads link and it will take you off to [...]". [Note: I changed "." to "spot" to preserve URLs.]
The download link he's referring top is not on that site, but rather at www spot duinodroid spot com, and labeled "The source code is all here". When you click it, you get to a different page labeled "THE SOURCE CODE IS HERE, YOU JUST NEED TO CLICK ON THE SOURCE TAB AND THEN BROWSE." A zip of the source code is on the Download tab, not the Source tab. Click on Download, then click on the zip file and it should download.
[UPDATE 2/15/2012: The author explains that the code IS in the source tab by way of a subversion repository (see the comment I posted to this review if you're not familiar with this form of repository!), and the zip file under Downloads is for convenience. It would be more convenient yet if this zip file was on the book's Web site with the Android source code for the book.]
Android source code quality is... well, let me quote the author from the subversion repository page: "I feel I should apologize for the Android code. Its not as clean as it should be. I ran out of time, but if anyone wants to refactor / improve, please let me know."
As with the previous book, this book would have benefited from a good editorial review, and a thorough technical review. True, the author does present errata on his Web site (as with the previous book), but most Arduino books do not require online errata, and the errata so far does not include a mention of the required MeetAndroid library.
The photos vary in quality. They are low-quality black and white. Some are clear enough; others are hard to figure out. For example, it is nearly impossible to distinguish between the breadboard and a socket that has been inserted in Chapter 3 photos. Some of the hand-wiring is very messy, though I suppose appearance is second to function.
As a Benign Subgenius, I tire quickly of the Evil Genius theme, and there is even more than in the first book, but perhaps you will be amused by it. I want to know what the project does, but this is mixed in with the fluff I want to skip, and that annoys me.
I wish all of the components of the design (hardware, Arduino source, Android source) were thoroughly explained, along with by a system perspective of how it works - who does what, and how components interact when it's not obvious. Some projects have some of this, some don't. In my opinion, the book would be more useful if it either was considerably longer (to explain the missing details), or had far fewer projects, to allow for more explanation.
I wanted to give this book a 4 rating ("I like it") for the interesting projects, but by the time I compiled a list of problems, it brought my opinion down to 3 ("It's ok"). The book does provide very useful information, but it is also missing critical information, and is not as clear as it could be. In sum, I like the content, but not the style or organization, and that comes down to a matter of personal taste. YMMV.
12 of 12 people found the following review helpful
Great book about arduino ...Jan. 26 2012
- Published on Amazon.com
Ok - First thing is that this book for the price is well worth it. It is well put together, and has some great projects that will get you started interfacing arduino with android.
Please note that this book focuses almost entirely on the Arduino side of things. It shows wiring it up, sketches, electronics,etc, in great detail.
For the android ... it does not teach you any programming. It just shows to download .apk to interface with projects.
So for me, (A complete Android beginner) (Lots experience with Arduino) - this book was a mixed bag. They are great projects, but focus on showing the arduino, not the android side of things.
For instance -- the temp reading gauge. Building a temp reading for arduino is trivial... which is what is documented in the book. The slick output to read on the phone is downloadable .apk, with no discussion of gui building,etc.
This is a great arduino book, but don't expect it to teach many specifics about android.
20 of 26 people found the following review helpful
Arduino and Android are Great FriendsDec 11 2011
Dr. Bojan Tunguz
- Published on Amazon.com
Arduino has quickly become the de-facto platform for creating and managing various open-source hobbyist electronic projects. Its relative ease of use, versatility, and the unbeatable price have all made Arduino into the controller of choice for many home-brew electronic enthusiasts worldwide.
Android, on the other hand, has become the most widespread mobile operating system in the World. Its open source nature and a relative accessibility for hackers make it a natural choice for mobile and portable small-scale electronics projects.
"Arduino + Android Projects for the Evil Genius" is a very accessible hands-on instruction manual for some fun and reasonably accessible electronics projects that marry these two platforms. It provides you with many examples of hands-on projects that can leverage the full power of both Arduino and Android, as well as create projects that are more portable to execute and operate than the ones that require a connection to a computer.
This book has a distinct workbook flavor to it. Its large format and large black and white diagrams and photographs make it an ideal workshop companion. All projects are clearly presented in a step-by-step fashion. Some of the projects that are covered include "Android Light Show," "TV Remote," "Ultrasonic Range Finder," "Smart Thermostat," "RFID Signaling Flags," and several others. In terms of equipment, aside from the Arduino board and an Android device you will need several other standard and not-too-standard electronics components. Most of these can be easily obtained either online or from your local electronics shop.
Even though Arduino and Android are very hackable, I would not recommend this book to absolute beginners. You don't necessarily have to be a genius (evil or otherwise) in order to master these projects, but an above average familiarity with electronics and device programing would be highly recommended.
***** Review Copy Provided by the Publisher *****
4 of 4 people found the following review helpful
Disapointing, nothing on AndroidJan. 27 2013
Patrick D. Farrell
- Published on Amazon.com
Other books in this series, and others by Simon Monk, have been well received and received good to excellent reviews. I had high expectations when I bought this book.
Its a serious disapointment. There is very little about Android in this book. It covers the Adruino side fairly well, but each project is a combination of part Android and part Arduino, and the Android side is essentially missing.
The book stated repeatidly that covering Android is too complex and would take its own book. OK, but why then does this book's title claim to do exactly this? The body does not deliver. A typical project will show 30 lines of Java/Dalvik and say "download the rest" with little to no explaination as to what the code does.
The author makes some strange engineering decisions, such as using an encoded audio format to transfer data between the Android and Arduino, but does not explain why this choice was made. The very first project uses Bluetooth to transmit data, and both the Andriod phone/table and Adruino boards have USB. One might expect a simple USB data connection rather than the strange audio encoding.
The book appears to have been quickly written and sloppily edited. For example, the section about "temperature logger" talks about the IC for the ultrasonic range finder, which is the topic of the next chapter. Clearly a bit too much copy and paste of the text.
The theory sections of each project, which is often a key part of each chapter in other books in this series, are very thin and don't discuss either theory or the rationale behind the engineering decisions in the book.
The book contains only a small number of projects, and four of them use exactly the same Arduino controller board. This might be a good engineering decision, but the board, the "home automation controller" is an ugly circuit with all sorts of hand wiring. If you are going to reuse a basic circuit, how about laying out a PCB and maybe selling the board through a distributor such as SparkFun or AdaFruit.
2 of 2 people found the following review helpful
Not Quite Up to ParDec 31 2012
- Published on Amazon.com
Having given Simon Monk a GUSHING review on his basic book on programming Arduino, I had high hopes for this book. I expected lots of gee whiz projects along with the clear explanations that he presented in his other book. Maybe I was expecting too much, but it just seems like this book didn't live up his other book. This book basically teaches how to build these EXACT projects but doesn't really explain how to expand beyond it. All the Android code is downloaded with no explanation for it, and some of the projects just look like they're overkill...do I really need to use an Arduino tethered to my phone to act as a remote control? I know that projects don't have to be practical to be fun, but the reality is that you can build an Arduino remote control connected to a number pad.
The home automation section is somewhat interesting, but does require the user to have some basic knowledge of AC circuits and electrical safety. One wonders why he doesn't advocate using the internet shield with the Arduino, design a web page to be hosted on the Arduino, and then use the Android device to access the IP address of the Arduino and change things accordingly. No Android programming required.
I may tackle one or two projects in this book, but I doubt that I'm going to do a lot with it...sorry if I have spoiled anyone's fun.