Introduction: Remote Control Laser Tag Tanks

These are remote control battle tanks that use infra-red cannons to tag the another tank. The brain of the tank is the Arduino RP2040 which has on-board blue-tooth communications to all the tank to be controlled with a Bluetooth game controller. I have fully tested the X-Box one controller but design and program should be compatible with other Bluetooth controllers. The tank has a 6 wheel, drop center, drive train which is really fun to drive. In addition, the player can control the turret position moving to through about 350 degrees of rotation. The tanks also have a speaker system that plays sounds and music.

Video of the tanks in action can be seen here:

https://youtu.be/cDl9Q-1sCvA


Supplies

See the attached file for a list of purchased components and links to where you can find the parts.

Step 1: Make 3D Printed Components

All parts can be printed in PLA or PETG, except for the “DriveWheelTread” which will need to be printed in TPU.  It is recommended to increase infill density around square nuts.

You will need qty 1 of all parts with the following exceptions:

SonicHubRLM 6mm Clearance Hole – Qty. 3

SonicHubRLM 6mm – Qty. 4

DriveWheelCore_r3 – Qty. 2

DriveWheelTread – Qty. 2

IdleWheelCore – Qty. 4

IdleWheelSpacer – Qty.4

LED_Holder5mm – Qty. 6

SideReceiverAdapter – Qty. 2

Spacer6mm – Qty. 3


Step 2: Other Fabricated Parts

You will need to make a qty. 4 of the idle wheel shafts from the 6mm solid rod. These should be cut to a length of 40mm.

You will need to make one hollow steel 6mm tube for the turret shaft. This needs to be cut to a length of 40mm.

Step 3: Full Tank Electrical Schematic

Laser Tank Electrical r3.0.pdf if the full schematic. I have also attached a few component documents that might be helpful.

Step 4: Main Circuit Board Fabrication

Circuit board can be fabricated using the attached gerber files.

I have tried uploading the gerber files here but I get a File Upload Failed. I will try to get this straightened out and upload later. I have placed the files on GitHub here: https://github.com/mckenzr1220/TankCircuit.git


If you have trouble accessing the files contact me with your email address and I can email a zip file with all the gerber files.


Step 5: Compile & Download Arduino Program

The Arduino files are included. You will need to install the Nina bluetooth firmware on the Arduino so the game controller can talk to the Arduino. Follow the “Instructions for Flashing Nina” document. When compiling and downloading the Arduino program you will need to change the variable “tankNo” to 1 for the first tank and 2 for the second tank.

Step 6: Tank Assembly

See the full assembly instructions in the "Tank Assembly Instructions rtf" text document in Introduction.

Supporting pictures are attached here.


Step 7: Wiring

Solder wire leads to each of the receiver photo diodes, cannon LED and pair LED. Make sure the cannon LED is long enough to go through the barrel, turret, turret tube and has extra length to all the wires to be screwed into the terminals on the main PCB with the top plate off. Solder 2 pole JST connectors on the ends of the leads for the 4 receiver photo diodes and the pair LED so they can be plugged into the main PCB. Create the power wiring harness with leads extension for the battery that is long enough to go through the battery shelf hole and to the power switch location.The battery ground connection will need have splitter soldered so the ground can go to both ground connection on both motor controller boards (turret motor and the drive motors). Create a 5vdc connector using one of the 2 pole JST connectors and extension wire where the flying leads can be placed in the screw terminals on the drive motor controller (ground and 5vdc terminals).I would suggest soldering the two ground connections that will go into the drive motor controller ground terminal. Coming off of the power switch, solder a lead wire and then solder a splitter to take the 12vdc to the 12vdc terminals on both of the motor controllers.I used a 2 pole JST header with fly leads on the motor output on the turret motor controller and wired a 2 pole JST plug on the turret motor so it can be easily plugged in on final installation. Make up connectors with JST on one end and pin connectors on the other end for the motor controller control wires (PWM and direction).

Step 8: Game Play

Gamepad Controller Pairing

When the power switch is turned on the opening game start music will play. When the start music has ended the Pair LED will flash until a gamepad controller is paired. When the Pair LED is flashing the tank controller will be in pair mode. If you have not paired a gamepad, place the gamepad in pair mode. Note: only pair one tank at a time. When a gamepad controller is paired the pair LED will go solid.


Gamepad Controls

Right stick forward and back will move the right wheel forward and back. Left stick will move the left stick forward and back. To go straight forward push both sticks forward. To go in reverse, pull back on both sticks. To turn right push the left stick forward more than the left stick.To turn left push the right stick forward more than the left. Note: you can spin the tank around its center by pushing one stick forward while pulling the other stick back. 

Pressing the accelerator/throttle (right side) will turn the turret to the right. Pressing brake(left side) will rotate the turret to the left.

To fire the cannon, press both the right bumper and left bumper at the same time.

Pressing the right bumper only will give you extra drive speed/power (temporarily). This is useful when running on carpet.

The game is over when one tank is hit 4 times.

Pressing the pair/reset pushbutton on the back of the tank 3 times quickly will reset the tank game and the game start music will play.

Holding the pair/reset pushbutton will erase the gamepad pairings and put the tank controller into pair mode.

Note: I have noticed that sometimes the tank will lose the pair to the gamepad yet the power/pair light on the X-box controller will be solid. If this happens, hold the power/pair button on the X-box controller to turn the controller off and then press it again to turn it on and wait for it to pair to the tank controller.