Let's Make Robots!

The Best Gosh-Darn Android-Based Robot Controller.

Control your robot with your phone

The robot controller app is out! Woo Hoo! Finally, a Android-based hobbyist robot controller that works with every microprocessor. There is no corresponding software required on the robot, you can write your own code to your heart's content.

A clean, simple app that features:

  • Joystick control via pushbutton and tilt Auxiliary buttons
  • Voice Recognition and "voice commands"
  • Text to speech
  • Data can be sent to and from the robot for debugging

All that is needed is a cheap bluetooth unit (a BlueSmirf unit from SparkFun was used for testing) and any flavor of microcontroller. Arduino, Picaxe, Propeller, BS2, AVR --anything that can receive serial data can use this app. If you can send text to a LCD or a terminal, you can use this app. Baud rate from 9600 to 115,200 are supported and auto-detected.

And it is only 2 bucks, for cryin' out loud!

If you are overseas, buy now and take advantage of the weak US dollar!


Link to the App itself here.

Link to the PDF instructions are here.



Added some more videos. A demo of the app running on an Arduino and also a sketch running in Processing that can talk to the app.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Do you have the list of configuration parameters for the bluesmirf-module that actually works(think the problem lies here)? I have problems getting the app to work with bluesmirf silver and HTC sensation. I can pair it with the phone but when i hit the connect button(in the app) i get a message saying the device may not be turned on.

I think you are opening the door for many applications I would like to make a similar iphone app, but need to learn objective C

I'm only new but wanted to say well done to everyone planning to develop applications in the mining industry where we can move a person from a dangerous job to allow an operator to remotely control the task at hand

I'm looking forward to seeing more of your cutting edge high tech effort

Hi All, This is our Rover controlled by RocketBot.



Nice. How do you like the controller?

Chris defintely throught through how one might use this from a practical perspective and I really like the Aux functions as I also want to tell the robot when to take a way point fix for localization. 

In a comment above, I said something like, "(with out sarcasm) I would like to see you try the other ones"... Well, I really would!

Here's the real truth of the matter --I have no idea if my system is better than the others out there...    ...And this is because I couldn't figure out any of the other systems! Maybe I didn't put in enough leg-work here. Maybe I gave up too soon. Maybe I missed an obvious link that told me how to do everything. What ever the case, none of them worked with the way my brain works. I got all of them working to one degree or another, but none ever did what I wanted or actually "drove" my robot around. Add to that, the fact that OF COURSE I can figure out my own! --I wrote the darn thing! The point is, I am biased.

Open question: Has anyone tried any of the others? Has anyone used say, Cellbots, and can tell me of their experience? If anyone has, or wants to, PLEASE contact me! I will be more than happy to send you a free copy of the my app for testing. --Actually, on that note, if anyone contacts me period and tells me the are a LMR homie, I would be happy to send you a copy.

I will put my system back-to-back with anything out there. Not because I think mine is so super-duper, but man, I really do want to know how it compares!


I gotta be honest, my intention was not to actually make this app. I would have preferred to use something like cellbots or Amarino. The problem I ran into is that when tried these apps, they were a confusing mess. Cellbots seems to be a system that allows you to put your phone ON the robot and control via PC --but to be honest, I don't know. After reading their website for a while, my eyes glazed over. They mention the android I/O board, and IP addresses for the phone and libraries that need to be installed and a ton of stuff that needs to be done and configured via a terminal. In the end, you have YOUR robot, but running CELLBOTS software on the phone, the arduino and the computer. I found it confusing, VERY complicated and in the end, did not allow me to tilt my phone and drive my robot. Also, as far as I can see, it is only set up to work with an Arduino. I have nothing against Cellbots, I am sure it has worked for many folks but I could not understand a single part of it.

Amarino had a similar problem. It required software to be used on BOTH the phone and the robot. When I used it, it seemed like a small collection of demo apps. I.e. "hey, read a sensor with your phone!" and I said, "Uh, huh... Yeah, I am reading a pot plugged into my arduino --what the hell am I going to do with this? --I just want a joystick!"

Maybe I should have spent more time with these guys, and "learned" them more, but I walked away frustrated and confused. I just didn't get it.

Now, with my App, nothing is needed on your robot but a small routine to grab 2-bytes-worth of data from a serial connection. If you have existing code that you have written, my data from my app can be very easily intergrated. My app will work just as happily with an Arduino, Prop, Picaxe, BS2 etc etc etc. There is no need to take their robot software, rebuild it and try to get it to work with a different platform. There is no need to do anything my way.

The bottom line for me is that it seems all the existing phone/robot systems are just that --systems. You use Cellbots and you will forever do it the "cellbots way". Use Amarino and do everything the way that Amarino forces you to do it. Or use the RocketBot app and make your robot do whatever you want it to do.

Tell you what (and I am really NOT being sarcastic here) try cellbots and tell me how it worked. Send me an email and I will send you a free copy of my app. Put 'em side by side --not just the app, but the whole experience (the whole system). How much time did you spend with libraries and drivers and changing phone IP addresses in python code and reading FAQ's trying to get their software to work with your robot.

Oh, and why not free? Because I added labor to materials that created value. Cellbots and Google have more money than God and can happily give stuff away. I am broke and starting to try to make a living out of this robot stuff. That being said, I always have love for my homies here at LMR --If you want a copy, just email and it is yours.

Can't say I've really tried any of them, other than to read over what has been written for them a bit. And watched a video demo or 2. I'll have to check over Amarino, had not been aware of that one. 

What I gathered from Cellbots (which is just Cellbots guys, talented coders, not associated with Google or having deep pockets as far as I can tell) was that it was a system that could be configured to multiple different methods of control.

One was cell phone to robot through a bluetooth connection, much the same as your own set up. In this configuration, both systems appear to be somewhat similar, with the addition of using buttons like yours, a touch joystick, or yes, tilting the phone to drive the robot with the Cellbots configuration. Both require serial software on the robot, Cellbots gives example code for the Arduino and I believe the Roomba Create as well.  I see no reason why similar serial bits of code couldn't be made (or already exist) for other micros as well.  

Another method was where one cell phone drives another on the robot through WiFi or cellular connection, and the controlling phone can receive back video from the cell on the robot. 

Still another method involves using a laptop to WiFi connect with a cell phone on the robot, again with a video feed. 

I think therein may be the difficulty in understanding the Cellbots system. They do not give you an easy A to B to C method of how to "do" these different control methods, but instead have a forum in which ot ask questions about how to do something. Kind of like here, where it is helpful to read through the back information a bit to get to a possible answer to a question before it is actually asked. 

I've been wanting to try a cell phone control system on a robot, so as to extend the range significantly, plus the video feed option is nice. Just not prepared to buy another cell service to try it out at this point. The bluetooth range would be somewhat limited, perhaps 100 feet at most. Wifi might stretch that distance a little bit further, but not sure how far. 

I'll reply here for the last paragraph. I had a chinese iPhone 4 knock off with Android on it (and lost it, stupid me...). I bought it for $140 and it had many extra features a regular Android phone you can get when you sign up for data plan does not have. I did not care much about those features (like TV, dual sim, quad band...) but because of the WiFi connection you actually don't need the data plan. Well, only for GPS navigation, but you can buy a $50 map and you have everything in the phone. Of course, if you need to check out emails and social networks all the time, you need the data plan, but that was not my case. Anyway, right now I am waiting for another chinese phone to arrive in the mail, one that has better battery life.

Speaking of battery life, here are my observations, and I would like to compare them with a other people's findings:

- when using special features like GPS, WiFi, TV, you have to have the phone plugged, it drains the battery fast

- Bluetooth seems fine, probably because of small range needed, usually people use it for headsets or hands free car sets, those don't require more than 2-3 meters range. I have tested the range on my phone to about 10 meters, wich seems similar with a regular Sony Ericson phone

- haven't got to the point to have a WiFi video feed from the phone, but that was in my plan and I was looking for software to do that, but I suppose the phone has to be plugged too, because besides WiFi you add camera use


GroG was telling me that there is a lot of buzz about having OpenCV working in Android, I suppose the next step for him will be to make MRL working on Android phone or tablet mounted directly on the robot. I mean why not, it has WiFi, camera, display, accelerometer, some phones sense the lighting conditions to adjust the screen brightness, GPS... Sure, a Chumby is cheaper than a phone, but it would be cool to see a telepresence balancing Android phone robot...

Has this any advantage over the free Cellbots app or the free Robots Anywhere Navcom app?