Introduction: Easy Phone Controlled Rover

About: I work at RobotZone ( the folks behind Actobotics and ServoCity.com ) in Winfield, KS. I love working on projects with my kids and seeing what they create.

The MotorAir is one of the easiest ways I've seen to control a robot from your phone.

I'll walk through how to set one up, but first let's looks at the Specs as well as some Pros and Cons.

Specs:

  • up to 2 amps per channel
  • controls brushed motors
  • 5-24V
  • You can control it via USB, or WiFi, or Bluetooth depending on which model you buy (more on that in the parts list)

Step 1: Parts List

QTYDesc
1My favorite little rover chassis: the Bogie Runt Rover
1

MotorAir (no XBee)
or
MotorAir (WiFi XBee)
or
MotorAir (Bluetooth XBee) [This is the one I used]

Before you buy from these links:
I should note that when I tried to purchase one directly from the manufacturer (TinySine - tinyosshop.com) the checkout process was a little creepy at best... it got to the point where it asked for my social security # and I bailed.... later the card was frozen because something triggered the fraud prevention on the card. It's a shame really because the product really is quite cool. Fortunately I found one on amazon and purchased it there and used tinyosshop.com for reference.
2Optionally some "X-Mounts" (I'll cover that later)
A battery (I prefer a little 2S or 3S LiPo)
My battery had a male JST connector so I used a female JST lead to connect to it.
Optionally some red and black heat shrink (I do love me some color coding)
1Optionally a SPST Latching Push Button
An Android phone

Step 2: Optional Tidying Up Prep Work

To keep things clean I first joined the red wires from the left motors into one heat shrink "sleeve".. then did the same for the black on that side. I then of course repeated on the other side.

There is part of me that wishes the black plastic tips on all jumper wires in the world matched the color of the wire coating. So I used some wider heat shrink to hold the groups of 3 wires together and make the colors right :)

The tips of the motor wires should now look like wolverine claws.

Next I made the female version of the wolverine claws which eventually go to the screw terminals on the board. I used servo leads since it already has 3 joined together but I've also done this with 3 separate female jumper wire ends. Now you have a nice reusable 3-1 jumper wire junction. In these photos I just added solder to the wire tips.. in later versions I went from 3 females on one end to 1 male on the other end... which is of course more versatile since it can go to a breadboard or header row and not just screw terminals.

Ahh that's better!

Step 3: Mount All the Things!

Mount the X-Mounts!
Next I added an X-Mount (the squared off doughnut style) to the top for the MotorAir board. And one to the bottom for the battery (the long squishy version worked really well for me).

Mount the Button:
Solder or crimp the JST lead and a wire to the latching push button switch, then mount the switch to the chassis.

Mount the Battery:
Squeeze the bottom x-mount to fit the battery tightly, then tighten the x-mount screw and squish the battery in place.

Mount the MotorAir:
Do the same with the top x-mount and the MotorAir. Position it so that you don't block access to the screw terminals.

Step 4: Wire It Up

This is seriously the simplest robot you will wire up all day- I promise.

Reeeadddyyy... Seeettt...... GO!

Power:
Connect the red and black wires from the button assembly to the + and - ends of the battery screw terminal.

Motors:
Connect the red and black wires from one side of the chassis to the Motor A screw terminals. Then connect the red and black wires from the other side of the chassis to the Motor B screw terminals.

Tools Down, You are Done!

Step 5: Install the App & Pair With the MotorAir

  1. On your Android device visit http://www.tinyosshop.com/index.php?route=product/... and scroll down and look for the "Android APP(Bluetooth)" link.
  2. Click the link and choose OK when it warns you that that type of file can harm your device
  3. Once it is done downloading go the File Manager and navigate to the Phone tab and look in the Download folder. You should see the MotorAir-Bluetooth.apk file.
  4. Click the .apk file.

    You may see a dialog letting you know the install has been blocked for security reasons. This happens because you've downloaded an app from the internet instead of getting it from the Google Play Store. So you will have to loosen security a bit to allow the install to occur and then tighten it back up when we are done.
    • Go ahead and click Settings (this will take you to the security settings for your Android)
    • Look for the checkbox for "Unknown sources" and check it (and choose OK when it wants you to confirm the change).
    • Go back to step 3 and try again.
    • After the install is complete go back to System Settings, and click on Security and uncheck that "Unknown sources" checkbox

Step 6: Bluetooth Pairing

Since this is the first time you've used this Bluetooth device you will have to pair it.

  1. Power on your MotorAir
  2. Open the App
  3. Hit any one of the buttons
  4. It will say there are no devices that have been paired. Click "Scan for devices"
  5. You should see the MotorAir show up as a BluetoothBee in the list. Tap it.
  6. Pull down the notification bar from the top of the screen.
  7. You should see a Pairing Request. Tap it and enter 1234 as the password and tap OK.

A blue LED on the MotorAir should now turn on.

Step 7: Drive

Now that the pairing is complete, you are ready to roll :)

In closing I thought it would be worth noting some pros and cons.

Pros:

  • Easy to wire up
  • compact all-in-one (it is essentially an arduino, motor controller, and X-Bee packaged as one unit)

Cons:

  • Android only (at least at the time of writing)
  • The mobile app is not in the Google Play Store and so installation is more complex that it could be
  • The mobile app itself could be refined/simplified