Mini FPV Tank
2021Github: https://github.com/kevinbchen/fpvtank
Thingiverse: https://www.thingiverse.com/thing:4779771
This is mini remote-controlled tank that has a small all-in-one FPV (first-person view) camera for a video feed. The tank is driven by two 9g servos and uses lego treads. I designed and 3d printed the tank frame; this project was mainly a way to practice at Fusion 360.
Parts
The tank uses Lego x939 treads, 9g servos, a 4ch frsky receiver, and a typical small all-in-one fpv camera. It’s powered by a 600mah 1s lipo stepped up to 6v with a boost converter. There is also an Arduino Pro Mini that reads in the receiver signals and controls the servos. While not entirely necessary since you can directly hook up the receiver and servos, it does let me control an rgb led, add a deadzone to avoid servo jittering when idle (by just floating the pins), and monitor the battery voltage.
- TG9e servos (modified for continuous rotation)
- 4ch frsky receiver
- MT3608 boost converter
- FPV camera
- Lego x939 treads
- Arduino Pro Mini
- RGB LED + resistors (I used two 100ohm and a 220ohm)
- M3x19mm bolts, M3 nuts
- 3x8x4mm ball bearings
- M2 nylon bolts
3D Printed Parts
I designed the frame in Fusion 360. There are 4 main components:
- Chassis - The servos are mounted on the bottom of the chassis, and the other electronics are attached above.
- Body - Provides a cover for the electronics; snap fits onto the chassis with cantilever joints.
- Turret - Holds the FPV camera and the Lipo battery; attaches to the body via nylon screws.
- Wheels - Holds the treads with an inner slot. The drive wheels have cutouts for gluing in cutdown servo horns, while the idler wheels attach to the chassis with ball bearings and bolts.
I initially designed the wheels with notches in the middle to match the treads. Unfortunately, The circumference and notch spacing were just slightly off, causing the tracks to ride off the wheel eventually. I changed the notches to a smooth inner ring to fix this.
Electronics
The electronics involved simply wiring up the different components.
Lipo (~3.7V) -> MT3608, FPV camera
MT3608 (5V) -> Arduino, receiver, servos
Arduino pins:
A0 <- Lipo voltage
D2, D3, D4, D7 <- Receiver Ch 1-4 PWM
D5, D6, D11 -> LED green, blue, red, respectively
D9 -> Left servo PWM
D10 -> Right servo PWM
Software
The code is pretty straightforward. Just read the receiver PWM signals and output the appropriate servo and LED PWM control signals.