Mini FPV Speed Tank

A small, fully 3D printed tank, designed with a focus on compactness and performance

Similar projects worth following
This is a remote controlled FPV tank that I designed for fun (and had plenty of fun designing). The body and treads are 3D printed and held together by basic screws. It is fully functional and SOOO much fun to drive around the house or front yard.


This is a project that I designed like a year ago, and only got to building more recently. Too many RC tanks I see online either use tiny N20 gearmotors, or sh***y plastic continuous servo motors. SLOW! LAME! The aim of this design is to make an RC tank that is small, but also has POWAH. To do this, I squished 25mm diameter brushed gearmotors into the smallest, most sturdy body I could. I also designed some 3D printable tank treads.

3D design

This tank was designed in Autodesk Fusion 360, with a focus on maximum compactness and structural integrity, whilst hopefully looking somewhat sleek. I probably spent too long on this, but I did enjoyed optimising each part of the design!


I wanted to design some miniature treads that would be strong and flexible. The process of designing these took the longest due to the iteration and refinement that was required to get these right.

This is one of my early test prints (deliberately broken to test strength):

The design of these early treads was simpler, and I was initially trying to use brass rods. Unfortunately using rods instead of screws doesn't work in such small treads, as they are prone to slipping out, plus they can bend under load.

I also tried using flexible TPU material to print the whole tread in a single piece, but I dismissed this quickly because the TPU treads were pretty stiff, and just not as cool as a tread made of discrete segments!

Below is the final tread design. The treads are linked together with course-threaded M1.7 screws, and have grooves that match the teeth on the wheels. I maximised the material around the hinges for the sake of strength, and when printed out of PETG they have are plenty durable. I also gave them cool angular sides which gives the tank a +20% speed boost.


Below is a cross section showing how the space for each component is arranged. As you can see, the motors take up most of the area and extend into the wheels! Additionally, the motor shaft and idler screw tips would stick out of the sides if not for the part that covers and holds them in place. Two grub screws hold each motor in place

Design done!


These are the motors I bought on Aliexpress:

These are 25mm diameter 2083rpm brushed gearmotors. Brushed DC motors are hardly the apex of power systems, but a brushless system would be WAY more expensive, so I'm using these for now. Plus, they have more than enough power for the size of the tank.


FPV related

I decided to use standard RC/FPV devices for the remote control and video transmission.

I was initially planning on using nRF24L01 transceivers, and making a custom-modelled 3D-printed hand-wired Arduino-powered controller, as I have seen some on the internet do. However, even after buying most of the the parts necessary for this, I considered the complexity that this would add, and decided against it. Instead I opted to purchase a proper FPV controller, which communicates over the amazing ELRS protocol. This allows me to use one of the tiny 1x1cm, SMD antenna receiver modules.

I also picked up a tiny FPV camera from Foxeer, and a tiny FPV analog video transmitter. I could have used an ESP-32 camera and stream the video over a web server or something, but again, this is much simpler.

Here is a family photo of the three aforementioned electronics next to an Aussie $2 coin:

Awww, so cute!

The rest of the electronics

Here is where I transition from the RC/FPV ecosystem into just normal electronics. In my setup, I have a motor driver that is designed to be controlled by a microcontroller (and not by an RC system servo signal), so I put my smallest board to the task:

Again, so cute! This Pimoroni Tiny 2040 has an RP2040 aboard. It does the job great, but I won't actually be using much of its' potential. I chose this one which I already had, but any microcontroller that fits, and runs Arduino code, should work! (I think)

The Tiny 2040...

Read more »

Tank v51.stl

Whole model stl file

Standard Tesselated Geometry - 22.64 MB - 01/16/2023 at 11:49


Tank v51.step

Whole model step file

step - 4.36 MB - 01/16/2023 at 11:49


Tank v51

Individual parts stl files

x-zip-compressed - 2.00 MB - 01/16/2023 at 11:49



Main Arduino code

ino - 1.11 kB - 01/02/2023 at 14:51



Supporting code

plain - 6.42 kB - 01/02/2023 at 14:51


View all 10 files

  • 1 × Small microcontroller board I used the Pimoroni Tiny 2040
  • 1 × ELRS nano reciever
  • 1 × Tiny FPV camera I used the Foxeer Pico Razer
  • 1 × Tiny FPV VTX And one you can find that is small enough
  • 2 × 25mm diameter gearmotors I got some from Aliexpress:

View all 11 components

  • 3D model update: motor retaining screws now have nuts!

    Tobias01/16/2023 at 11:57 0 comments

    I have made a tiny improvement which previously, due to laziness, I had not done yet. Originally, the grub screws that held the motors in place simply threaded into a plastic hole. This was a problem as they could not be screwed in tight without slipping, and then the motor would not be clamped down properly. I added space for some simple M3 nuts, which should mean the screws will screw in much better now.

    I have not tested this yet, but it should be a-okay. The 3D models are now updated with this change!

View project log

  • 1
    Print the parts

    These are all the parts, excluding the 52 tread pieces (of which it is recommend are printed sequentially, in batches). All parts are designed to be printed without supports. I uploaded the whole thing as an STL if you want to make one yourself!

    I have shown all the main parts in a single print here, but usually I would print most of them individually, to reduce stringing and other messiness between parts. The wheels and main body piece, especially.

  • 2
    Assemble the main body

    Put the motors in and fix into place with ~4mm M3 screws and nuts, grub screws are neat but not required*

    It is deliberately designed for the motors to  stick out of the side with the output shaft, and sit flush on the other side. The motors are an extremely tight fit, I apologise if yours do not fit. Pls let me know if you have any issues with this.

    *Uhmm... so I have to confess something. The grub screws, no matter how cute they are, aren't actually adequate for holding the motor in place, especially since they are threaded into plastic and they slip super easily. Sooo... a little secret between you and me, I may or may not have super-glued the motors in-place. Hush, don't tell anyone! Now fixed!
  • 3
    Solder up electronics

    I have included a diagram showing to show how to connect the ELRS reciever. The rest of the electronics (power supply, motor drivers and FPV video system) can be done however you want, with any generic components, as long as they fit. Read the 'details' section if you want to know how I did it.

    Thank you to the CRSF Joystick project on Github, which helped me interface the CRSF reciever with a microcontroller (and from which I stole this diagram).

View all 8 instructions

Enjoy this project?



Bryan Mayland wrote 01/17/2023 at 14:02 point

This is awesome, that lil guy looks like it has some power! I'm the ExpressLRS developer who wrote the CRSFSerial library, and this is the sort of thing I love to see done with it.

The EP2 receiver is 3.3V logic though, so it doesn't need the level shifter, which might make this even easier to wire up for everyone. I have already chastised the CRSFJoystick developer for including it in their schematic and I think the newer specs don't call for it. The receiver can also be powered directly from 3.3V if it needs to be, and works down to at least 2.7V input, but does need quite a bit of current (>250mA in wifi mode).

I want to see everyone driving FPV tanks, go!

  Are you sure? yes | no

Samuk wrote 01/15/2023 at 22:38 point

Nice, been working on a similar BLDC thing:

Been shaving some Driver Yaks, but hope to progress it in the next couple of months. If you fancied helping out that would be great!

  Are you sure? yes | no

Tobias wrote 01/16/2023 at 04:57 point

Hey, I have those Pololu tracks too! And I am planning to use them for the next version of my tank, which is also going to have brushless motors! Hmu in the messages and we can help each other out haha

  Are you sure? yes | no

Tavis wrote 01/15/2023 at 07:46 point

The stl is not printable. It's all one body.  And what is the rpm of the motors ?

  Are you sure? yes | no

Tobias wrote 01/15/2023 at 09:46 point

Oh... haha I use Prusaslicer which lets you split it into individual objects with the click of a button. If you use Cura then I'll upload a zip with individual STLs + a .step file then. I didn't actually expect anyone to want to make it!

The motors I got are 2083 rpm, but they are probably too fast. 1000 rpm+ might be a little more sensible. Tell me if you want wiring diagrams or any other help. And if you do end up making something from this design, you absolutely have to send me a pic 😊

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates