Introduction: Cell Phone Controlled Tank
Here’s a cool little project you can make to control a tiny tank from your smartphone. To do this, we hack apart a cheap RC tank that you can get off the internet, and add a TinyDuino with the Motor x4 TinyShield and Bluetooth TinyShield. Using Bluetooth on our Android phone, we install the “Arduino BT Joystick” app to be able to drive around the tank.
- Radio control tank – Here is the one we used: link
- TinyDuino Basic Kit – link
- Motor x4 TinyShield – link
- Bluetooth TinyShield – link
- 100-250 mAh lithium polymer battery less than 20mm wide – Here is the one we used: link
- JST-PH battery extension cable – Here is the one we used: link
- Li-Ion Battery Charger – Here is the one we used: link
- Soldering Iron
- Small Phillips Head Screwdriver
- Computer with Arduino IDE
- Android phone with Arduino BT Joystick App
Step 1: Disassemble the Tank
The first objective is to remove the original electronics and battery from the tank. The upper body of the tank can be removed by unscrewing two small Phillips screws that are above the wheels on either side of the tank. Inside the tank, the original receiver is secured with one screw. Remove the screw and cut or desolder any wires attaching the receiver and battery to the tank, leaving as much wire as possible. Some of the extra plastic inside the tank was removed to free up space.
Step 2: Wire in the TinyCircuits Motor Board
After the original electronics are removed, the TinyDuino motor controller and processor board can be soldered in its place. Cut the JST battery expansion cable with about 1 inch of wire left connected to the connect. Take the end of the cable with the male connector, and solder these wires into the Motor x4 TinyShield VM (red wire) and GND (black wire) connections. Since the power source is a single lithium battery with a maximum voltage of 4.2 volts, the processor board can be powered by soldering a wire from VM on the controller board to the positive battery terminal, labeled ‘+’, on the processor board. Then, the motor wires should be soldered to the MOTOR1 and MOTOR2 pads on the motor controller board. This example connects the left track to MOTOR2 and the right track to MOTOR1, but the motor connection and direction can be changed in the code. Make sure the power connection is insulated! The soldered boards are shown below:
Step 3: Program the TinyDuino Sketch
Plug in the USB TinyShield to the processor board, and program in the TinyTank sketch (download) using the Arduino IDE. Then remove the USB TinyShield and plug in the Bluetooth TinyShield.
TinyDuino sketch for joystick control (uses the free version of Arduino BT Joystick app): link
TinyDuino sketch for accelerometer control (uses the paid version of Arduino BT Joystick app): link
Step 4: Download the App on Your Android Phone
On your Android phone, download the free Arduino BT Joystick app. The free app will let you drive the tank using a keypad. You can also upgrade to the Pro version of the app, which allows you to steer the tank using the accelerometer on the phone. In both cases, set the Send Delay = 100ms.
Step 5: Control the Tank With Your Phone!
Connect the BT connection to the TinyShield Bluetooth, by scanning for Bluetooth connections on your phone. Then start up Arduino BT Joystick on your phone and connect to the Bluetooth. You can then drive around your tank!