by timmiclark, published

ProtoTank by timmiclark Aug 18, 2015
16 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



ProtoTank by timmiclark is licensed under the Creative Commons - Attribution license.

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

56170Views 9921Downloads Found in Robotics


This thing has been replaced by this https://www.thingiverse.com/thing:2753227

A bolt together modular tank style robotics platform!

I use this with my students. They get the base kit, then they customise.

I have run these with Arduino, Raspberry Pi and Intel Galileo, both in autonomous and controlled drone mode.

These tanks are very versatile and it is easy to create bolt on accessory holders as you need. I will post the accessories I have created here from time to time.




2 x Track Inner Frames
2 x Track Outer Frames
1 x Base Fram
1 x Upper Frame (You can do more of these)
6 x Cog

Different printers and different filaments produce different results, so I have uploaded a range of tracks with different pin holes. Essentially I print the at 50% infill and print the smallest hole diameter I can. If I need to loosen the tracks, I then print a few larger diameter holed tracks.

I use the generic motors linked below and install 4 of them:


I use this motor shield to drive them:


I used M3 bolts to put it all together. The motors need to go in before you bolt the track frames onto the base frame.

I use 30mm brass standoffs to put the top frame (and any other stuff that I want) on

The tracks need 2mm dimeter wire (or bamboo skewers). They need to be loose enough to spin freely without being too loose. Aim for the tracks to sag about 10mm when suspended in mid air.


  • Arduino Uno Holder - holds the Uno - also the Mega with a lot of overhang.
  • Base Tray - fits into the base frame. Holds stuff.
  • Base Tray for L298N - Holds an L298N Motor Shield
  • Battery Case - Two rechargeable 9V batteries in parallel can be held in this case and can motor this bot along nicely. The higher the mAH rating the better.
  • Breadboard Holder - for 1/2 sized Breadboard
  • LCD Holder - Holds standard 2 x 16 Char LCD screen
  • LED Bracket - Headlights for LED Chips - You'll need to also print a brace for the back. Don't let them get hot or they melt through to print!
  • Light Bar - A bar for front/back that holds 5 x 5mm LEDs
  • Mini Pan/Tilt Servo Holder - Holds a Pan Tilt Kit from Adafruit (or similar)
  • Raspberry Pi Holders - 2 different orientations for your Pi
  • Sharp Infrared Distance Sensor Holder - holds Sharp 2Y0A02 Infrared distance sensor
  • Static RPi Camera Holder - Holds a Raspberry Pi camera at 90 degrees to horizontal

More from Robotics

view more

File Name



All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

I've been reading through the comments & see that the tracks seem to be the big issue. I've worked on actual real world tracked equipment, I'm curious why not include a tension roller block somewhere in the midst of the clogs that way tension can be adjusted to suit. That's how it's done in real life. This is a great model & look forward to printing it, though I'm strictly going RC with it. Looking forward to the upgraded model!

Hi Mark,

I have thought about this and even trailed it. In the case of this model I wanted it to remain as cheap as possible to produce and the motors are just not strong enough to cope with increasing the track tension.

My latest model is not having this issue as I use high powered pololu motors that can cope with tension and make use of precise track sizes and 22mm skateboard bearings. Not sure that I will be releasing this model on Thingiverse at this time.

Personally if I were you and you wanted to build one of my models - I would go with this one: https://www.thingiverse.com/thing:1906831

It looks nicer and makes use of high torque continuous rotation servos.

MR - 4 : Robotic Tank
Comments deleted.

Hey, thanks for a great design. One question I had is why do you use 2 motors per side. Wouldn't the motors have to spin at the exact same rate to share the load? From a quick look it seems that the 2nd motor is redundant. Also you'd need one motor controller for each motor which adds complexity. Could you please clarify why two motors are needed (I saw that you recommend 2 in your notes)? Is it an issue of having enough power?
Thanks again!

Hi - this project was developed as a team project in my school. My students did a lot of experimentation and discovered that it just worked better.

It is not so much about power, but a more even distribution of the driving force around a drive track that has a fair bit of friction and is necessarily more loose than a real life track would be.

could you throw this into a zip folder or at least post them as solid parts? Solid works doesn't like just plain old stl files, especially when trying to print multiple parts at the same time.

Also, I only have a Pi but not much experience with any of this, as well as low funds. Would it be possible toe get some help or watch a tutorial somewhere?

Hi Sky,

I am sorry I have left the place of employment where I created these files and no longer have permission to further publish them.

The place I learned most about programming the Pi for robotic components was here:

I noticed that you posted the motors that worked with an Aurdino. Was this the Uno? Will it work with a Pi? or does it only depend on the stepper?

It also works on a Pi - it is not using a stepper motor:

I used the same electronics as in this video:

Thank you! this will be a great start!!

Great work! Thanks for your time making and sharing it!

Nice looking project. Any comments on how long it takes to assemble (average time, not including the print time)? Thanks. :-)

I print it in a bit over 24 hours - It then takes a few hours of work to get the basics going.

Gotcha, thanks. I'll let you know if I decide to tackle the project. :-)

Hi! I'm making this proyect but, when I'm going to print the tracks and I don't know how many tracks I've to print and which type, because there're three types of tracks ( the difference is the hole ) and I'd be so thankful if you can help me :D

Hi Jose,

There are 32 tracks per side.

The size of the holes is important because if the tracks are too tight - the motors won't turn them - too loose and they come off.

The tracks should sag about 2cm when suspended in mid air

The video demonstrates the sag I am talking about.

The larger the number in the file name of the track STL - the more it will allow the track to stretch.

Comments deleted.

not trying to be rude but in instructions in the summary it says for the whole tank you need 2 cogs.
but in photos it says 6 for the whole tank.

14 Makes - 60 comments - and nobody spotted this until now!

Fixed it!

Thanks Alex!

Share arduino code and wiring diagram?

I haven't done anything for this one - we mainly used Raspberry Pi to control these tanks.

I do have this video series here that runs a robot that is very similar at the electronics level:


How about a suspension ?

Does anyone know of a good source for the motors? I can get them of AliExpress cheap but cannot find them for much less than 2x the price on ebay uk.

Speaking from experience, the cheap ones are cheap for a reason. I have found that they very easily break at the spindle.

I buy mine from here:

You can also get them with an encoder - which is really helpfull for making it track straight from here:

Also, I am reworking this model to allow for a continuous rotation servo - which will be far superior and only twice the price.

One additional issue with the cheaper motors...they will very possibly have significantly different levels of friction within the gearbox. I bought 2 generic robot sets off ebay that each included 2 motors. One of the two sets had motors so mis-matched that the same power (from an l298 motor driver) made them rotate at significantly different RPM. Which means that "going forward" for the bot meant "veer to the right"

I love the design, but will either modify for a continuous rotation servo or (more likely) an inexpensive geared stepper such as one of these: http://www.ebay.com/sch/i.html?_odkw=metal+gear+stepper&_sop=15&LH_BIN=1&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.X12v+metal+gear+stepper.TRS1&_nkw=12v+metal+gear+stepper&_sacat=0

Two other solutions:
One is to connect up some sort of encoder or photogate to the opposite spindle and use code to ensure that the wheels spin at the same speed.
The second is to use a gyro/accelerometer and once again use code to maintain straight tracking. This also gives the added advantage of being able to get the bot to turn to a specific angle.

I am currently printing the tracks for a new model that I hope to release in the next few weeks. It is about the same size as this one, but has similar appearance to the smaller tank that I created first. It uses continuos rotation servos. But even these will require some form of calibration before the bot will track straight.

The encoder solution would absolutely work, it just would take more hardware (encoder) and code (to calculate/compensate)

Sparkfun has a pretty decent breakdown (https://www.sparkfun.com/pages/accel_gyro_guide) of thingies to help you determine where you're pointing. A gyro or an IMU will help with turn rate ... but won't double-check actual heading. We'd need a magnetometer (eg: digital compass) for that. And a gps for absolute confirmation, I suppose. Even, as you said, with continuous rotation servos.

All that just to make a robot go straight. :-)

Semi related ... I wish I'd had your excellent model two years ago. I did an "how to build arduino battle tanks" presentation for our local code camp. (https://github.com/adbacker/duinobattletanks/blob/master/docs/2015BoiseCodeCampPres.txt) It would have been a great solution for what wound up to be a pretty cobbled-together platform.

https://www.youtube.com/watch?v=e7uAQrak1iA ... it's not obvious, but each tank was controlled by a hacked up PC joystick with LCD display connected.


I think the carriage from little birds to me might be a little high ;-)

The trouble is there are loads of those motors about how can you tell which are good and which are rubbish without buying first?


As for encoders


That one has two encoders on it, though I cannot quite see how they work. The discs look similar to the encoders on my Meade Telescope but that uses a light detector IIRC and I cannot see anything like that there. Any idea how they work?

"The trouble is there are loads of those motors about how can you tell which are good and which are rubbish without buying first?"

My experience is that I can only trust the ones I buy from reputable places that have a returns policy. :(

The encoders on these motors use a photogate and a plastic disk with holes it it which was attached to the spindle on the non wheel side. The last one that I used (quite a while ago) had 12 holes in it, when the photogate was over the hole it's output pin (input into the computer) would go high. On the Raspberry Pi I would then dedicate a whole thread to the photogates calculating and updating two global vars called "rpmLeft" and "rpmRight" - I would then write a section into my function that drove the tank so that the PWM would continually adjust to achieve the desired RPM for the wheels. This way the tank would drive straight, and on carpet, where it had the best traction, would even have the ability to turn to a specific angle.

Thought so that sound similar to the decoder on the telescope. What's the metal piece that seems to be associated with the decoder?

Ridley: those look suspiciously similar to the platforms I purchased a few years ago. (https://www.amazon.com/gp/product/B00GLO5SMY/ref=oh_aui_search_detailpage?ie=UTF8&psc=1)

They also included encoders ... which were effectively laser-cut wood discs. Hardware to do the actual detection (IR pair) was not included with mine. Something like this would work, I expect:

As you joined the 64 tracks to each other to form the filament? I'm printing tracks of 1_4, most still do not understand that part. Thank you! It's great design.

Awesome design! Would you mind sharing the freecard file? I want to modify the design to allow print the tracks with a ninjaflex coat, to print with a dual extrusion printer, abs in the midle and ninjaflex on the outside.

Sorry ... I no longer have the originals for these files.

I would not "coat" the whole track with ninjaflex - it would increase the friction too much. - I would print the first 5 or so layers with it.

thanks!!! I'll try to recreate the track files, but how could you loose the original of this master piece? omg! :(

if you create and want to share project \o/

Nice project !
Do you have OPENSCAD files for all these parts ?
Busy to make this nice project too: want to use a PicoBorg Reverse motorcontroller and BattBorg power board for it.
Maybe we can share the robot-software code here too ?

Where can I learn about the electronics and programming used in this project? I have the following on order:

Step down transformer - http://www.amazon.com/Converter-Step-down-Regulator-Transformer-Waterproof/dp/B00KKI4C1U
Motor controller - http://www.amazon.com/Qunqi-Controller-Module-Stepper-Arduino/dp/B014KMHSW6?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00
Motor - http://www.ebay.com/itm/222068266838?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

What other items are required. Any examples of the programming for either the Pi or Arduino?

Thanks in advance!

Figured it out :)

I've printed the parts, but oddly enough it seems the track pieces are slightly too small for the cogs. What I mean is that when I align one track piece properly with the cog, successive track pieces go increasingly out of alignment to the point that the link between two track pieces actually sits on top of the "top land" instead of the "bottom land" (Geez, I wish I could upload a picture to show you). I've measured some critical dimensions of the actual parts against the measurements from the STL-files, and everything is very close to spec (within 0.2 mm or so). You mentioned somewhere else the tracks tend to stretch over time. Is there a compensation for this in the original design perhaps?

Any help is appreciated.

I have problem to connect motors to the cogs. Seem the hole for motor shaft not big enough for me. I printed using PLA. So i widen the holes using soldering tool. Anyway the tracks running not smooth. Because of the main cogs I think. Any idea how to fix this?

Some printers do not print very accurately (often a software/slicer issues) - need to get a set of vernier callipers and measure against what should be.

I have access to a Cube Pro Duo and it cannot print these models at all.

Hey, I would love to make this ProtoTank, but I don't really understand what to do for the tracks.
Could someone please explane this to me?

Thanks in advance

What is it exactly you don't understand? You need to print enough (64) track pieces, and connect them together by using pieces of 2mm thick wire. The wire can be pushed through the holes using some considerable force. The center holes are slightly larger, so the track pieces can move with respect to each other.

There are different versions of the tracks (1-3, 1-35, 1-4, 1-45, 1-5 etc) with different sized central holes, since some printers have trouble printing these. Do a few test-prints first to see which work best for you.

Hey there again, just got my tracks finished, printed in medium density TPU (looks great, will be uploading build soon as the glue dries). New question though, I got the motors off of eBay but I don't see any mounting holes to mate to the motor housing? What are you using to secure the motors to the chassis?

The motors just fit in snugly. They do not need to be fixed into place.

Are these the same tracks as in the Drogerdy tank?

And can anyone point me to something I can use for pins for the track links (i.e. something on Amazon perhaps)? I read on Drogerdy file comments someone used nails? Any idea which gauge size, length, etc? Thanks!

They are the same, with the exception that the middle pin hole is modelled in varying sizes to allow the the track assembly to be fitted better (printing is never perfect)

In terms of pins - unfortunately the 2mm stainless steel works best. I have also had limited success with bamboo skewers, wire coat hanger, nails and even spaghetti! If you use the smallest diameter track, you could also use snippets of 1.75 mm filament - I actually intend to rework the tracks (to try to stop it from catching) over the next week or so and will try out the filament idea as you can use an old soldering iron to "weld" them in - but it will mean a whole new model!

Thanks for the quick reply. I ended up buying these: http://www.amazon.com/gp/product/B00LUT2ZJ4 stainless steel axle rods, 35mm length 2mm diameter. Should work perfectly with the existing treads right? Which size tread file should I use? the 1_3?

I would start with the 1_3 and then you may need 5 - 10 of the 1_5 size. It will depend on how accurate your printer is + any shape changes that occur while the models cool + how many unicorns you happen to own.

Printer is working through printing this as I type cannot wait to mount my new arduino on it and learn some programming and have some fun.

What a great design! I've got it on the printer right now. Just curious, it looks like you are recommending >9V for motors that are rated only for 3-6V. For the two motors on a single side, are you wiring these motors in series or parallel?

The motors that I have been using are these


which are a cheap copies of this


Both of which work in the range 5 - 10V - in spite of what the E-Bay listing says.

I wire the motors in parallel.

I have been buying the cheaper ones of ebay because I have been buying 20 - 30 at the same time for class experimentation. Now that we are happy with our designs, we will use the better quality grey ones with better torque. WHich should mean I can drop the power requirements a little.

Having said that - I usually set the power requirements on the purpose of the bot.

Thanks for mentioning that you power the motors in parallel. I was wondering how you got away with only a Dual H-Bridge. I should have known but it's always the little things that escape us.

Thanks for the quick answer! Yes, I was going based on the 3-6V note on the ebay listing. My plan is to power with a 7.4V (2S) Lipo, though may bump up to 3S if the torque is inadequate. Also, do you find the 1:48 gear ratio provides an adequate balance between torque and speed? I suppose at the cheap ebay prices for these motors and gearboxes, one can afford to do a little trial and error.

I need to print 64 track objects to make two chains?

the difference of objects track_1_3
for others tracks

Yes. The diameter of the central hole is different for each different track. This enables you to print some tracks to make it looser or tighter if needed.

Hi, what software did you use to design? Thanks!

This is awesome, exactly what I was looking for.
I think I will try to put a servo on top and an ir emitter.
From the photos, I can't tell what your are using for a power supply.
Rather than 4xAAs, I'd like to recommend 2x3.7V chinese lithium ion batteries: 18650. They are cheap, powerful and rechargeable.
The L298 H-Bridge has a 5V regulator which can be used for arduino power.
I'm also wondering if this kit is available for purchase? I did recently get a da vinci junior 3D printer, so I am anxious to try it out.

I was originally using LiPo batteries (11.6V 3200MaH) but I would recommend at least 9V and over 1000MaH. For this I use 2 x 9V 500MaH rechargeable in parallel. In the accessories there is a battery case that you can print out to make use of 2 x 9V batteries.

I would avoid using the 5V out of the L298N as it has a common ground with the battery and is not isolated enough for my liking. Having said that, if you are using Arduino most can take up to 12V direct in any way.

I don't have a kit for this as my students use it in a large number of ways to prototype their ideas.

I want to build this tank but i want to control the tank with an rc remote. How to i run these motors directly from an rc receiver? Would a brushed esc work?

You can still control the bot with an arduino and then control the arduino from the remote. I have not put much thought into R/C. It is not really my thing unless it is controlled RC via a mobile phone app. (Which one of my students has already done with POV camera view)

I've started printing this one. Looks great.
I was about to order the motors and driver board, when I realized you use 4 motors to drive 2 tracks.
Wouldn't 2 motors suffice? And isn't there a risk they will affect each other?

I found that only two motors seemed to allow the tracks to catch as they stretch over time.

As long as all 4 motors have the same gear ration they do not affect each other too much. The faster the bot goes of course, the less it is able to travel in a straight line.

The next version that I am working on now will use some really strong continuous rotation servos which should solve a fair few of the problems.

Ah, now you tell me:-) You are working on a next version? That is good news! Looking forward to it.
I'm collecting all the electronics for getting this one to drive around. But am already looking forward to printing the next model!

What do use for the batteries? I have bought a 4x 18650 battery box. But it is to wide to fit between the tracks. So I have to put it up higher. Would be great if it could fit on the lower level, leaving the higher part for an RPi and sensors.

Batteries: If you look in the accessories files - you can print a battery box and clip that fits into the base. It is designed to hold 2 x 9V batteries which I tend to wire up in parallel to get a bit more power out of them. I use 2 x 500mAh Li rechargeables (Which are actually 8.4V) and will run the bot for about 30-40 minutes (depending on what you are doing). If you use normal 9V batteries it won't work as well as they do not give consistent power output out and the Bot controller (Raspberry or Arduino) will restart if the motors all of a sudden need to do more work.

Thanks. I was looking for some more capacity, so I bought this:
Dual 2 USB Power Bank Case Kit 3x18650 Battery Charger DIY Box For Cell Phone
with 3 samsung 18650 (3.7V 2600mAh) batteries.
In total that should give me about 28Wh
The advantage is that you can hook up the Rpi directly via USB and there is an extra USB to power the buckbooster converter
(Albeit I'm wondering how well the motors will do on 5V. Can try to do without the converer)
The box is a few mm too wide to fit between the axis of the prototank. But the electronics can be easily put in a self-designed box that shaves of those mm's.

i'll keep you posted

Having some serious trouble with one side grinding so much it brings both motors on that side to a stop - i reprinted the outer frame but theres still something happening there - any tips on this? Since i assume you made many of these?

Im running 12 volts on the same motor bridge you use - via voltage booster capable of delivering 2 amps. Measured 800 milliamps to the motors during operation of full forward. Voltage source is two 4,2 volt batteries in parallel.

Sorry it has taken me so long to get back ... have been on holidays :)

I have not had too much trouble with my tacks - at least not as many as some other people are having. All I can say is that the tracks need to be loose enough to spin freely, but not too loose.

Try using some of the different track sizes that I have uploaded. The difference is in the diameter of the centre hole.

I've tried with and without the tracks on the tank as well, theres just something that jams the other side. I have to admit i haven't had much time on this anymore due to work getting in the way, but i printed new sets of many things and was supposed to try it out.

Im running it off 4,2v batteries that i intend to charge with solar panels on the tank - im using a voltage booster on the chassis to bring the voltage up to 9-12 at the moment but that still leaves it vastly underpowered with these motors. I don't really know what specific thing i want to ask here but i was just wondering if you'd have seen any of these problems yourself.

Are you saying that one of the cogs jam even without the tracks installed?

Also 4.2V will not be enough unless you are upping the amperage significantly.

The motors draw power, not just voltage. Power = Voltage x Amperage. I find that these bots do OK on Lithium 9V rechargeables as long as they are rated over 500mAh - but even then I will put two in parallel to up the amperage.

If you are willing to risk it a ~12V LiPo battery will run these Bots very fast and for quite a long time.

I made a shorter base frame for this as I couldn't get the original to fit on the bed of my smaller printer. Will continue to work on some other shorter parts where necessary. This base has its own hole pattern so I don't think it will line up with the 2nd level. I'll work on a compatible upper level soon.

Thanks for this design.

Comments deleted.

Looks real cool man, love it. To id like to make a suggestion, use cool white LED's for the headlights, they'll give you a better image as the colors will be true

That's cool, good job!