Anyone who purchased a LEGO Mindstorms NXT Kit  earlier this year may have been disappointed when they got it home and opened the box up. One of the advertised features right on the outside of the box was support for controlling it over Bluetooth from your mobile phone. Well in reality, it wasn’t ready until very recently, and instead there was a note to keep checking a special page about Bluetooth information on the LEGO Mindstorms NXT site .
I got my kit back in late August, and this was also a disappointment to me, although to LEGO’s credit, they did offer (and continue to updated) some great SDK’s and other resources/kits to developers who wanted to go ahead and try to implement their own solutions. They have really embraced the community and other manufacturers allowing them to make extra sensors, language editors, etc. I have been doing experiments with the Mindstorms NXT kits integrating them with Flash and other electronics  for a while now, and over the holidays I happened to check the status on the app, and lo and behold they finally pushed it out and made it available for download here . Its a Java app and and they currently list the following phones as compatible:
- Nokia: 6680, 3230
- Sony Ericson: W800i, W550i, K610i, K800i, K750i, Z710i, Z550i, K510i
- BenQ-Siemens: CX75, X75
It might actually be compatible with a lot more phones, those are just the ones they have certified. I can say that it does in fact work on the Nokia 6680 as well as my Nokia N70, so it may work on other Series 60 pack 3 phones from Nokia.
The app allows you to control the three motors, trigger custom applications you have uploaded to your NXT and even have the NXT trigger photo snaps on your phone (unfortunately it doesn’t look like like my 6680 or N70 support that last feature just yet). You can also retrieve information that the various sensors are capturing and see that right on your phone as well, great for doing some remote readings. You can also control more than one NXT since they can communicate with one another, although I only have one NXT kit, so I wasn’t able to test that. Since its a Bluetooth connection you set up a connection and pair your devices one time, and from then on it will remember your NXT. Overall a very cool app, and really handy to be able to control your NXT right from your phone. I am currently looking into a way that I might be able to write a bridge app that could allow a Flash Lite app to interface with the LEGO app to allow me to do even more advanced scripting of the NXT via ActionScript to trigger more advanced sequences. I have already worked out a couple ways to interface the NXT sensors with Flash via a couple different electronics kits.
My only complaint is that they included a startup screen on the app that blasts a really loud intro sound that lasts for almost 10 seconds. There is no way to turn this off in preferences, or skip it, so everytime you launch the app you have to be prepared to deal with that. Quite annoying. The company responsible for developing the mobile app NearCell  has a Flash site up, but the option to view it in English doesn’t appear to be functional, but I’ve managed to determine that their main business is some sort of Bluetooth based marketing application. I’m going to try and contact them and see if they could add in a preference to turn off or disable the startup sound.
I’ve also used it to entertain my 7 month old son Owen by controlling a little robot I built to run around him and play sounds, etc. Will post some videos of it in action soon.
So if you have a Mindstorms NXT that you bought earlier this year and a Bluetooth capable phone, check out the new NXT Mobile Application  its sure to add some fun to your experiments and robot building.