09
09/10
04:38
Controlling a LEGO Mindstorms robot with an iPhone
One of the neat uses of a powerful tiny handheld computer, like an iPhone or iPod, is interaction with the physical world through robotics. The iPhone seems to be a perfect combination of small form factor, excellent battery capacity, powerful CPU, myriad sensors such as cameras, accelerometers, gyroscopes, compass, GPS and excellent connectivity through Bluetooth, WiFi and the cell network. For monetary reasons, Apple chose to lock down the iPhone so that it can’t communicate with other small, low power, devices unless the devices are officially licensed by Apple and labelled as “iPhone ready”.
We still want to control our small robots. What are we to do?
It turns out there is a tiny crack in Apple’s iOS Bluetooth lockdown that is sufficient to do something useful with LEGO Mindstorms as well as many other devices with the right mix of Bluetooth functionality. There is no need to jailbreak the phone and, surprisingly, no need to use undocumented iOS APIs so this method does not violate Apple’s developer agreement. Nonetheless, experience has taught me that Apple would never approve this kind of app for inclusion in the app store and that Apple doesn’t need a reason to reject an app.
It would be very easy for Apple to plug this minor hole in their lockdown of the iPhone so in the interest of keeping the hole open as long as possible, I won’t detail how it works. Instead I’ll just post a video demo of an iPhone controlling a robot directly.
The iPhone and iPod are remarkable portable systems that could open up a whole new world of sophisticated low cost robotics. It would be very cool if Apple could find a way to officially allow these kinds of applications.
