Saturday, December 18, 2021

Mojo4 - Additional Details (#4)

Here are some more details of Mojo4 - Quadruped Robot Dog

  NOTE:  This is a FRANKENSTEIN Prototype. ;)   it is built mostly with reused 3D printed parts. All of the Dark Green Leg parts were printed so that I could experiment with the 5-Bar design.  Everything else is reused or scrap from previous projects.  This includes the black frames used to mount the servo motors.  My plan is that once this is walking, I will start printing a new chassis with my new-found experiences, also to add the 12DoF.  But first this one must walk.


Here are the pictures:


Length - measured from the pivot points:


Mojo4 - Width measured on outside legs


Top - Yes, this collection of PLA is a mess.  

Electronics:  Arduino Pro Mini clone, PCA9685 servo driver, and battery box. 

The 4 servo boxes are on the sides all held together by random parts that fit, bolted together by M3 screws and nuts, some super glue, and hot glue.  Somewhere in there is a 9V battery for the microcontroller, there is a small power switch on the mounting board.



Battery Box:  3D printed, for 2x 18650 batteries. I reused the spring contacts from small toys.  This is a problem since the spring that I have highlighted with an arrow can not handle the current of the batteries and heats up (to the point of melting the hot glue holding it in place).  something else to fix. ;)

3D Printed Battery Box for 2x 18650 batteries


Here is a picture of the leg configuration.  3D printed, minimal material.  It has been strengthen (i made it thicker) to prevent bending. The pivot points are small common nails placed into tubular channels in the leg components. a very cheap easy way of making a hinge. The paw needs a new design.  the current version is 3D printed, has rubber on the bottom, and part of a wine cork to hold it in place.  reuse!  ;)

Mojo4 - 5bar quadruped robot leg


Sunday, December 12, 2021

Mojo4 - Stable Walk Testing (#3)

 Mojo4 - the Quadruped Robot Dog - is now undergoing some very basic walking tests.  Here you can see a video of one of the attempts.  There have been a number of issues found:

- Width - much wider now

- Current Draw from battery, is heading up the 'spring' used to hold the rechargeable batteries in place.

- Feet, getting the right grip

- Leg positioning.  Hind legs back, front legs more forward

- Basic gait, perhaps raise the legs up a little more on the return


Thursday, December 2, 2021

Mojo4 - Half-a-Robot-Dog! (#2)

 Quick Update - Mojo4 is coming right along. I have a lot post about.  But, for now I will just share this quick video.

video: 1/2 of Mojo4

Over the last weeks, my focus has been on the Inverse Kinematics, I will post more about this shortly.  When I had success with the above Half-Dog, i ran into an issue with the Voltage and Current of the servos when used together.  I have just solve this issue and will also follow up with my learnings.

In the mean time, enjoy the video. And, fingers crossed, will have something more to show shortly.

Sunday, November 21, 2021

Mojo3 - A Robotic Dog (#11) - Wrapping up the Design

Mojo 3 has been a good learning experience, but for now i will shortly be moving to a 5 bar design and more complete robot concepts.

Here is the latest video:


I really like the small compact design of Mojo3. The prototype fit nicely on my desk. It is easy to assemble and did not take long to print on the 3D Printer.  I intentionally made it smaller than Mojo2 in order to get it to work with small 9g servos.

Also in this design, the weight of the robot was carried from the legs directly to the chassis through a 8mm (skateboard) bearing. This is a significant improvement over Mojo2.

Finally, I took the 'compliance' part of the robot out of the design. These legs are driven strictly by the servos, and gears attached directly to the servos.  This approach has the advantage of providing the most direct torque to the leg components. 

Unfortunately the Knee arrangement with a gear and type of pinon/cam, does not work.  It was easy to calibrate. You could just lift the arching gear teeth and put them in the right locations.  However, once the robot was under load, it was prone to slip.  The video shows this very clearly.

Going Forward

I have started a 5 bar leg design.  This arrangement should be easier to get a full range of motion. The next design will incorporate Inverse Kinematics. I will try to write some meaningful blog entry on that.

Monday, November 8, 2021

Mojo4 - 5bar design (#1)

Time for A new Mojo Design!  Time to get back in to the wonderful world of Quadrupeds!

I am trying out a new design approach for a new Quadruped.  The 5-bar linkage.  

This approach has been successful in several quadruped designs found on the internet. (one of my favorite is by Oracid: video.) 

It has a full range of motion with only requiring only 2 servos per leg. in addition the leg linkages are supported by pin/hinges on the frame. This should reduce, but not eliminate the force exerted on the servo motors.

Linkages are just mechanical arrangements of bars/links/connectors and pivoting connections. Given different types of configurations, it is possible to get a wide range of applications. One of the most common linkage people have seen on old steam engines. Here, the steam exerts a linear force that is then converted to a rotational force to move the trains wheels.

For a 5 bar linkage, only two bars are connected to the servos. by changing the angle on just these two servos, one can get a wide range of motion.

By I.Elgamal - Own work, CC BY-SA 4.0

For my design, I will be connecting the top two pivot points together to create a 'diamond' of the linkages.  next, at the bottom, the bar is extended further out. Here is where the 'paw' will be connected.

5 Bar Linkage in a diamond with 'paw' configuration

I am hoping that this arrangement of parts should provide significantly more vertical lift in the leg. Mojo2 did not have significant lift and often shuffled.  Also, Mojo3 had more left control, but the servos were overpowered. This combination should provide both the needed strength and lift required.

To control the leg, the two servos will be connected in smaller 4 bar connection to the sides of the Diamond. The key in the design is to keep the servo horns parallel to the bars that they control. In operations, the servos themselves act virtually identical to the top diamonds sides.

Mojo4 Robot Leg design with control actuators

The linkage parts will be 3D printed (of course) and I will be using a small nail as the hinge.  This hinge arrangement is very similar to the track design I used on the Wild Weasel. (video)  Having a reliable design in the CAD and 3D printing makes building robots a lot easier. With this design I can remove a freshly printed part and assemble it with only basic smoothing and cleaning.

For my first rapid prototype testing, I will only have a test stand to validate the movement of the leg. I am re-using parts and the wiring from Mojo2.  I will reuse the Mojo2 servos, MG995 servos. These are 13kg servos. They are slightly heavy for this application at 65g.

Here is what the constructed leg mechanism looks like:

Mojo4 Robot Test Leg

Next Steps:
Now that the basic structure is printed and built for the 'test stand'. I will work on the software to move the leg. For this robot, and the first for Mojo, I will implement some form of Inverse Kinematics. With Inverse Kinematics, it will be possible to instruct the leg the exact position it should talke, and the IK will determine the correct angles to command to the servos.

Saturday, October 30, 2021

Centi (#6) - Playing with the Design


Perhaps it is time for some new perspective after a pause of 2 years.  For a "Weekend Project", I decided to re-examine the Centipede design that I had started before.  At this time, I have a bit more experience with gears and how to make the daisy-chain of gears that would be necessary for this type of robot.  I wanted to verify, with a physical test, how such a mechanism could fit together and if the gear train would have enough torque for it to actually move the robot.  For this test, I have learned much more about the potential, and as well as some limitations.

Centipede Robot V4 - Frame and Gears

I really liked the Hexagonal design of the previous version. Making the CAD files for that design was a lot of enjoyment.  However, that design was just not practical. It required too much printing, and ultimately did not solve any issues that could be designed away. The coverings prevented the ability to fix the leg-lever without taking it apart. So, at this part in the design process it needed to be simplified.

The new Design re-uses the ball-Socket universal joint from the previous version. It creates a frame, that will have a train of gears on it.  With proper use of variables for the distance and separation between the gears, it was possible to make this design parameter driven. I could create a 3 or 4 leg frame or any number.  In fact, I started with 4 legs, and for just the Proof-of-Concept, I reduced it down to 3.

I was able to quickly print out the new design.  I was able to re use the chopsticks as well as the ball and socket parts.  I also had some 3D printed gears already in the works from the Tilt! and Gear-box projects. I am currently satisfied with using the 1.5 modulus for the Gear teeth to radius design. It is larger than 1.0 and much easier to print and start using.

Assembly of the Prototype

Completed Prototype Test frame for Centipede Robot

Here is the proof of concept constructed and working. At the end, I use a gearbox to drive the prototype. The short video is on my YouTube channel.

Wow, ultimately it could look like this with 18 legs. This would be about 40 cm wide and 50+ cm long (without a head).  

18 leg Centipede Robot

So this all seems possible, with a bit more printing and design work. I think for the full version, It would need to have a complete cycle on downlegs.

If you have more interest in what research is being done with Myriapod robotics. Here is a paper written by Yasemin Ozkan-Aydin while at Georgia Tech:  A systematic approach to creating terrain-capable hybrid soft/hard myriapod robots  While their approach is to build small single actuated legs, I am attempting to use recycled motors with minimal actuation. My approach is considerably more challenging (needless constraints?). I feel that the research in there paper will have faster and more interesting results.

Monday, September 6, 2021

Tilt! - A Self Balancing Robot (#9) - The Balancing Act


New Gearboxes are installed time to make the balancing happen. - with video!


Ugh, I spent a whole session trying to figure out why the M6050 was not communicating with the I2C bus.  It was clearly visible but no connection.  It seems that the circuit would prefer to have 3.3V in the Vcc, I was sending 5V.  Switching to 3.3V solved the problem. On to the next stage.

here are the first results:

First Test default:

double Kp = 40; // First adjustment
double Kd = 1.1; // Second adjustment
double Ki = 0; // Third adjustment

This seemed to be working, but the reaction of the motors was a bit off.  Some quick searches of LMotorController motorController() didn't reveal too much.  But I do see a factor in the code for the left and right speed factor.  These were set to 0.6.  IF these are associated to tune down the PWM signal sent to the motors, then it could mean that it is under powering.  I moved these to .8 and got a much more robust effect on the motors. On to Tuning the PID

Second Set  Test  default:
double Kp = 50; // First adjustment
double Kd = 1.0; // Second adjustment
double Ki = 0; // Third adjustment

I am getting some oscillation now, the Kd starts to tune this down.  Clearly from the video the robot has a tendency to lean in one direction.  I adjust the frame by putting hot glue between the sections, just squeezing it in and letting it harden.  I also suspect that the battery (weight inside) may be shifting forward. Using some cork, have wedged it in to prevent momentive shifting.

Third Set  Test  default:

double Kp = 55; // First adjustment
double Kd = 1.0; // Second adjustment
double Ki = 0; // Third adjustment

This was the most aggressive on the Proportional control constant that I used in the First Session. Certainly a little more 'attack' on the balance change. Starting to get some stable oscillations. 

Forth Set  Test  default:

double Kp = 55; // First adjustment
double Kd = 1.0; // Second adjustment
double Ki = 10; // Third adjustment

With this change, I added the Ki - Integral constant in to the PID. The result of Integral is to help smooth out the oscillations. There is a negative effect of controller 'Wind-up' as the integral values do not dissipate quickly. However I do not think I experienced this in this session. 

Overall the new settings in this set were not as desirable as the previous settings. Stability, subjectively, was reduced. Also, it seemed that I had a 'short' or disconnect in the power - OR - the PID was overwhelmed and stopped for about 1/2 second. Tilt! just fell over, and then everything started back up. 

Weight Adjustment 

Finally, I added a moderately heavy weight to the top of the robot. I used a Transformer that I had salvaged out of speaker. The additional weight seemed to slow the 'jitter' of the oscillations. However, the motors were unable to overcome the falling weight when it was tilted.

It seems that the robot has a tilt that needs to be identified and removed.  This is also leading to instability.  perhaps it is associated with the 'level-ness' of the sensor.

And - after repeated testing the blue wheel started to fall off. This was a temporary solution to start with.  It seems the repeated jerking started to effect the friction connection that was holding it in place. 

Tilt! A Balancing Robot - 3D Printed, Recycled Motors

Next Steps

1) identify the source of the lean/tilt

2) attach some weight to the top

3) investigate using the 12V battery and 5V power source

4) investigate easy remote control solutions

Friday, August 13, 2021

Gearboxes for Recycled Printer Motors (video)

 For those interested in making Gearboxes for Recycled Printer motors.  I have posted a video on my YouTube Channel that shows the asseymbly of the gearbox. Unfortunatly, it is not an instructional video, but it does show how to build it.

Monday, August 9, 2021

Tilt! - A Self Balancing Robot (#8) - New Gearbox for Motor and Wheels


A new gearbox for the self balancing robot.

The reuse of the pulley system is not working on the robot. Therefore, I started the whole gearbox design for recycled printer motors.  Now that there is a somewhat functional gearbox, it is time to return to Tilt! and see how the gearbox can be applied.

Here are the parts!  Now, just Engineer a new Motor mount and Wheel assembly!  

Engineer That!

New Motor Gearboxes layout with the old mounting brackets

Rough draft started - the concept of the new mounting system will be similar to the previous design iteration. Now, instead of using pulleys on a wheel with an axel, the axel will be directly part of the output shaft of the gearbox.  There will be a single 22mm bearing to take the load/weight of the robot instead of transmitting that to the gearbox/motor.

New Motor mount and gearbox

The New motor mount is wider than the original chassis and will fit 'around' the existing battery box. This frame will take use of the 1cm holes to allow for easy modular construction.  The gearbox, has new brackets so that it can be screwed to the new mount.  The old wheels are reusable, I will have a friction dependent plug that sets in the hub of the wheel and securely fits the output shaft of the gearbox.

Tilt with new 3D printed Gearbox - more Torque, less speed

NEXT:  Look for the new video showing the assembly of the gearbox. This is not a full instructional video, but does show how a simple gearbox can be 3D printed to allow for the use of recycled printer motors in robot construction.

Sunday, July 11, 2021

Gearboxes for Recycled Printer Motors (#2)

The final prototype build of the 3D printed gearbox for using recycled printer motors.  To see the initial development, see Part 1.

First version of Gear Design (above) vs. Current version (below)

Here are the versions changes from my initial gear design to the current one used.  The latest version has fewer teeth and is slightly wider on the smaller in-set gear.  This has required the housing box to be increased in size.  I used this extra design cycle to increase the distance between the axles in addition.

First version (right) vs. Current version (left) - output gear/shaft missing from picture

The Assembled Gearbox
unfortunately, you can not see the internal gears, because of the inclosing housing.  This design is working.  It seems to be good tork on the output shaft. The rotational speed is significantly less (~6:1) than the motor speed.  Even better, it will run without getting jammed. 

The next steps will be to design in a method for securing the gearbox to the robot. This may be dependent on the robot it is being applied to. The gearbox increases the space required for the motors.  My robots tend to be small, so this will have significant impact.

In addition, I would like to remove the load from the output shaft using 8mm skateboard bearings.  Finally, the drive shaft will need to be adjusted to provide a better attachment method for the output. 

Recycled Printer Motor 3D Printed Gearbox - First Complete Prototype Build

Robot Application
Since 3D printed gearboxes are not the focus of my robot building, this initial disign is good enough for now to move forward.

The Milli Robot will be fitted with the new gearbox. The connection between the motor and the helix shaft has been problematic. The rotational rate was too fast. Frequent jamming (due to a broken stabilizer) resulted in the drive shaft burning out the drive gear. A gearbox and new stabilizer should get the robot development back on track.

Broken-bot Millipead Robot with the WildWormDrive
The motor to Drive section will be re-designed with the 3D Printed Gearbox

Tilt!  A self-balancing robot will also be fitted with the new gearboxes. The original concept to use recycled motors, used the belts from the printers. The belt system is functional, but the fast movements required to provide balance created slippage in the belt. Typically slippage can be reduced or removed with a tensioner. However, I think in this caseitwoudl be best just to replace the belts with a gearbox system.  The drive mechanism is not the focus of this robot, therefore simpler is better.

Tilt! Robot - will be redesigned using the 3D Printed gearbox
The pulley-belt system had too much slippage

Monday, June 7, 2021

2021 Game of Shrooms


The Totally Not Evil Robot Army will be participating in the 2021 Game of Shroom - Art Seek -n- Keep.  If you are in Düsseldorf, Germany on June 12th 2021, you can find original Totally Not Evil Robot Army Shroom-Art!

for more details and the Clues - see the page:  2021 Game of Shrooms

you can learn more from the official site:  Game of Shrooms

Goto my Shroom Page for the details and CLUES

The Shrooms are Growing!

Shrooms are next to famous Düsseldorf painter Heinrich Ludwig Philippi

Shrooms in the Wild!

2021 Game of Shrooms - Totally Not Evil Robot Army

Goto my Shroom Page for the details and CLUES

#gameofshrooms #shroomdrop #düsseldorf

Tuesday, June 1, 2021

Tilt! - A Balancing Robot (#7) - Initial Tests


[This is an older post that did not get published. It describes the last steps taken on Tilt!  This was also part of the motivation for building a gearbox for recycled printer motors.]

Tilt! Balancing Robot - testing configuration

After some time with "communication failure", I sorted out some loose connections and got the initial prototype working!  All hail the Cargo Cult Programmer! (need to to write more of a story on this one I think.)

Torque and the Printer motors.  The large gear ratio with the belt pulleys is working. The wheels are turning and it is just enough to suggest that there is an attempt at ballance.  At least this seems to be true in one direction. 

12V Testing.  Some testing with the 'power' of the motors or how easy it is to stall the motors is *not* very encouraging. with only small effort, I can stall the printer motor.  This is with 12 volts of power - certainly at the lower end of the rating for these motors.  Attempting more power up to 18V will be worth the test, although my built in battery bank only supports 12v.  (thinking)  18V with a RC battery might be feasible.

18V Testing.  By connecting the robot up to 'shore power' (tether), I bypassed the onboard battery and supplied 18V to the motors.  The robot was a bit more responsive, and the issue became more clear.  Instead of stalling, the motor caused the belt to slip.  In either case, a re-design of the motor-drive-wheel system is in order.

Another aspect is to reduce the gear ratio and see if less torque is an option.  This could be done by printing new pulleys.  but what I sacrifice in torque and gear contact - may manifest undesirable slippage on the pulley. Given the results of the 18V testing, the best option will be to use a gearbox to increase the torque of the wheel, and reduce the speed/impulse of the motors.

Next Steps - The gearbox for printer motors is already in progress.  The initial results of that design are very positive. I will be replacing the motors in Tilt! with new gearbox driven versions.

in other news:

This guy has a good page on balancing robots:  Axel's FYI Balancing Robot

And this video is typical.

Saturday, May 29, 2021

Three Year Anniversary

As of May 27th, this Totally Not Evil Robot Army Blog, is three years old.

in the last 12 months, the blog has had over 31,000 views. and for all time about 45,000. Perhaps the global lockdowns have created a few more page hits. This year, over 50% of the page hits have come from Hong Kong, and another 10% from Indonesia. Perhaps a new robot hot spot?

It is clear that many russian website have been linked to mine. They are trying to create a web of references to increase the search engine optimization for their own customers pages.  However, I delete these messages as soon as they arrive, but that does not keep the internet-troll-robots from linking to me.

There are now ~80 blog posts on the record. The most popular pages are still related to Mojo the robot dog. Specifically, the discussion on alternative leg designs. I am hoping someone can make some good use out of this.

For the past year, the focus has been on two robot designs.  Tilt! is a balancing robot and Milli is a millipede robot with a special metachronal rhythm. Like most of my robots, i run through multiple design iterations, typically leaving projects open for future insight or development. This is certainly true with the last robots. Tilt! does actually work, but is not stable (ha ha) due to belt slippage. And Milli or WildWorm is also working but has some torque issues.  Both robots will use my new gear box design and portable power.

Sprinkled in with the robot development is some observations from the internets and humor where it can be found.  Enjoy and let me know what you think in the comments.


Düsseldorf Doug

Monday, May 24, 2021

Desert Robot Project


Sonoran Desert - Arizona, USA

My new objective for remote robot exploration in collaboration with Patterntology

Exploring Robots:  Desert Robot Project

Living in the desert, watching what is going on around. An Internet <=> Reality interface/portal. It is a true remote sensing platform that is self-sustaining. It needs protection from the harsh elements of sun, rain, dust, and animals. It has to have the right scale to move and manipulate. but most of all it has to have the ability to see and sense and to communicate this back to the digital world.

This post is a collection of thoughts on what a Desert Robot could potentially be.


It will be a remote sensing platform, with the ability to move, manipulate, and communicate. This is the basic function of all of the probs we have sent to planets, asteroids, and space. But, these robot will be for earth.

It is clear that all Exploring Robots will have the common requirements of:

  • Sense the Environment (vision,hear, temp, smell, feel, etc)
  • Manipulate the environment (possibly)
  • Move (preferably)
  • Communicate its finding, take commands
  • Process the above, as well as manage itself
  • Power: preferably renewable and storable, and portable
finally, all of the other requirements are all about surviving in the environment they are destined for.


outside of the primary functions, the non-functional requirement is to survive. It needs to survive the punishing environment that is not particularly kind to electro-mechanical systems.

Desert Robot surviving means managing these aspects:

  • Intense Sunlight, Ultraviolet and Infrared Radiation
  • Heat in excess of 45c, or below freezing
  • Dust and Sand
  • Rain, monsoon flooding, potential immersion
  • Desert animals - PackRats!  Insects and critters
  • People - that want to abscond with our dear robot


Shape - the robot could perhaps be some robotic cross between a tortoise and a crab. It would need a hard outer shell for protection and to encapsulate the internal electronics. The bottom would need to be smooth, like a tortoise so that it could slide over rocks and obstacles. A bio-inspired outer shell would be ideal for protecting the primary components.

Mobility - choices on types of movement would need to be adjusted by how far and over what terrain is planned. For the first iterations, I am considering that the robot should be able to move and manipulate, but that it would not travel over long distances. Being constrained to just a few dozen of square meters would allow the focus to be on desert wildlife instead of unexplored terrain or vistas. If this is the case, it would be possible to use some small legs that could drag the robot, instead of wheels or treads. small, stout legs can be implemented with a few simple servos and would not require a large power source.

Scale - how large should this robot be?  That would be a function of the energy budget available and what obstacles it would need to overcome.  On the desert floor in the Sonoran Desert, for example, there are many branches from plants and cactus that would need to be maneuvered around.  The size of the solar panels needed for operations and communications would also need to be considered.

What other design considerations should be made for a Desert Robot?

Please leave your thoughts and questions in the comments section below.

Sunday, April 11, 2021

Gearboxes for Recycled Printer Motors (1)

Typical brushed DC Motors salvaged from old printers
part 1

I love to recycle old electronics and printers for parts. I find taking old printers apart is a fascinating way to learn the mechanics of robots. I now have a nice collection of small 9v, 12v, and 18v brushed DC Motors. This is the basic mechanical part of robots! However, using these motors has proven to be difficult as they often have a high rotation speed and low torque. For robot projects, you typically need the opposite, slower rotation, and high torque.  The only way to achieve this is to use a gearbox with the motors. Gearboxes use the mechanical properties of gear-reduction to reduce the rotational rate and increase the torque.

Now it is the time in my robot development to build an accessible gearbox that will work with my projects and recycled motors.

I have worked with gear reduction on a few projects.  notably the tank track and wild weasel drive. Discussions about Planetary gears.  More recently with Tilt!, using the motors with a belt.

Here is a nice Instructable that i am using for inspiration, "3d Printed Gearbox for Small Dc Motors". It does not mention much on the actual design/engineering of the gearbox.  But, it is a nice video and a good place to start.  There are plenty of other YouTube videos that also show the capability of 3D printing gear boxes. Remember, it is far too easy to spend (waiste?) time watching others make videos, then just doing it yourself.  ;)

Starting from the Beginning

What do I need?  (Functional Requirements):

  • must work with recycled printer motors 
    • brushed 9-12V motors 
    • bare metal spindle
  • 16:1 or better reduction and torque
  • minimal backlash (movement in the output shaft)
  • keep the dimensions to less than 1.5 to 2 size of the motor

softer, but important requirements:

  • something easy to print, use, and maintain
  • reliable, not prone to jamming
  • No stripping of the motor gear interface

The concept:

the motor spins a series of gears, each time a small gear with ess teeth drives a larger gear with more teeth. each stage reduces the rotational rate of the gear that is being driven. There needs to be 4-5 of theses connections. finally it is connected to an output shaft. This is all contained on just 2-3 axels, contained in a box, and bathed in grease.

Let's start with a basic gear:

I am using OpenSCAD for my designs.  For gears I highly recommend the Getriebe.scad library from Dr Jörg Janssen, he rocks!  It is written in german, but hey? what's wrong with that? ;)

The primary gear will have a large and small gear physically connected. I am starting with 14 and 28 teeth (a ratio of 2) with a modulus of 1.0 (relation between teeth and diameter). I will also use a angle on the teeth on the gear, to help reduce the gears from raising up on their axles when spun at high speed.

Gear v1

Stacking the next gear:

so the big design question, is what is the separation of the gears? this should be the diameter of the large gear minus half the diameter of the small gear plus some tolerance. Now a good engineer will be able to calculate the tolerance needed based on the 'pressure faces' of the gear teeth.  however, I am not that engineer today and my 3D printing lacks some precision, therefore I am going to start with 0.5mm. ;) 

Stacking the next gear in place

Full gear stack:

Next, add the 3rd primary gear to the top of the first axel. 

For the motor gear (Red), I am using the same gear configuration as the small gear, but making it 1.5 taller than the standard gear height.  

For the output shaft gear (Green), I am using the same gear configuration of the large gear, but will add a shaft on top of it. For this first build a version, i will just print the shaft as part of the gear. However, this is not good design. The shaft should not be printed, ideally it will be a different material, preferably metal. In fact, this is the weakest part of this design so far. Load bearings should be added to this shaft to absorb the load of the shaft and translate it to the box (or any other non-moving part of the assembly). For now, I will print - it is fast and this is more of a "pathfinder" exercise.

Full gear stack

The Box

The gears will be placed inside a box. It will be important to keep the gear from getting foreign matter jammed in the gears. Also, the gears will need some lubricant grease, which will be messy. Most important, the box will provide the structural strength needed to hold the gear axels in place. On one side the motor will be attached. On the other side will be the output shaft and associated load (a bearing would be ideal, next version).  In addition, I will add some mounting holes, so that I can bolt the gearbox to my robot creations.

My first design thoughts are to have the motor and the gears attached to a plate that can be screwed on to the box. The rest of the box will be just the compartment, output shaft hole, and mounting support. This part of the box can be printed 'upside down' (see diagram).

"top view" (no top plate) to make sure all the gears fit

The CAD view, can be used to visually determine if there will be issues with the screw placements.  In this next view you can see the motor (in blue) will over lap the screw positions for the motor plate, as a result, I think i will lengthen this side of the box to compensate. (I also have an issue with the wall placement on the right side)

Use the CAD views to verify the design

Full Design

drafting out the box and all of the screw holes, will complete the initial design.  Now it is time to review the CAD drawing, look for flaws (like forgetting the primary axel holder in the output_shaft_plate). After some adjustments it looks like this:

First full design

Time to start 3D printing and testing

The first results - work, but leave a little to be desired. I assembled the motor, gear, and the three primary gears together. I used nails as a quick axel. Hooking up about 8V of power, it gave it a quick spin. It does work! This test was outside of normal operating conditions as it will be enclosed in a box and axles will be supported on both ends.  The operations were a little rough (no grease!). Therefore I did not post of video of it.  Here are some pictures.

Gearbox version1, first print

Gearbox version1, top view

Next Steps

For the next steps on this project, I will be making adjustments and some improvements. Primarily I will reduce the number of teeth, and increase the modulus. This should result in a similar sized output, but with less teeth. I believe the lower number of teeth will print easier on my 3D printer. I may also add a few mm to the size gears as well. Check back to see on the next post.