Calculating Steps Per CM

How do you calculate the number of steps per CM?

Pretty Simple! Use the Calculators, or do some math. 🙂

Geared Stepper + Belt Drive

[wpcc id=”1″]

Lead-screw drive (Standard)

[wpcc id=”2″]

Lead-screw drive (Metric)

[wpcc id=”4″]




First you need to know how many steps the stepper needs to take to make one full rotation. on 1.8 degree step motors it will take 200 steps to make one rotation. on .9 degree step motors it will take 400 steps to move one full rotation

Most motors you run into will be 200 steps per rotation, this also includes the motors we use on Chronos HD, Chronos Lite, and the Lens Apparatus.

Three other pupular motors include the geared stepper motors from

These include a 1.8 degree stepper motor and a gear box.

5.18:1 geared stepper, 5.18 x 200 = 1036 steps per rotation

26.85:1 geared stepper, 26.85 x 200 = 5370 steps per rotation

99.51:1 geared stepper, 99.51 x 200 = 19,902 steps per rotation

Once you have figured out how many steps per rotation, you need to consider the drivetrain

Lead-Screw Design

Determine the number of rotations per CM.

Our lead-screws are 1/4-20 meaning they are 1/4 inch thick and have 20 threads per inch and are single start lead screws.

20 threads per inch = 20 rotations per inch of movement. (if the screw has 2 leads, it would be 10 threads per inch, 4 leads would be 5 threads per inch)

20 rotations x 200 (non geared 1.8 stepper) = 4000

20 rotations x 400 (non geared 0.9 stepper) = 8000

20 rotations x 1036 (5.18:1 geared stepper) = 20,720

20 rotations x 5370 (26.85:1 geared stepper) = 107,400

20 rotations x 19,902 (99.51:1 geared stepper) = 398,040

So with this design, using a geared stepper is pretty pointless, a non geared stepper is more than enough. The lower power and torque are amplified by the efficiency of the drivetrain, and a low powered stepper can lift quite a bit of weight.

In order to get the Steps per CM, divide the Steps per Inch by 2.54

4000 / 2.54 = 1574.8 steps per CM

8000 / 2.54 = 3149.6 steps per CM

The calibration tool accepts steps in multiples of 5. For our rails we use 1575 steps per cm, and get a very high level of accuracy, enough that you would find it difficult to measure the innacuracy with a set of digital calipers. if using a metric lead-screw such as a T8 they should mark the number or rotations per CM Easy enough, multiple the Steps per rotation x number of threads per cm.


Belt Design

Using the belt, the big factor is the Pulley.

Take the Diameter of the pulley in CM, multiply it by 3.14, this will give you the number of CM traveled per rotation. Divide that number by the number of steps per rotation and you get the number of steps per CM. Whereas non-geared steppers are excellent with lead-screws, they are near worthless with belt drive systems as they will not have the torque to do any lifting, and very low resolution.

With a small pulley with a diameter of 1.5cm, multiple that by 3.14 and the circumference is 4.71 cm per rotation.

200 steps / 4.71 cm = 42 steps per cm.

This is very very low, and you will not likely have much in the way of resolution, odds are movement ramping will be offer poor quality. This setup is pretty much useless for anything other than very basic moves, the lack of torque

Using a geared stepper motor on the other hand,

5.18:1 stepper, 5.18 x 200 = 1036 steps per rotation / 4.71 = 219.9 steps per CM

26.85:1 stepper, 26.85 x 200 = 5370 steps per rotation / 4.71 = 1140 steps per cm

99.51:1 stepper, 99.51 x 200 = 19,902 steps per rotation / 4.71 = 4225.47 steps per cm

Not only do the geared stepper motors provide MUCH higher step resolution, but they also have a lot more torque and can lift quite a bit. On one of our earlier prototypes of Chronos E we used a rather small pulley on a 5.18:1 stepper motor and managed to achieve 2 meters of travel in about 28 seconds, and it was still able to lift 10lbs vertically. However for larger payloads the 26.85:1 stepper will yield much better results.

So to sum up

—lead-screw Steps per rotation = SPR Rotations per cm = RPC SPR * RPC = Steps per CM

–Belt Drive Steps per rotation = SPR Circumference in CM = CC Diameter in CM * 3.14 = CC SPR / CC = Steps Per CM

Accuracy when rounding to the nearest 5???????????

So your result comes back at 1,333 steps per cm, and you are forced to put that at 1,335.  How is that accurate?

1335/1332 = 1.002.

This means it is 2/1000th of a CM off. But if you want to have it dialed in for that ULTIMATE level of perfection and do not want to round, you can make a change in the code. 

Load up the lastest version of ChronoTimer in the Arduino IDE, and find the following segment of code.


WriteEEPROM_Byte(2, 1575/256); //STEP per cm 1575
WriteEEPROM_Byte(3, 1575%256); //STEP per cm 1575


This is the portion of code that sets the factory default. Simply change 1575 to the result you came up with,

WriteEEPROM_Byte(2, 1333/256); //STEP per cm 1575
WriteEEPROM_Byte(3, 1333%256); //STEP per cm 1575

Then save the code and upload to your controller, (remember to set the RUN/PROG switch to PROG, if you do not have this switch remove the arduino before uploading) then run a Factory Reset in the Calibration mode

Mode dial to POS

Press < and SET

press > untill you see DLFT

Press SET

wait for it to run its routine, when the countdown is finished press RES.

Thank you!
Learn more about The Chronos Project line of time-lapse rail, controller and lens apparatus that are available fully assembled or for DIY projects. Affordable and unique accessories for timelapse and stop action photographers.
Contact us
Thank you! We received your message
Sorry, unexpected error. Please try again later
The Chronos Project Mailing List

The Chronos Project | Time Lapse Motion Control