A 3D Printed "Hopping" Mechanism.


Creative Commons Attribution Noncommercial Share Alike

Commercial use is not allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


"Hopper" is a 3D printed hopping mechanism. Using two springs and a "mass" (the motor, motor holder, switch, battery, gears, axle and cams), the mechanism first compresses the springs then releases them to propel the mass upward to an abrupt stop causing Hopper to hop.

Modeled after windup and battery powered hopping toys from my much, much earlier years, Hopper was designed to demonstrate the difference between potential energy (energy stored in the springs via the battery, motor, motor holder, switch, gears, axle and cams) and kinetic energy (energy released from the springs and the resulting velocity of the battery, motor, motor holder, switch, gears, axle and cams), while entertaining the grandkids as well!

And as usual, I probably forgot a file or two or who knows what else, so if you have any questions, please do not hesitate to ask as I do make plenty of mistakes.

Designed using Autodesk Fusion 360, sliced using Cura 4.3.0, and printed in PLA on an Ultimaker 3 Extended and an Ultimaker S5.

One final note, I receive no compensation in any form whatsoever for the design, equipment, parts and/or materials used in this model.

Materials and methods


I acquired the following parts for Hopper:

β€’ One 3.7vdc 100ma Lithium Battery (https://www.adafruit.com/product/1570).
β€’ One JST PH 2-Pin Cable (https://www.adafruit.com/product/3814).
β€’ One N20 6VDC 100RPM gear motor.
β€’ One micro switch (Uxcell a12013100ux0116 High Knob 3P 2 Position 1P2T SPDT β€’ β€’ β€’ Vertical Slide Switch, 0.5 Amp, 50V DC, 50 Piece, 3 mm).
β€’ Two springs (32mm length, .5mm section, 8mm OD (from a local hardware store).

You will also need a suitable battery charger.

I 3D printed one each of the following parts for Hopper at .15mm layer height, 50% infill with no supports:

β€’ Axle, Gear (10, 2).stl
β€’ Base.stl
β€’ Feet.stl
β€’ Gear (10, 2).stl
β€’ Gear, Crown, Axle.stl
β€’ Gear, Crown, Motor.stl
β€’ Leg.stl

Prior to assembly, test fit and trim, file, sand, etc. all parts as necessary for smooth movement of moving surfaces, and tight fit for non moving surfaces. Depending on you printer, your printer settings and the colors you chose, more or less trimming, filing and/or sanding may be required. Carefully file all edges that contacted the build plate to make absolutely certain that all build plate "ooze" is removed and that all edges are smooth. I used small jewelers files and plenty of patience to perform this step.

Wire the Motor, Switch and JST Connector.

To wire the motor, switch and JST connector, I performed the following steps:

β€’ Cut the wires on the JST connector to 40mm in length, then stripped and tinned the ends.
β€’ Soldered the black wire from the JST connector to the motor "-" terminal.
β€’ Soldered the red wire from the JST connector to one of the outside switch terminals.
β€’ Soldered a red wire from the motor "+" terminal to the center switch terminal.

After wiring, I connected the battery to the JST connector, turned the switch on, and verified that the motor shaft rotated clockwise as viewed from the motor shaft end of the motor (if not, reverse the motor wiring). I then turned the switch off and disconnected the battery.

Assemble Hopper.

To assemble Hopper, I performed the following steps:

β€’ Pressed the motor assembly into "Base.stl" such that 3mm of the axle is above the motor gear plate.
β€’ Pressed the switch into the base assembly on the large axle hole side.
β€’ Slid the battery into the base assembly and secured in place with double sided tape.
β€’ Pressed "Gear, Crown, Motor.stl" onto the motor shaft.
β€’ Positioned "Gear, Crown, Axle.stl" centered over the small axle hole, slid "Axle, Gear (10, 2).stl" into the large axle hole, pressed the axle through the axle crown gear, and out the small axle hole.
β€’ Pressed "Gear (10, 2).stl" onto the axle such that the tooth aligned with the tooth on the axle gear.
β€’ Slid "Leg.stl" into the base assembly such that the leg teeth faced the gear and axle gear teeth.
β€’ Placed the springs onto the leg.
β€’ Pressed "Feet.stl" onto the leg until the feet contacted the springs, then glued the feet to the leg using small dots of cyanoacrylate glue.
β€’ Connected the battery to the JST connector, turned the switch on, and Hopper hopped!

If your Hopper lacks traction, you may glue small strips of 120grit sandpaper to the underside of the feet.

And that is how I 3D printed and assembled "Hopper".

I hope you enjoyed it!



Issues are used to track todos, bugs or requests. To get started, you could create an issue.


Mini 20150514 1805293DRay added this to the Things to Print collection ago
38753c36af87f08415a69523fc25808f?default=blank&size=40hodgsonn added this to the Ultimaker collection ago
2c20a7299319bae293bd7e3108287ad4?default=blank&size=40majkl added this to the toys collection ago
2d109b2ed00af3dca6d04bfaee7fd643?default=blank&size=40GeAs S added this to the my favorite collection ago
0592e92f50010d5abf34a408bf416747?default=blank&size=40redpaul6t8 added this to the Things to Make collection ago
Mini 150609   casual portrait  square Telliria added this to the Electro-mechanical fun collection ago
373464ea2e2a50b9c33e5b2a6e53375f?default=blank&size=40Andrew added this to the Stuff collection ago
F05d8fd1c7682b4d2cfb7ba67846741c?default=blank&size=40montoan added this to the Things to Make collection ago
79b56a9b1c38ea8b9cdf5855f4fbb872?default=blank&size=40pmandryk added this to the Stuff to print collection ago
014fe3aac3afaf422ff977987031ac74?default=blank&size=40Tassilo Schubert added this to the print collection ago
Mini lora and iGreg Zumwalt published this design ago