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.

the choice of android vs iphone gets harder

I saw the beginnings of Pat's work and his iPad... Gunna give me a run for my money, it looks like...

Good timing. I just got my hands on an old Motorola Droid from my brother. The touch screen is dead, but I think I can fix it pretty easily.

Hey Chris how the Speech recognition works ?

I mean you have to record the commands first and then  assign them to real commands ?

I wish I could get android on my htc touch diamond .

You can make up any command you want to. Each command can be a word or phrase of any length and are placed on the 'command list". When you click the "say command' button, it takes what you said and compares it to the list. If there is a match, the phone sends a C (67) and then the number from the list of commands. If it happens to be the first thing on the list, the robot will recieve C1 (67 1). If it is the second command on the list, C2 (67 2) will be sent.

From that point, the robot will do whatever you program it to do. Maybe the first command will be "turn on lights" --the robot would be coded so that when it gets C1, it should turn on some LED's.

You don't have to pre-record any of the commands, and there is no comparison between when you entered the command to the list and when you are actually using the command. The speech recognition is being done by the phone, not the app and thus, is exactly as accurate as it is when you are searching for a youtube video or entering a phone number using it.

You can have as many as 254 commands on the list and they can be of any length.


I was actually wondering about making an app for my bird box gate http://letsmakerobots.com/node/27959 and hopefully have both gate data and live feed from my webcam. 
How hard was it go get started with the SDK?

I used Google's app inventor to make this guy. App inventor is a flow-chart-style language that uses these little puzzle-peices that you clip together to program.

Was it hard? No. Actually, it was pretty simple, and easily understood. A lot of tutorials as well.

Was it a pain in the butt to go from every written language I know to constantly moving these silly puzzel-peices around? Yes.

I gotta be honest, I do not like flow-chart programming. I just don't. I dealt with it and went with App inventor really, only because of the bluetooth connection. I tried processing and a couple others and I had nothing but bad BT connections and lost data. I tried app inventor and it worked and remained solid. And there you go.

Would I recommend it? Yeah, probably. There is no learning curve on the code, other than the fact that there are really no "loops" and everything is "event driven" but you get used to this pretty quick. The rest of the language is the same "if/else" kinda stuff that exists in all languages. I say go for it. If nothing else, it is free!

What bluetooth module did you use?

You mentioned it, but I cannot find a link :"(

Here are the 2 that I have used and that I like.

BlueSmirf the fancy one

BlueSmirf the slightly cheaper one.

I do suggest doing some looking though. There are a ton of these bluetooth units out there and they all work pretty much the same. The one's listed above are simply the one's I have personally used.