Hello friends, I hope you all are doing great. Today, I am going to share the new Planetary Gear Motor Library for Proteus Simulation, the 33rd library of our motor series. If you have searched for a Proteus simulation of a planetary gear motor, this one gives you the popular 36 mm 36GP-555: a strong 12 V motor with a two-stage planetary gearbox, used in robot drives, winches, linear actuators, camera sliders and lifting mechanisms. Planetary gear motors are loved for their torque in a small, round package, and robotics students meet them in almost every drive and arm project.
Planetary Gear Motor Library for Proteus Simulation
Latest version: V1.0 (November 2026, this tutorial)
Other motors: SG90 Servo · TT Gear Motor · 28BYJ-48 Stepper · NEMA 17 Stepper · MG996R Servo · N20 Encoder Motor · JGA25-370 Encoder Motor · FS90R 360 Servo · 130 DC Motor · A2212 Brushless · X27.168 Gauge · Analog Panel Meter · DC Tachogenerator · LM393 Speed Sensor · MG90S Servo · DS3218 Servo · L12 Linear Servo · JGB37-520 Motor · RS-775 Motor · JGY-370 Worm Motor · 12V Linear Actuator · Coin Vibration Motor · Mini Submersible Water Pump · 12V Peristaltic Pump · 4-Pin PC Fan · 12V Push-Pull Solenoid · NEMA 23 Stepper Motor · Micro Linear Stepper · TYJ50 Synchronous Motor · Quartz Clock Movement · Air-Core Gauge · Electromechanical Counter · Split-Flap Display · Electric Bell · Wind Turbine · 8520 Coreless Motor · Car Wiper Motor · Car Door Lock Actuator · 12V Solenoid Water Valve · 12V Holding Electromagnet · Mini Air Pump · 540 RC Motor · LRA Vibration Motor · 42BLF Hall BLDC Motor · 2204 Gimbal Motor · 120mm 230V AC Fan · NEMA 17 Closed-Loop Stepper · NEMA 17 Linear Stage · Pan-Tilt Bracket · 4-DOF Robot Arm
Motor drivers: L298 · L9110S · TB6612FNG · BTS7960 · A4988 / DRV8825 · 28BYJ-48 + ULN2003 · PCA9685 Servo · Relay Module · 30A Brushless ESC · TB6600 Stepper Driver · 60A Brushed ESC · DRV2605L Haptic Driver · ZS-X11H BLDC Driver · SimpleFOC Mini Driver · AC Dimmer Module · TMC2209 Stepper Driver · DRV8833 Motor Driver · L293D Motor Shield
Helping Tools
- Serial Monitor Advance: a serial terminal window for the UART of your board
- Serial Monitor Expert: the serial monitor with extra debugging tools
- LCD Library for Proteus V3.0: 16x2, 20x4 and I2C LCDs to show your readings
Our library brings the 36GP-555 with the 1:26.8 gearbox into your Proteus simulation at its true size, 36 mm across and 118 mm long, with its 8 mm D-shaft and its red and black leads. The simulation model has the 555 motor, the two planetary stages and their efficiency, and one property that every winch and robot arm designer needs to understand: a planetary gearbox is back-drivable. A heavy load can turn the motor backwards when nothing holds it. To show it, the shaft carries a winch: a drum, a rope and a weight. The pop-up draws the winch, turns one planetary stage, plots the shaft's torque against its speed, and measures every lift, hold, creep, fall and landing. The demo is an Arduino and our BTS7960 driver lifting, holding, braking, lowering and dropping weights from 1 to 20 kg.
NOTICE: Our team has put a lot of effort into these small parts: the bodies, the animation and the pop-ups are all our own design, and you get them free. Your feedback is the fuel that keeps us going, so please tell us what you think in the comments below or in the Motor Driver board of our forum. And if our free libraries help you, you can buy us a coffee. So, let's get started with the Planetary Gear Motor Library for Proteus Simulation:
What is a Planetary Gear Motor?
A planetary gear motor is a DC motor with a planetary gearbox on its front. In each planetary stage, a small sun gear on the input drives three planet gears, which roll around inside a fixed ring gear with teeth on the inside. The planets sit on a carrier, and the carrier is the output. Because three planets share the load, a planetary stage is compact and strong, and its output shaft sits on the same axis as the motor. Stages stack: the carrier of one stage turns the sun of the next.
The ratio of one stage is 1 + ring teeth / sun teeth. Our gearbox has a sun with 11 teeth, planets with 17 teeth and a ring with 46 teeth, so each stage gives 1 + 46 / 11 = 5.18 : 1. Two stages give 5.18 x 5.18 = 26.8 : 1. The motor turns 26.8 times for every turn of the shaft, and the shaft gets about 17 times the motor's torque: 26.8 times, less the losses in the gears.
| 36GP-555 12 V, 1:26.8 | |
|---|---|
| Free-running | 224 RPM, 200 mA or less |
| Rated | 170 RPM at 6 kg.cm and 2 A (10.5 W) |
| Stalled | 25 kg.cm at 8 A |
| Gearbox | 36 mm, two stages, 32.8 mm long |
| Motor | 555 size, 35.8 x 57 mm |
| Shaft | 8 mm with a D-flat |
The same family comes with other ratios: the 1:50.65 version runs at 118 RPM and gives 11 kg.cm rated and 37 kg.cm stalled, in a 38.9 mm three-stage gearbox. More ratio means more torque and less speed, from the same motor.
Back-Driving
A worm gear locks itself: a load on the output cannot turn the worm. A planetary gearbox does not. Its gears roll, with little friction, so a load on the output can turn the motor backwards. That is useful in many machines, because the mechanism stays free to move by hand. But on a winch or a robot arm it means that a heavy load falls when the power goes off. Only friction holds a light one. Our simulation models this with two efficiencies: 65 % when the motor drives the load, and 55 % when the load drives the motor.
Features of the Planetary Gear Motor Library for Proteus Simulation
- The real gear motor at true scale: the 555 can, the two-stage gearbox, the D-shaft and the red and black leads, drawn from the makers' sizes; the shaft's flat turns at run time.
- The motor from the data: 1.5 Ω and 18.6 mV per rad/s with a breakaway friction at rest: 224 RPM and 200 mA free, 6 kg.cm at 172 RPM and 2.00 A, 25.7 kg.cm stalled at 8 A.
- The gearbox: 26.8 : 1, 65 % forward and 55 % back-driven, so heavy loads fall back and light ones are held by friction.
- A winch on the shaft: a drum of any size, a rope and a weight of up to 50 kg, the floor and a pulley at the top; the weight changes with a chip in the pop-up while the simulation runs.
- Every stop measured: lifting speed, holding current, the creep under braking, the fall when coasting and the landing speed, the stall.
- A pop-up: the winch and a planetary stage turning, the shaft's torque-speed line with the rated point and the working point, eight live values, graphs, an event log and a check page.
- A complete package: about 1.2 MB with the library, our Arduino UNO V4.0 and the demo, without the source code of the model.
The Planetary Gear Motor in Proteus
The device is PLANETARYGM36TEP in TEPPLANETARY.LIB, under Electromechanical > Motors, with the prefix M and the analog model TEPPLANETARY.DLL. Search PLANETARY in Pick Devices. Its two pins sit at the ends of its leads: + on the red lead and - on the black, 400 thou apart, the same as the M+ and M- outputs of our BTS7960 driver. With 8 A at stall, it needs a driver that size: an L298 or an L9110S would not survive it.
Four properties set up the winch. MASS is the weight on the rope in kilograms, 3 by default; 0 means no weight. DRUM is the drum's diameter in millimetres, 30 by default, so 3 kg pulls with 4.5 kg.cm on the shaft. HEIGHT is where the weight starts, in centimetres above the floor, and TOP is the height of the pulley where the rope stops, 60 cm by default. While the simulation runs, the chips at the top of the pop-up change the weight: none, 1, 3, 5, 10 or 20 kg.
Download Planetary Gear Motor Library for Proteus Simulation
Click the button below to download Planetary-Gear-Motor-Library-for-Proteus-v1.0.zip (about 1.2 MB, without the source code of the models):
Planetary Gear Motor Library for Proteus V1.0- README.txt: installation, the demo, the wiring, troubleshooting and the limits of the simulation.
- Proteus Library Files:
TEPPLANETARY.LIBandArduinoV4TEP.LIB. - Proteus Model Files:
TEPPLANETARY.DLLandTEPARDUINO.DLL. - Arduino Code: the demo sketch.
- Proteus Simulation: the demo project, its HEX file and copies of the DLLs.
No Proteus yet? Read How to Download and Install Proteus 7 and 8. New to libraries? Follow How to Install a New Library in Proteus.
How to Install Planetary Gear Motor Library for Proteus Simulation
- Close Proteus and extract the whole zip file, for example to your Desktop.
- Copy the files from Proteus Library Files into the LIBRARY folder of Proteus.
- Copy the files from Proteus Model Files into the MODELS folder.
- Delete
TEPPLANETARY.IDXfrom the LIBRARY folder if it is there. - The demo's driver is our separate BTS7960 Motor Driver Library for Proteus: install its LIB and DLL too.
- Start Proteus, press P and search for PLANETARY.
Proteus Simulation of a Planetary Gear Motor Winch
The demo has our Arduino UNO Library for Proteus V4.0 with its built-in monitor, the same window as our TEP Serial Monitor Advance for Proteus, and our BTS7960 (IBT-2) driver with its motor supply B+ on 12 V. The UNO drives RPWM from D5 to lift, LPWM from D6 to lower, and both enables from D7 and D8. The driver's M+ and M- go straight to the gear motor M1, which starts with 3 kg on the floor. The driver comes from our separate BTS7960 library (TEPBTS7960.LIB and TEPBTS7960.DLL), so install it first. The sheet is A3, because the gear motor is 118 mm long at true scale. Open Planetary-Winch-BTS7960-ArduinoUnoV4.pdsprj.
The Sketch
A BTS7960 can stop a motor in two different ways, and the sketch uses both. Braking keeps both enables high and both PWM inputs low: the two low-side switches short the motor. Coasting pulls the enables low: all four switches open and the motor is free:
void brake() { enable(true); analogWrite(RPWM, 0); analogWrite(LPWM, 0); } // both low sides on: the motor shorted
void coast() { analogWrite(RPWM, 0); analogWrite(LPWM, 0); enable(false); } // both half bridges off: the motor open
The program is a table of steps, each with its time in tenths of a second:
{5, UP, 100, "lift at 100 %"},
{21, BRAKE, 0, "brake: both PWM low, the motor shorted"},
{41, UP, 12, "hold: 12 % up"},
After the program you can drive the winch yourself from the serial monitor: u 60 lifts at 60 %, d 40 lowers at 40 %, h 12 holds with 12 % up, b brakes and c coasts. A typed command ends the program:
if (c == 'u') act(UP, d); else if (c == 'd') act(DOWN, d); else if (c == 'h') act(UP, d);
else if (c == 'b') act(BRAKE, 0); else if (c == 'c') act(COAST, 0);
Planetary Gear Motor Simulation Results
Open the project and press Run. The program runs about 21 simulated seconds, which Proteus ran in about five and a half minutes on our PC with the pop-up open and the pictures being taken. Click the gear motor to open its pop-up. Every number below comes from one simulation run, the demo exactly as it ships.
Lifting 3 kg
At 0.5 s the sketch lifts at 100 %. The weight leaves the floor and climbs at 29.0 cm/s. The shaft turns at 185 RPM while the motor behind the gears spins 26.8 times faster, at about 4,950 RPM. The shaft carries 4.5 kg.cm, the weight's pull on the 15 mm drum radius, and the motor draws 1.55 A at 12.0 V. On the torque-speed chart, the working point sits on the 12 V line just left of the rated point: 3 kg is a comfortable load for this motor.
The BTS7960's own pop-up shows the same moment from the driver's side: RPWM at 100 %, the high-side switch on the M+ side and the current through the bridge.
Braking Is Not Holding
At 2.1 s the sketch brakes: both low sides on, the motor shorted. The weight does not stay where it is. It creeps down at 1.54 cm/s, turning the motor backwards through the gears; the shorted motor works as a generator and 0.34 A flows round the short. That current makes a braking torque, but braking torque needs speed, so the weight must keep moving to be held back. This is the most common surprise with planetary gear motors on lifts.
At 4.1 s the sketch holds instead, with a small 12 % PWM up. The average voltage is only 1.44 V, but at standstill there is no back-EMF, so 0.96 A flows: just enough torque to keep 3 kg exactly still, at 43.3 cm. The Event log writes HOLDING 3 kg at 43.3 cm with 0.96 A. A real winch would hold this way only briefly, since the current heats a stalled motor; for long holds it needs a brake or a self-locking gear.
Lowering and Falling
At 6.1 s the sketch lowers at 40 %. Gravity helps, so the weight comes down at 16.0 cm/s with the motor drawing only 0.32 A. At 7.6 s it brakes for half a second, and at 8.1 s it coasts: the enables go low and the bridge opens. Now nothing holds the weight. It back-drives the gearbox and falls from 18.3 cm, speeding up all the way, and the Event log writes FALLING in red.
It lands at 8.97 s at 41.2 cm/s. The fall does not keep speeding up forever: once the spinning motor makes more voltage than the 12 V supply, the BTS7960's body diodes conduct and brake it, so the speed levels off around 41 cm/s. On a real winch this landing would be hard on the load, the rope and the gears.
A Light Weight: Held by Friction
At 10 s the run clicks the 1 kg chip, and at 10.3 s the sketch lifts again. The drum first winds up the slack rope, then lifts 1 kg at 33.1 cm/s, 211 RPM, with only 0.65 A and 1.5 kg.cm on the shaft. At 11.8 s the sketch coasts again, exactly as before. This time the weight stays where it is, at 29.7 cm: HELD BY FRICTION. Through the gears 1 kg turns the motor with less torque than its friction at rest, so it cannot back-drive them. Somewhere between 1 and 3 kg on this drum lies the line between a load that stays and a load that falls.
At 14.3 s the sketch lowers the light weight at 30 %. With 1 kg, gravity almost exactly balances the friction, so the motor runs close to its free speed for 3.6 V and draws almost no current, while the weight comes down at 10.9 cm/s.
Too Heavy: the Stall
At 16.7 s the run clicks 20 kg, and at 17 s the sketch tries to lift at 100 %. On a 15 mm drum radius, 20 kg needs 30.0 kg.cm at the shaft, but at 11.9 V the motor gives only 25.4 kg.cm. The shaft stops, the current rises to 7.92 A, and the pop-up says STALLED. The motor holds the weight, because back-driving needs less torque than lifting, but it cannot raise it. A real 555 motor at 8 A heats up within seconds; a larger drum ratio, a higher gear ratio such as the 1:50.65, or a smaller drum would do the job.
The Graphs, the Event Log and the Check Page
When the sketch brakes at 19 s, the 20 kg weight comes down under the brake far faster than the 3 kg did, and lands at 14.0 cm/s. The Graphs page shows the last part of the run: the height, the shaft speed, the current with the 2 A rating line, and the shaft torque: the 1 kg lowering, the switch to 20 kg, the stall at almost 8 A and the descent.
The Event log keeps every change: the drive levels, the lifts with their speed and current, the hold, the falls, the landings, the weights chosen in the pop-up, the friction hold and the stall. The Check page sums it up: the drive, the current against the 2 A rating and the 8 A stall, the gears, the winch, and the results of lifting, holding, braking, back-driving and friction.
Try It Yourself
- Type
h 8with 3 kg hanging and watch it creep down: find the lowest duty that still holds it. - Choose 5 kg and lift it: compare the speed and the current with 3 kg, and find it on the torque-speed chart.
- Set DRUM to 60 and repeat the coast with 1 kg: the bigger drum doubles the torque, and friction may not hold it any more.
- Choose 10 kg and lift at 100 %: it climbs, but near the rated current; watch the warning after 3 s.
- Set TOP to 30 and lift: the rope reaches the pulley and the motor stalls AT THE TOP.
- Lower 3 kg with
d 100and compare the speed with the coasting fall.
Ideas to Extend the Demo
- Add a limit switch at the top and stop lifting when it closes.
- Read the BTS7960's current-sense outputs on an analog pin and stop when the current says STALLED.
- Add an encoder or a potentiometer on the drum and hold the weight at a chosen height with a PID loop.
- Compare it with our JGY-370 worm gear motor, which holds its load with the power off.
Your Own Sketches
The demo sketch is in the zip file, and you can change it in the Arduino IDE. New to Arduino? Start with our Arduino Tutorial for Beginners. Export the compiled binary, and set the UNO's PROGRAM property to the new file. Our guide on How to get the HEX file from Arduino shows you where the file ends up.
Things to Know Before Using a Real Gear Motor
- A planetary gearbox does not hold a load by itself: with the power off, a heavy load turns it backwards. Use a brake, a worm gear or a holding current.
- Size the driver for the stall current: 8 A at 12 V; the wires, the connectors and the fuse too.
- Braking only slows a load: shorting the motor makes a braking torque that needs speed; the load still creeps down.
- Mind the shaft: fix the drum on the D-flat with a set screw and keep side loads small; the output bearing carries them.
Troubleshooting
- FALLING: the driver is off and the weight is heavy enough to back-drive the gears; brake, or hold with a small drive.
- BRAKED but still moving: braking slows the weight; hold it with a small PWM up instead.
- STALLED: the weight needs more torque than the motor gives at this voltage; use a smaller drum or a higher ratio.
- AT THE TOP: the rope reached the pulley; stop lifting before it does.
- The part is not simulated:
TEPPLANETARY.DLLis missing from MODELS and from the project folder.
Limitations of the Simulation
- The gearbox's backlash is not modelled: the shaft follows the motor without play.
- The motor's inductance, its heating and the noise are not modelled; the rope does not stretch and the weight does not swing.
- The efficiencies are fixed at 65 % and 55 %; a real gearbox changes a little with load, speed and temperature.
- Arduino is a name of Arduino; this library is not made or endorsed by Arduino, Labcenter or any motor maker.
- Tested in Proteus 8.5 in November 2026 (the demo as shipped). Proteus 7 is not supported.
So, that was all about the Planetary Gear Motor Library for Proteus Simulation. I hope it helps you size your winches, lifts and robot joints in a simulation first: real torque through real gears, a load that falls back when nothing holds it, and a pop-up that measures every lift, creep and landing. If you have any questions, ask in the comments and I will help you out. Till the next tutorial, take care and have fun!