Drogerdy - Raspberry Pi Controlled Tank Bot

by timmiclark, published

Drogerdy - Raspberry Pi Controlled Tank Bot by timmiclark Jan 26, 2015
21 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


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

76519Views 11427Downloads Found in Robotics


The second prototype out of the jRobot project, this little tank bot makes use of a number of simple parts to do a whole lot.

I have updated it to make it more versatile. The tracks are a little more grippy as well!


The jRobot project allows my students to dock their Raspberry Pi with any of the robots, plug it all in and program away.

The sample build shown makes use of the MCP3008 ADC to allow the RPi to access a range of analogue sensors including the Sharp 2Y0A02 Infrared distance sensor.

It has the same pin based docking system as the Apogee Robot (http://www.thingiverse.com/thing:648394)


Demo Video: https://www.youtube.com/watch?v=MJIx0cyOL3s&feature=youtu.be

You'll need 26 tracks per side. The tracks are joined by 35mm long 2mm stainless steel pins. (The same pins are used to hold the RPi in place.

Each track assembly will need: 2 x Cogs; 2 x Inner Cog Brackets; 2 x Outer Cog Brackets; and 1 x Track Mid Frame (I am yet to test the improved inner frame)

The two track assemblies are then joined by 2 x body parts. The motors must be installed before the body parts are glued together.

I glue the whole thing together using 5 minute epoxy. Some one a tip of each stainless steel rod is also helpful to stop the tracks from falling apart.

The motors fit the cogs directly and are no-name yellow geared ones that you get on eBay (http://www.ebay.com.au/itm/1pcs-Anti-interference-f-Robot-Smart-Car-Chassis-DIY-DC3V-6V-DC-Geared-Motor-TT-/291314517942?pt=AU_B_I_Electrical_Test_Equipment&hash=item43d3b2c7b6)

The motor contoller in the same bot is an L298N board which fits perfectly in the bottom of the tank body. ( http://www.ebay.com.au/itm/1pcs-Anti-interference-f-Robot-Smart-Car-Chassis-DIY-DC3V-6V-DC-Geared-Motor-TT-/291314517942?pt=AU_B_I_Electrical_Test_Equipment&hash=item43d3b2c7b6

Their are 4 x 5mm holes for LEDs and a square hole that allows for a sensor bracket and cable access.

I use a Step Down Buck power regulator that has a USB output to power the Pi - while the motors run straight of the battery. This does mean that the Pi will restart when the batteries run low. I use 2 x 9V rechargbles (500mAh each) which allows for a good 30+ minutes of run time.

I use an Adafruit perma proto quarter size breaboard for the breakout board and use header pins so that my students can use jumper cables to wire it up.

The sensors are up to you, but I am using two sharp infrared sensors on the one shown that run through an MCP3008 ADC and interface with the RPi via the SPI bus. I also have a light sensitive resistor on it and plan to add a sensor at the rear and one facing down to stop the robot driving off cliffs.

I have plans to be able to extend the length of the track assembly adding a third cog ... but I need to overcome some derailing issues.

Believe it or not, the one shown was printed on an Up! Mini as I did not have access to my school's larger printer over the summer break.

More from Robotics

view more

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

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Can someone who made this show how you mounted the motors inside?

It would be awesome to make this work with a pi zero w and a brushless setup.
I want to make this so bad. Just discovered it. Great looking platform.

If you are willing to wait I have a significantly improved and more versatile model coming in early 2018!


It is running a Raspberry Pi 3 in the picture, but I now have pi zero w version!

Thats too cool Timmi! The pi is like the swiss army knife...Definitely will follow

Question on the track. The holes are more than 2.3 mm so a 2mm pin slips right through . I checked the stl file and the holes are way over 2mm. Any recommendations on how to remix and correct the holes size. ( I bought a bunch of 2mm x 35mm pins ) :(

The holes are the size they are for very good reason - this is to overcome the friction and resultant cog re-alignment that occurs when the tracks are overly tight.

This has been tested on a large range of printers on both PLA and ABS and these sizes do work. A small dab of PVA glue on one end of each pin holds them in nicely.

The Proto-tank model has a range of different hole sizes (same track part) if you are having trouble.

Ok, I'lll give those a try.

Thanks for all your hard work!

dude. nice work. but you need detail the assembly. again nice work

I may have asked already, but you wouldnt happen to have the sldprt files would you?

Is it difficult to make this so i can controle it with my smartphone.

Bluetooth control is fairly easy (eg via arduino)

Control over wi-fi of raspberry pi is far more difficult!

I need to get one of these printed - it is screaming to have a Pi Zero squeezed into the base! :-)

I'm trying to build a couple of these for our high school autonomous robot club. I've installed a couple of micro-encoder motors like this: http://www.robotshop.com/ca/en/micro-6v-160rpm-1201-dc-geared-motor-encoder.html

I had to remove the vertical parts of the body piece in the centre to fit the encoder in. When I assembled the entire frame, there was a couple of mm of space between the inner cog brackets. I see in your pictures of the blue Drogerdy robot you made there is a similar space.

My problem is that when I tried to put the tracks on, 26 track pieces made the track far too tight, with so much friction that the track wouldn't rotate; the track ended up breaking. 27 track pieces seems too loose. I've noticed that for your Proto-Tank robot you provide several different track pieces of different sizes. Are those pieces compatible with Drogerdy? Is their purpose to make the track looser or tighter?

BTW, I'm hoping to eventually use a Raspberry Pi and two ultrasonic sensors on this robot to implement 1-dimensional Monte-Carlo localization and possibly Particle Filter localization too. My students are getting some great experience building robots. Thanks for designing this!

I love your designs. I have a Lulzbot mini right now with print dimensions 152mm x 152mm x 158mm. Many of your builds are much bigger than this. I'm curious what 3d printer you use? I would like to consider the Lulzbot Taz 6, but the cost is a bit high.

You can definitely build this particular design on that printer!

I designed it for the Up! Mini which is way smaller.

The bigger tanks will not ... that was on Flashforge

My newest design - which will be up some time before the end of the year is a larger tank and will definitely work on your printer.

Quick question- I have printed all the parts out and just got the motors in the mail (still waiting on the motor driver). Is it better to have the tank rear or front motor driven?

I usually put one side forward, one side back - it distributes the weight more evenly and makes it more likely to be able to climb over things.

Had them both rear and it works perfectly. To balance weitht i placed the battery to the front. I had it "remixed" into a single piece body parts and will post it as soon as possible. Also got it remote operated with arduino instead of Raspberry. Great design, thanks.

Cool - look forward to seeing it!

Hi! Nice project!
What have you used to connect each of the tracks? In the photos it seems some kind of metalic shafts. How do you make it not come out of place with the movement?

Thank you.

The best thing to use is 2mm stainless steel rod - which you can get from ebay or hobby stores - but are not as cheap as some would like.

I have also used cooking skewers and 1.75mm filament.

Mostly they just stay in place, but a small dot of PVA one one side usually does the trick. I use PVA as I can dissolve it in water if I need to get the pins out.


i am trying to make a tank myself.
But how do you make the cog and the track line up properly?


Are you creating the model yourself from scratch?

I am drwing it with inventor and i wil 3d print it.

TrackLength can be defined as the distance on each track from the centre of the two pin holes.

TrackLength = PI x CogDiameter / NumberOfSlotsInCog

CogSeparation can be defined as the distance between the centre of each cog on the track assembly.

CogSeparation = TrackLength x n

Where "n" is the number of tracks on the tangent line between the two cogs. On this particular bot the number is 8. I would try not to go beyond 10 (if you want longer you can always have another cog at the mid point between the two, as I did with the larger ProtoTank version of this robot.

thanks for helping me

I didn't really understand those formulas but ik think i was able to figure it out myself.
If it worked i will let you know.

This all printed out wonderfully for me, question: In one of the pictures you show a white plate that the raspberry Pi is
sitting on. Do you happen to have a link to this object to print?


No - sorry - I didn't keep the file for that object as it had some problems - I can't remember what the problems were.

Great tank! How do all the bits hold together? I'm assuming some of the parts are glued/welded as I'm using ABS and acetone.

Yes - glue - I have used super glue - I have also used the Dremel "welding" technique.

Hmmm ... hard to tell if they are 2mm or 2.2mm - if they are 2mm they will work well.

A different idea which has worked as well is to stick some 1.75mm filament off-cuts in and then melt them in hard at one end with a quick jab from a soldering iron. This has worked for me on one tank.

Hello sorry for the inconvenience but what kind of glue used for these parts ?

I have mostly used two part epoxy glue. For some parts (like holding the LEDs into their holes) I use super glue.

I'm having some problems. I used 1.75 filament pieces to assemble the tracks. The tracks are a tight fit to the cogs (no sag).When I run the motor it locks after a while because the cog indentation misses the track pin. I think my track ended up with a longer (or smaller) distance between the segments. I tried to make the track one segment longer and then it is is very loose but the problem persists. Is there a way to increase the tolerance or fix the track?

I'm thinking about printing a cog that has thinner teeth or no teeth at all. Would that help?

Sorry to hear you are having problems. I have problems with some filaments and not others and more often on my Flashforge than I do on my Up! Mini.

There does need to be a bit of a sag (about 10mm) for the tracks for it to work properly on this model.

The length of the tracks is important and need to be consistent. The way I have dealt with this problem is to change the diameter of the hole that the pin goes through (the middle one). On one track assembly I will use a number of different sized holes.

If you look at the Prototank ---> here http://www.thingiverse.com/thing:972768 --- you will see that I have included a number of different sizes (you can tell by the file name)


I was curious if you had tried chamfering the cog edges just a tad. Not TOO much, as you of course want plenty of cog. My track is exactly as you describe, with the 10mm sag (maybe slightly more, but not much) and what appears to happen is that things work fine for a while, but then for a reason I can't quite see, the tread doesn't fall nicely into the cog. I chamfered one side of the cog (with a knife, because I didn't want to reprint it just yet) and it helped keep this from happening quite so much. It also helped alleviate some of the sprue issues I was having (I would get some on a few of the treads on the inside). Anyway, I love the design. I'm actually going to stick my beagle bone black in there. I have an old JStamp (If I can develop for it again) I might revive and stick in here as well. Anyway, really cool, and simple. I used panelling nails for the treads. Might be easier than cutting up hangars (unless you've got a closet full of them!) I don't know if you have access to those as easily as hangars. The first set of treads I printed had some of the holes a little off, so the nails actually did need to be hammered gently, but if the treading is printed correctly (I used the one straight from the track.stl) things work really well. Thanks again. I'm looking forward to getting this thing going.

Yes, chamfering the edges might work.

In my next rework of the cogs, I intend to make the cogs more like actual cogs and not just circles cut out of circles.

I need to do this as the circle idea does not work when I scale up to say a 100mm cog radius.

Planning to make a 1m high "protocol droid" in the fashion of "Johnny 5" or Wall-e.

I saw something like what you are talking about that might work here. Maybe if the teeth were rounded it wouldn't catch. I think that is kind of what happens. Since the treads are printed, the .2mm print I used produced the expected striated finish. I think at some point this tends to grip the teeth of the cog, not letting the round middle part slide nicely in and out of the grooved area in the cog. That seems to be the real major binding issue. If it weren't for that, I think this design works pretty well. I've seen others, some really similar to this, but with the rounded cog design. When I go to do this again (and I'm eventually hoping to print another one, but one thing at a time), I think I'll look into rounding the cogs. I did file down the sides and one side of the teeth just a hair, and it does help, but I still eventually get stuck and the tread binds. The bind isn't quite as strong as it was, so maybe the motor can take care of it. When they get here. Last I saw, they were headed for JFK... So hopefully soon.

I would have printed your three sprocket design (that is what these are, not really cogs, I just always liked "Cogswell Cogs" from the Jetsons), but my print bed is too small. 80x80x80 (or 80x75x90 in my case) doesn't always cover it. I see the value in 150x150 and even bigger.

Hello Again.

I have already printed a lot of track pieces. I managed do create a cog in open scad that should fit my tracks. Just for comparison, what is the linear distance for the teeth on the cog you created?


Sorry I have taken so long to get back.

The formula is 50 * PI / 12 = 13.09 mm <- so the distance between the front pin hole and the rear pin hole (centre) is 13.09 mm

Comments deleted.

Does it use four motors? I'm trying to fit the two opposite CogBracketInner parts with the motors assembled already but they don't fit together. Motors seem to be too long.

No - this one does not use four motors - only two.

Thanks, went with your new prototank. Awesome models, thanks for sharing.

Thanks for the response! I was able to use 4d 1 1/2 nails that worked perfectly. Unfortunately, I am struggling getting it moving. I am using 2 6v geared motors (the TT kind) and dont seem to have enough power to actually get the tracks to move. Do you have any advice there the cogs spin great without the track, but with the track the motors just cant get it to move.

Yeah .... you should be able to hand spin the tracks freely (without motors) and they should continue to move after you push them hard for a short time. If you suspend the track assembly in mid air, the tracks on the underside should sag down about 10mm (just under 1/2 inch).

To achieve this each track should pivot freely around the pin and it occasionally helps to make a few of the pin holes (mid section) slightly larger.

I also have a 2mm drill bit that I stick in and spin around each hole just to ensure that they are clean of debris.

Where did you acquire the 35mm Pins that are 2mm in diameter, I am having a hard time finding pins in that size.

I'm using metal coat hangers. They fit perfectly

I find them on ebay .... sometimes I have to order slightly smaller ones. (25 mm also works) Or I have also bought 2mm rod from a hobby shop and cut it down.

I have also been experimenting with the idea of cutting down bamboo skewers, but you have to change the diameter of the holes to match (different packets are different diameter) and spend a bit of time sanding to get the right.

What do you use as the holder for the PI? Is the file on thingiverse?

I don't have one specifically for this bot because it is the base for whatever I need.

I made one and put it here http://www.thingiverse.com/thing:824979 specifically to hold a power converter that I used a lot along with a commonly available motor shield. But this is for an A+ and not the normal B+

Raspberry Pi Camera part for Drogerdy Tank Bot

Hi, great little tank.
Is it possible to share the sourcefiles on thingiverse? I would like to use other motors and change some other small details without rebuild the whole project.

Hi I guess you must be in Australia as the motor you specify does not ship to the UK nor Austria.
And the link to the L298 board is the same as the motor.
What would it cost to send a kit of the motors and the L298 boards to Austria?

Check Aliexpress.com, found some there...

I found the same motors on banggood.com (in case anyone else finds this thread and runs into the same shipping issue) ... Its a Chinese version of Amazon or something like that. But they shipped them to the US as the same link wouldn't ship to the US either. Strange, since the motors probably originated in China. Will let you know as soon as they come in if there are any defects. I ended up buying 12 for around $20 US. ($1.xx shipping).

The L298 boards are easy enough to find on Ebay UK - see for, for example: http://www.ebay.co.uk/itm/Dual-H-Bridge-L298N-DC-Stepper-Motor-Driver-Controller-Board-4-Arduino-x1-x3-x5-/181768536409

Still looking for a suitable motor though

Sorry .... I have no idea .... I would keep looking on eBay till you find one that does. I use the Chinese sellers that have free postage because it is cheaper (still can take six weeks to get here) - we have a lot of boats going between here and China.

There are a few Australian re-sellers that buy these things in bulk and then sell internationally (for this very reason) but they are irregular in their stock and their mark-up is massive.

If you are really desperate I could list some on eBay for you and send the link, but I don't have many spares at the moment.