Thing-O-Matic: Useful Numbers

Various numbers that I’ve either measured or collected, scraped into one untidy heap, with the intent of figuring out the stepper motor torques. One significant figure will be entirely enough for what we’re doing; kg & g are really kg-force and g-force; you know what I mean.


  • X stage wood structure = 120 g
  • Aluminum build plate = 100 g
  • XY stage with plates & c =1.1 kg


  • Guide rod in two bushings = nil
  • X stage with four bushings = 0.8 lb = 0.4 kg
  • X stage with X rod follower = nil
  • X stage with X follower and motor = 1 lb = 0.5 kg
  • Y stage = 2 ounces = nil
  • Y stage with motor = 1.5 kg static, 1 kg moving


The ReplicatorG/machines/thingomatic.xml file lists the X and Y pulleys as 10.82 mm diameter. I measure 12.5 mm over the belt and the belt is 0.78 mm thick, sooo that makes it 10.9 at the pulley surface (which I can’t get to without taking everything apart again). Let’s call them 11 mm.

  • X and Y = 47.069852 step/mm. Let’s call that 47 step/mm → 0.021 mm/step
  • Z = 200 step/mm → 0.005 mm/step

[Update: see nophead’s comment for the right way to compute the X & Y distances. The answer is 47.0588 step/mm = 0.02125 mm/step, which is 0.1% off what I’d been using.]

The XML file lists the MK6 extruder at 50.235478806907409 step/mm. Measuring the results on my geared extruder, using the same filament drive doodad as they do, works out to 48.2 step/mm and 1456 step/rev.

  • Extrusion thickness = 0.33 mm


  • Extrusion feed = 40 mm/s
  • Extrusion flow = 2 rpm
  • Traverse speed = 50 mm/s
  • First layer = 25% of normal

14 thoughts on “Thing-O-Matic: Useful Numbers

  1. To get steps per mm you should multiply the number of teeth on the pulley by the belt pitch rather than use the diameter of the pulley.

    1. Duh! Of course!

      *sound of one hand clapping forehead*

      So: 17 teeth and a 2 mm pitch = 34 mm/rev. The motor has 200 full steps/rev times 8 microsteps/full step = 1600 microsteps/rev. Rub ’em together to get 47.0588, which isn’t quite the MBI default value of 47.069852, but seems close enough.

      Thanks. I needed that… [grin]

    2. Actually, that’s an approximation which assumes a belt of zero thickness. The correct formula uses the pulley’s “pitch diameter” (which is larger than the pulley’s diameter),

      effective steps / (pi x pitch_diameter)

      Manufacturer’s generally state the pitch diameter along with the other spec’s for a pulley. It’s the diameter at the belt’s “pitch line”. (It’s also the diameter you want to use when figuring out power ratios.)

      If, for example, you look at the “machine” description in ReplicatorG for the Makerbot Thing-o-Matic, you’ll see the X and Y axis steps per mm computed using a pitch diameter of 10.82 which is a rounding of the actual SDP-SI idler pulley’s pitch diameter of 0.426″ = 10.8204 mm. That’s a 17 tooth idler pulley and the belt pitch is 2mm (GT2). Using the approximation,

      1600 / (17 * 2) [eff. steps / teeth * belt pitch]

      gives 47.05882 steps/mm. Using the pitch diameter,

      1600 / (pi * 10.8204)

      gives 47.06811 steps/mm. Not much of a difference — about 1 step per 10 cm which would be about
      0.02 mm.

      P.S. Came across this as I’ve been trying to figure out how MBI came up with that value of 50.235478806907409 for extruder steps / mm. I too get a value along the lines of 48.2 steps/mm like Ed does. My best guess is that 50.23x value is some old value from some old gear and it has just been propagated forward without being updated for the current gears with diameters of around 10.56 mm.

      1. P.S. You get MBI’s default value of 47.069852 if you the pitch diameter formula BUT with 0.426″ rounded to 10.82 mm instead of the 10.8204 mm I used in my calculation in my prior comment.

      2. If the pulley turns one revolution the belt must move exactly the number of teeth times the belt pitch. If it didn’t the teeth would no longer be aligned and the error would be cumulative the further the belt moved. Clearly this is not the case.

        There are two sources of error:
        The pitch of the belt must depend slightly on the tension as it doesn’t have an infinite modulus.
        The plastic shrinks due to thermal contraction. I don’t know if that is compensated for elsewhere, but some people calibrate the axes by measuring objects made, not good if you switch between plastics.

        1. The “pitch” of the pulley teeth — the pulley pitch — is measured as the arc length subtended centerline to centerline between two pulley teeth at the pitch circle. The pitch diameter is then derived from that value. The pitch circle is the circle along which the belt’s pitch line travels when wrapped along the idler pulley. This pitch line is the section of the timing belt with all the reinforcing cords and whatnot (technical term) which serve to make the belt as unstretchable as feasible. It’s the idealized section of the belt which you use for calculations. This length — pulley pitch — is subtly different from the belt’s linear pitch because the fit between the belt and pulley teeth is not perfect nor should it be. The amount of difference also depends upon whether or not the belt is designed to contact the idler’s bottom lands or to ride on the top lands. (Makes a difference in the pulley’s “root diameter”.)

          The linear distance travelled along the belt’s pitch line is determined by this pulley pitch and not the belt pitch. For lots of short, back and forth motions of the idler pulley/timing belt, in which the belt doesn’t necessarily adjust its seating, using the pitch diameter is arguably the correct formula to use. It’s the one MBI used and the one which their current idler pulley & timing belt supplier recommends (SDP/SI).

          As to the errors you mention, for a properly manufactured timing belt they are insignificant: the stretch of the belt should be tiny, tiny under the tensions used. Ditto for the thermal contraction. Those two can start becoming more significant as the belt ages. That doesn’t mean that folks don’t have problems with the tension: they can under tension them leading to problems. Or, they can have them exerting too much force on the stepper motor’s shaft or not have the stepper motor’s current correct for the amount of force on the shaft. When I see folks having to make large increases in steps per mm, I often wonder if its an issue with the stepper motor straining and missing steps.

          Which computation gets you closer to the correct calibration for your bot? I don’t know — I don’t have enough experience to tell. In my total of three cases, neither computation gave the result I ended up using.

          1. If you consider the pulley turning one revolution, N teeth will have left the pulley and added N times the belt pitch to the position of the carriage. What diameter the belt has while it is around the pulley is irrelevant, that part of the belt is not positioning the carriage.

            The thermal contraction I mentioned is of the cooling model, not the belt. It is the dominant error being about 0.5% for ABS. A lot of people measure the finished item and bodge the axis calibration to get it right.

      3. that value of 50.235478806907409

        I’ve always taken that one as an inside joke…

        1. When I asked Ethan and Matt, the answer I got for the gross value (not the absurd number of sig. figs), was that since ABS is softer, the gear teeth really bite into it and thus you need to use a smaller effective diameter for the 10.56mm diam. gear. So, that 50.23 steps per mm uses an effective diameter closer to 10.14 mm. But, if that is the case, then it means that the value is not appropriate for PLA (which is harder). Note further that Print-o-Matic makes an “ABS” correction when computing a flow rate (RPMs) from the filament diameter, gear diameter, and nozzle diameter. It reduces the calculated volume of ABS filament per gear revolution by 15% (multiplies it by 0.85). So, if the 50.23 takes into account an ABS correction, then there’s yet another one associated with determining RPMs for the extruder as well. I don’t know offhand if the two then end up interacting down at the firmware level….

          In case you’re curious, here’s the comp which the most recent RepG 31 uses for the flow rate it overrides the flow rate of SF’s speed plugin with,

          [ (area of extruded noodle) * (length/second) * (60 second/minute) ] /

          [ (area of filament) * fudge * (length of filament/revolution of gear) ]

          fudge is 0.85 for ABS and 1.00 for PLA
          nozzle diameter used for computing the area of the extruded noodle
          feed rate (mm/s) used for length/second of extruded noodle
          filament diameter used for computing the area of the filament
          diameter of the gear is used for computing the length of filament/revolution of gear

          Note that RepG 31 uses a default of 10.58 mm for the gear diameter but all the docs for it state 10.56 mm. And, in RepG 31 for the Mk8 they use a default filament diameter of 1.85mm but for the Mk7 a default of 1.80 mm. (I thought that it had been a default of 1.77 mm at some point in the past, but I’m not going to go through the change logs to check.)

          1. since ABS is softer

            Uh, wait a minute. I thought this thread started with a toothed pulley driving an axis belt.

            The effective diameter of the extruder gear / pulley / dingus driving the plastic filament is an entirely different matter!

  2. That’s if you constantly turn the pulley in only one direction. As I stated before, if you’re doing a lot of turning back in forth, because of the intentionally imperfect fit between the belt and the pulley teeth, you use the pitch diameter which corrects for it — corrects for the admittedly minor backlash in the system. MBI was using that methodology

    1. Backlash is a fixed offset when changing direction, not a scaling factor. A timing belt does not run by friction on the pitch diameter, it is dragged along by the teeth. Even if it was you would only get the scaled motion until the difference was equal to the play in the tooth and then it would be back to teeth times pitch.

      If you use the correct pulley form for linear motion, rather than high speed transmission, there is no tooth clearance and no backlash (at the pulley).

    2. because of the intentionally imperfect fit between the belt and the pulley teeth

      At least in my TOM, the belts are Gates GT2 with a rounded tooth profile and the pulleys seem to match, so the fit is perfect. Given the fluid nature of the MBI doc and parts supply, there’s no way to verify which pulleys actually shipped at any given time, but the parts here seem to be intended for zero-backlash motion transmission.

      In any event, the Thing-O-Matic has other mechanical shortcomings sufficient to put this particular source of error way down in the noise…

Comments are closed.