Intro: Smartphone Controlled Arduino Tank Using Annikken Andee
Hi guys, I am Robin, one of the developers of Annikken Andee. Just a few weeks back we were invited to be a part of Arduino Day Singapore 2014. On the day of the event, we showcased a missile-firing lego-crushing smartphone controlled Tank built using our Annikken Andee.
It was a big hit with our audience and many of them have enquired on the making of the Tank. We wanted to share our Tank making knowledge with the Instructables community. So to get you in the seat of a POTENTIAL TANK COMMANDER, I am going to give a step by step guide on creating the Andee Battle Tank, or ABT in short.
Please like our Facebook page and view Video Highlights of ABT and Arduino Day Singapore 2014!
Step 1: What Do You Need?
Our ABT is built using the following parts. You can source from them from Amazon, Pololu, Aliexpress etc.
1 x Arduino Uno
1 x Pololu Zumo Robot
1 x Annikken Andee
1 x WLToys V959-19 Missile Launcher (Amazon) (Aliexpress)
1 x Smartphone (Android 4.0 and above)
(note: if you are using iOS, you will need to the get Annikken Andee for iOS)
You might/will also need to the followings to get the job done
2.54mm Row Male Pin header
2.54mm Row Female Pin header
thin insulated wire
Double sided Tape / Blu-tack / Something Sticky
Some Soldering and Desoldering work
4 x AA Batteries
Step 2: Assemble the Zumo Chassis
The base of the ABT is built using Pololu Zumo Tank kit. It is designed for Arduino Uno/Leonardo and, therefore, fits Annikken Andee perfectly well. What I like best is that the entire set up (Zumo Shield, Andee and Arduino) can be powered by 4 x AA batteries found below the chassis. This means that I do not need to mount an external battery pack to power the ABT.
In this guide I will not be mentioning much about the assembly of the Zumo Chassis as user Qtechknow has already made a comprehensive guide on Zumo Tank Assembly. You can also visit Pololu Official page for the documentation.
Just don't arm the metal plate that comes with the Zumo Kit; ABT uses speed as its defence, not armor =)
Female header for The Turret
After the Assembly, solder the 2.54 mm Female Pin Header to the pin 2 and ground hole on the Zumo Shield. We will be using Pin 2 of the Arduino to fire the missile.
Step 3: "Hack" Annikken Andee
Coincidentally, Zumo Shield and Annikken Andee both uses Pin 8 to communicate with Arduino! (Great minds think alike?)
This poses a problem for Arduino as he is unable to differentiate the source of the communication (Andee or Zumo?).
To get around this problem, we are going to do a little hack
Modify Annikken Andee
Wait, what is Annikken Andee?
Annikken Andee is a bluetooth shield that allows for easy communication between your smart phone and your Arduino. As it comes with the Andee Arduino library and the free downloadable Andee App for your smart phone, you do not need to develop the app. You can create the UI all via your Arduino codes.
There are currently a few versions of Annikken Andee
1) Classic Annikken Andee - Green Board, uses Standard Size SD Card
2) Annikken Andee 2015 - Green Board, uses micro-SD Card
3) Annikken Andee for iOS - Blue Board, uses micro-SD Card
Instruction for Classic Annikken Andee
What we are doing here is to reroute the communication from pin 8 to 4. You can also try pin 1,2,3,5,6,7 if you want. But because I like pin 4, I am going to use pin 4.
Step 1) Desolder R30
R30 is a 0 Ohm resistor that you can find on the underside of Annikken Andee. Taking it out severs the connection between the leg of pin 8 and Annikken Andee.
Step 2) Connect Annikken Andee to Pin 4.
Using a piece of short wire, short-circuit the copper base which previously house the 0 Ohm resistor of R30 to the leg of pin 4. This way the communication between Andee to Arduino will be done via pin 4, and not pin 8. Check out the picture above for reference.
Step 3) call Andee.begin(4) instead of Andee.begin() in the sketch
Instruction for Annikken Andee 2015
We are going to use pin 5 to communicate.
Step 1) Remove the Jumper residing on S8 and place it on S5
Step 2) call Andee.begin(5) instead of Andee.begin() in the Sketch (NOTE: Need to edit the sketch)
Instruction for Annikken Andee for IOS
We are going to use pin 5 to communicate.
Step 1) Sever the link of Digital Pin 8 to Andee MCU
Use a penknife and carefully cut the link between the two plates at D8.
Step 2) Connect Annikken Andee to Pin 5
Solder the two plates onto D5.
Step 3) call Andee.begin(5) instead of Andee.begin() in the Sketch (NOTE: Need to edit the sketch)
Step 4: Turret (Missile Launcher)
WLToy's V959-19 missile turret is a rare find indeed. It was meant for their quadcopter to shoot projectiles at unsuspecting target. It can hold up to 6 missiles at any time and its missiles travel at up to 100 km/h. A direct hit from the missile can instantly decimate a T34 at its strongest point.
With lack of online documentation of this fearsome weapon, the following is my understanding based on trial and error.
The Yellow and White wires is connected to the DC motor behind the turret. As the motor rotates, it will trigger the mechanism to release a missile.The Red and Black wires will short-circuit every time the missile's release mechanism is triggered. However for simplicity sake, we are not using this 2 wires for the project.
The missile launcher's wires originally uses 1.25mm pitch header, which obviously doesn't fit the 2.54mm Pin header Arduino uses. Therefore, we need to carefully cut the 1.25mm header connected to the yellow and white wires and replace it with 1x2 2.54mm male pin headers. Just remember to insulate the exposed copper and solder with insulated tape!
What to do with the Red and Black Wires?
Since we are not using the red and black wire pair, tuck these 2 wires somewhere below the turret. We might still need them in another project. Who knows? =P
Step 5: Putting Together the Tank (がったい！）
ABT is effectively made up of 4 components. The Zumo tank, Annikken Andee, Arduino Uno/Leonardo and the turret.
With the individual components done, let us put them together!
Step 1) Mount the Annikken Andee directly onto the Zumo Shield.
Step 2) Mount the Arduino Uno/Leonardo on Annikken Andee
Step 3) Stick the Turret on top of Arduino Uno. (Use Doublesided tape/Blu-Tack)
Step 4) Connect the yellow/white pin (turret) to the Zumo Shield (pin 2 and Gnd)
There! You are done with the hardware portion of the project! Now let us move on to the software
Step 6: Final Piece to the Puzzle...
To control the tank with your smart phone, you will need an App on your phone first.
Fortunately, Annikken Andee comes with a free app that you can download from the Google Play store or Apple store for iOS.
Then, download the ABT arduino sourcecode and upload to the Arduino. Feel Free to modify / edit / be crazy with this Arduino Program!
Use the Annikken Andee App and connect to the ABT. I am sure you'll have loads of fun with ABT in your hands!
Learn more about Annikken Andee at
Where can I download the latest library and firmware?
Does it work with Apple Iphone/iPad/iTouch?
Yes! But you will need to use Annikken Andee for iOS. check it out here
As you can see, we are currently using the slider UI to control the tank movement. Personally I think it will be more instinctive to have a Game Controller UI instead. After all we are controlling an AWESOME COMBAT TANK THAT SHOOTS REAL PROJECTILE!
I will make sure this happens =)
Look out for more upcoming projects on Facebook, Twitter and YouTube.