This page documents the steps that need to be taken to get your printer dialled in and calibrated for high-quality printing. It describes the most important steps, the things that you'll definitely need to do if you want to get good results - but there's a lot more info out there on the topic of calibration, and this guide can't cover it all. Check the Resources section to see other guides on the topic.
- M851 Z-(VAL) to adjust offset
Steps per mm
This section deals with calibrating the STEPS_PER_UNIT values in the firmware. The pre-customised firmware has these values set - but it's important to go through and calibrate the values to account for any differences - manufacturing tolerances, and so on - in your printer. These differences will be minimal, but can still have a big impact on print quality - so this section is pretty important.
- Heat up HotEnd
- Measure and mark filament 90, 100 and 110mm from entry to extruder
- Request 100mm extrude
- Check actual extruded distance against marks
new_e_steps = old_e_steps * (100 / distance_actually_moved)
- Update printer with values by GCODE
- Repeat process until error is acceptable
- Update value in firmware, recompile and re-upload
XYZ Axis Calibration
This section can really only be done once you've got the printer going. The default values are close enough to get you started, so return to this section after you've completed your first print.
Once you've got the printer working, it's important to double check the accuracy in the X/Y/Z axes. An easy way to do this is to print a part with known dimensions, and to measure the actual dimensions of the object after printing - this way we can calculate the difference, and use this to re-calibrate the STEPS_PER_UNIT values.
The following parts are handy calibration pieces with known dimensions:
The 50mm calibration angle will print faster, but the larger part makes it easier to measure the error present in the print. Both parts include instructions on how to use them to calibrate your printer, but in general you want to follow these steps:
- Print the part
- Check a known dimension in the part model (i.e. 50mm is the outer size of the 50mm calibration angle)
- Measure the dimension in a given axis (i.e. 50.5mm in X for the 50mm calibration angle, for example)
- Check your current STEPS_PER_UNIT value in the firmware (80, for example).
- Calculate the new STEPS_PER_UNIT value as follows:
new_value = (old_value * known dimension) / measured_dimension
new_value = (80 * 50) / 50.5 = 4000 / 50.5 = 79.21
- Send the printer the new value using the M92 command:
- Repeat the process for both the Y and Z axes.
- Once all the values have been updated, reprint the calibration piece and go through the process again. The printed part should now be closer to the desired dimensions of the part.
- Repeat the process until you're satisfied.
Note: It's important to make sure that you save the calibrated values to the firmware. The values sent with M92 will only stay in effect until the printer is next restarted (when you disconnect / reconnect in the host program, or when power is lost). To save the values, edit the firmware file, and replace the values in DEFAULT_AXIS_STEPS_PER_UNIT with the values you've found. Save and upload the new firmware.