Introduction: Hopper.

About: Our grandkids keep me busy!

"Hopper" is a 3D printed hopping mechanism. Using two springs and a "mass" (the battery, motor, motor holder, switch, 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 to see what people far more talented than I can accomplish with a mechanism such as this, Robothut ( has expanded on this model to create this: This gentleman has an amazing collection of electro-mechanical robots and a beautiful talent for restoration of antique toys. Please visit his site and give him a thumbs up, his talents are truly outstanding!

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.


I used the following supplies in assembling Hopper:

  • Wire
  • Solder
  • Thick cyanoacrylate glue.

Step 1: Parts.

I acquired the following parts for Hopper:

  • One 3.7vdc 100ma Lithium Battery (
  • One JST PH 2-Pin Cable (
  • 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.

Step 2: 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.

Step 3: 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 on smooth surfaces, glue small strips of 120 grit sandpaper or apply small felt pads to the underside of the feet. Stick on rubber feet will create too much bounce causing stability issues (I wonder how I figured that out?).

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

I hope you enjoyed it!

Robotics Contest

Participated in the
Robotics Contest