
“Okay, so I’ve opened the control panel and I’ve carefully adjusted my x- and y-axis to the center of the stage, with the nozzle just touching the build surface — and hit ‘Make Current Position Zero.’ Great! So when I run my print, my bot will remember this setting — !”
Actually, no.
When you hit “Build” for your print, your control panel positioning vanishes with the first “G92″ command. The collective purpose for the commands at the head and tail of your gcode (the start.gcode and end.gcode sections) is to overwrite previous board states and values so that your bot behaves as you intend it to. Many of a MakerBot’s “automation” functions are actually declared in the gcode rather than established in the Control Panel or elsewhere for better portability for your designs.
The “begin homing” section is an important part of the start.gcode commands for a Thing-O-Matic. The values in this area declare the absolute positioning for the build envelope. Fail to pick the right values here, and your MakerBot might slam into the build platform or print in the air in its attempts to dutifully follow your instructions.
MakerBot Operators follow the Thing-O-Matic “Your First Print” build assembly instructions to find the z-height for their MakerBot by using the “calibration” script built into ReplicatorG . What happens when you enter this value into your start.gcode template (or manually in the gcode after skeining each print) is that your G92 command tells your bot (whose z-axis progress has just halted on a z-max endstop) that it is currently located at this particular z-height. All further absolute gcode positions are informed by this little number.
What might interest Thing-O-Matic users to know is that this is also true of the x- and y- axis values on the next line. Most users will do just fine with the defaults, but if you find that you are printing really close to the limitations of your build platform, you should take time to establish the absolute settings for your x-min and y-min endstops as well.
Here’s How to Establish x-min and y-min Endstop Homing Section Values
- Locate “true center” for your build platform by dividing the “printable” width of your stage by two. Mark it!
- Position your nozzle in-line with this position (can be a couple of centimeters up after you verify placement).
- Hit “Enable” Stepper Motor Controls.
- Click the button to “Make current position zero.”
- Using the Control Panel, jog your build platform over in the direction of the x-min endstop (x minus direction). When you get close, gear down from larger values to just 1mm values. When even closer drop from 1mm jog down to 0.1mm jog.
- When you activate the endstop, right down the negative value in the X position box.
- Now hit “Center X” and verify that your nozzle is over true center again. (You might need to tune your x-axis min by a 10th of a millimeter or two.
- Repeat Step 1-7 along the y-axis for the y-min value.
- In the “begin homing” section of the gcode f0r your prints, revise “G92 Zxxx ( —=== Set Z axis maximum ===— )” to match your z-height, and “G92 Xxxx Yxxx (set zero for X and Y)” to match your x-min and y-min values respectively (should be negative values). You can copy and paste these two lines somewhere so that you can quickly grab them for any print you do — or add them into the start.gcode plaintext file in your Skeinforge profile in ReplicatorG.
- Double the absolute value for the x-min and y-min values, and grab your z-height, and you have the current build envelop for your machine, (X, Y, Z)!
One More Special Note

Motherboard Onboard Preferences
If you experience weird endstop behavior, the first thing to check is the “Motherboard Onboard Preferences” located in the Machine dropdown menu for ReplicatorG. This is an example of a setting outside your gcode that remains in active use on the firmware for your control boards. Make sure that your “Invert Endstops” value is set to “Inverted (Default; H21LOB-based endstops)” as this value can be wiped by uploading recent firmware.