{"id":469,"date":"2026-03-08T19:12:19","date_gmt":"2026-03-08T17:12:19","guid":{"rendered":"https:\/\/3dprint.lviv.ua\/3d-printer-calibration\/"},"modified":"2026-10-09T22:04:20","modified_gmt":"2026-10-09T19:04:20","slug":"3d-printer-calibration","status":"publish","type":"post","link":"https:\/\/3dprint.lviv.ua\/en\/3d-printer-calibration\/","title":{"rendered":"3D printer calibration: a step-by-step guide for beginners"},"content":{"rendered":"<h2>Why calibrate a 3D printer?<\/h2>\n<p>Even the most expensive 3D printer won\u2019t give good results without proper calibration. It\u2019s like tuning a musical instrument \u2014 without it, even the best violinist can\u2019t play in tune. Calibration affects dimensional accuracy, surface quality, first-layer adhesion and the overall reliability of printing. If you\u2019re running into typical <a href=\"https:\/\/3dprint.lviv.ua\/en\/common-3d-printing-mistakes\/\">3D printing mistakes<\/a> \u2014 layer separation, strings between parts or an uneven surface \u2014 in most cases the cause is a lack of calibration.<\/p>\n<p>In this guide we go through all the key calibration stages step by step \u2014 from levelling the bed to fine-tuning retraction and speed.<\/p>\n<h2>Bed levelling<\/h2>\n<h3>Manual levelling<\/h3>\n<p>This is where calibrating any FDM printer begins. The idea is simple: the distance between the nozzle and the bed must be the same across the whole print area.<\/p>\n<ul>\n<li>Heat the bed to working temperature (60\u00b0C for PLA, 80\u2013100\u00b0C for ABS) \u2014 metal expands when heated, so calibration must be done in the working state.<\/li>\n<li>Move the nozzle to the home position (Home All).<\/li>\n<li>Place an ordinary sheet of A4 paper between the nozzle and the bed.<\/li>\n<li>Turning the adjustment screws under the bed, aim for the paper to slide with slight resistance at each of the four corners and in the centre.<\/li>\n<li>Repeat the procedure 2\u20133 times, because adjusting one corner affects the others.<\/li>\n<\/ul>\n<h3>Automatic bed levelling (ABL)<\/h3>\n<p>Printers with an automatic levelling sensor (BLTouch, CR Touch, an inductive probe) make the process much easier. The sensor measures the distance to the bed at several points and builds a map that compensates for unevenness. But even with ABL it\u2019s worth first setting the bed roughly level by hand \u2014 auto-compensation only works correctly with small deviations.<\/p>\n<h2>First-layer calibration (Z-offset and baby steps)<\/h2>\n<p>The first layer is the foundation of the whole part. Too high and the plastic won\u2019t stick to the bed. Too low and the nozzle scrapes the surface and the plastic is squeezed out too thin.<\/p>\n<ul>\n<li><strong>Z-offset<\/strong> is a global shift of the Z axis zero point. Decreasing the value brings the nozzle closer to the bed; increasing it moves it away.<\/li>\n<li><strong>Baby steps<\/strong> are micro-adjustments of the Z-offset during printing. Start a first-layer test print and adjust the height in steps of 0.01\u20130.05 mm until the lines are slightly squashed and well joined to each other.<\/li>\n<\/ul>\n<p>A perfect first layer looks like an even, slightly glossy surface with no gaps between the lines and no \u201cripples\u201d from excess material.<\/p>\n<h2>Extruder calibration (E-steps)<\/h2>\n<p>E-steps (extruder steps) determine how many steps the feed motor must make to push exactly 1 mm of filament. If this value is wrong, the printer will feed too much or too little <a href=\"https:\/\/3dprint.lviv.ua\/en\/materials\/\">material<\/a>.<\/p>\n<ul>\n<li>Remove the Bowden tube or disconnect the hotend so you can measure the feed without resistance.<\/li>\n<li>Mark the filament exactly 120 mm from the extruder inlet.<\/li>\n<li>Feed 100 mm of filament with the command <code>G1 E100 F100<\/code>.<\/li>\n<li>Measure the distance from the mark to the inlet. If 28 mm remains instead of 20 mm, the extruder fed only 92 mm instead of 100.<\/li>\n<li>Recalculate: new E-steps = current E-steps \u00d7 (100 \/ amount actually fed).<\/li>\n<li>Save the value with the command <code>M500<\/code>.<\/li>\n<\/ul>\n<p>This procedure is done once and repeated only when the extruder or feed motor is replaced.<\/p>\n<h2>PID tuning: stable hotend and bed temperatures<\/h2>\n<p>The PID controller is responsible for keeping the temperature stable. Without calibration the temperature can fluctuate by several degrees, which affects print quality \u2014 especially noticeable with temperamental materials.<\/p>\n<ul>\n<li>For the hotend: send the command <code>M303 E0 S200 C8<\/code> (where S200 is the target temperature and C8 the number of cycles).<\/li>\n<li>For the bed: <code>M303 E-1 S60 C8<\/code>.<\/li>\n<li>When the test finishes, the printer outputs three values \u2014 Kp, Ki and Kd. Enter them with <code>M301<\/code> (hotend) or <code>M304<\/code> (bed) and save with <code>M500<\/code>.<\/li>\n<\/ul>\n<p>If you see temperature fluctuations of more than \u00b12\u00b0C in the <a href=\"https:\/\/3dprint.lviv.ua\/en\/how-a-slicer-works\/\">slicer<\/a> or on the printer\u2019s screen, PID calibration is a must.<\/p>\n<h2>Retraction calibration (stringing test)<\/h2>\n<p>Retraction is pulling the filament back when the nozzle travels between separate parts of the model. Without the right settings, thin strings appear between the parts (stringing).<\/p>\n<ul>\n<li>Load a stringing test model (for example, two columns with a gap between them).<\/li>\n<li>Start with a retraction distance of 1 mm for direct drive or 4\u20136 mm for a Bowden extruder.<\/li>\n<li>Set the retraction speed to 25\u201345 mm\/s.<\/li>\n<li>Print tests, changing the parameters in steps of 0.5 mm (distance) and 5 mm\/s (speed), until the strings disappear or become minimal.<\/li>\n<\/ul>\n<p>Note: the optimal retraction values depend on the material and temperature, so you may need to recalibrate after changing filament.<\/p>\n<h2>The temperature tower test<\/h2>\n<p>A temperature tower is a special model in which each \u201cstorey\u201d is printed at a different temperature. It lets you see visually at which temperature a particular filament gives the best result.<\/p>\n<ul>\n<li>Load the temp tower model and the corresponding temperature-change script into the slicer.<\/li>\n<li>The range for PLA is usually 190\u2013220\u00b0C, for PETG 220\u2013250\u00b0C.<\/li>\n<li>After printing, assess each level: the quality of overhangs and bridging, the presence of stringing, the overall surface quality.<\/li>\n<li>Choose the temperature where the balance of all parameters is best.<\/li>\n<\/ul>\n<h2>Speed and acceleration tests<\/h2>\n<p>After basic calibration it\u2019s worth checking the maximum speed at which your printer prints without losing quality. Excessive acceleration causes vibrations that show up as \u201cringing\u201d \u2014 wavy artefacts on the part\u2019s surface.<\/p>\n<ul>\n<li>Print a 20\u00d720\u00d720 mm test cube at standard speed, then increase the speed in steps of 10\u201320 mm\/s.<\/li>\n<li>To calibrate acceleration, use Input Shaper (Klipper) or simply reduce the acceleration value until the artefacts disappear.<\/li>\n<li>A typical safe acceleration for most printers is 500\u20131500 mm\/s\u00b2, and print speed 40\u201380 mm\/s.<\/li>\n<\/ul>\n<h2>Calibration order: what comes after what<\/h2>\n<p>To avoid redoing work, follow this sequence:<\/p>\n<ul>\n<li>Bed levelling<\/li>\n<li>E-steps calibration<\/li>\n<li>PID tuning<\/li>\n<li>Z-offset \/ first-layer calibration<\/li>\n<li>Temperature tower<\/li>\n<li>Retraction calibration<\/li>\n<li>Speed and acceleration tests<\/li>\n<\/ul>\n<p>Each stage builds on the result of the previous one, so the order matters.<\/p>\n<h2>Summary<\/h2>\n<p>Calibrating a 3D printer isn\u2019t a one-off action but a skill that becomes intuitive over time. Most parameters only need setting once, then adjusting when you change material or after a long break. If you\u2019ve just assembled a printer or noticed print quality getting worse, go through this checklist from start to finish, and the result will pleasantly surprise you.<\/p>\n<div style=\"background: #f0f4f8; border-left: 4px solid #2563eb; padding: 20px 24px; margin-top: 32px; border-radius: 4px;\">\n<p style=\"margin: 0 0 8px; font-size: 18px; font-weight: 600;\">Don\u2019t want to calibrate it yourself?<\/p>\n<p style=\"margin: 0;\">We print on equipment that\u2019s already tuned, with quality control for every part. <a href=\"https:\/\/3dprint.lviv.ua\/en\/contact\/\">Order 3D printing<\/a> \u2014 send us the model and we\u2019ll take care of everything else.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Why calibrate a 3D printer? Even the most expensive 3D printer won\u2019t give good results without proper calibration. It\u2019s like tuning a musical instrument \u2014 without it, even the best violinist can\u2019t play in tune. Calibration affects dimensional accuracy, surface quality, first-layer adhesion and the overall reliability of printing. If you\u2019re running into typical 3D [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":339,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-469","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides"],"_links":{"self":[{"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/posts\/469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/comments?post=469"}],"version-history":[{"count":1,"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/posts\/469\/revisions"}],"predecessor-version":[{"id":571,"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/posts\/469\/revisions\/571"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/media\/339"}],"wp:attachment":[{"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/media?parent=469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/categories?post=469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/3dprint.lviv.ua\/en\/wp-json\/wp\/v2\/tags?post=469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}