There is a particular kind of frustration that only 3D printer owners truly understand. You spend twenty minutes setting up a print, walk away feeling like a genius, come back an hour later, and find a spaghetti nest of filament where your carefully designed object should be. Or worse, the print looks fine but the dimensions are so far off that the part you needed simply does not fit. I have been through both scenarios more times than I care to admit with my Bambu Lab P2S, and before that with the Ender printers I built from kits. The cause, almost every single time, comes back to calibration. Get that right and the printer rewards you. Ignore it and you are just rolling dice.
The frustrating truth is that calibration is not a one-time job. Different filament brands behave differently. Even different colour variants of the same filament can have different optimal temperatures. A well-calibrated printer should get you to dimensional accuracy within roughly ±0.1mm, which is genuinely impressive for a machine sitting in your garage. But you will only get there if you follow the right steps, in the right order.
Before You Start
The most important thing to understand about calibration is that the sequence matters enormously. You cannot meaningfully tune your flow rate if your first layer is a mess. You cannot trust your temperature tower results if your extruder is under- or over-extruding. The framework is simple: hardware first, then firmware settings, then slicer-level adjustments. Work through the steps below in order, and resist the urge to skip ahead. Also make sure your slicer is up to date. Tools like OrcaSlicer and Cura both include built-in calibration print generators now, which makes life considerably easier than it used to be.
Step 1: Mechanical Pre-Checks
Before touching a single setting, physically inspect the printer. This sounds obvious but it is the step most people skip, and then spend hours blaming their slicer for problems that were actually caused by a loose wheel or a slack belt.
Run through the following:
- Check every frame bolt and extrusion joint. If anything has been disassembled or the printer has recently been moved, bolts can work loose. Tighten them up.
- Move the print head along the X and Y axes by hand (with the printer off or steppers disabled). There should be smooth, firm resistance with zero wobble. If the head rocks, find the eccentric nuts on the V-slot wheels and tighten them until the wobble disappears.
- Check belt tension. Pluck each belt like a guitar string. It should produce a low but clear tone. A slack belt causes ghosting and ringing in your prints. A belt that is too tight puts unnecessary strain on the motor.
- Inspect the print bed surface for warping, cracks, or residue buildup. A fresh clean surface is your friend here.
Only once everything is mechanically sound should you move to the next step. It sounds tedious, but this is the step that saves you hours of chasing phantom problems.
Step 2: Bed Levelling and First Layer Height
This is the foundation of every print. If your first layer is wrong, nothing else will work properly.
- Preheat to your normal printing temperatures before you level. This matters because aluminium beds and brass nozzles expand when they heat up. If you level cold and print hot, you will have the wrong Z-offset. For PLA, that typically means around 190 to 220°C at the hotend and 50 to 60°C at the bed.
- Home all axes so the printer has a known reference point.
- Disable the steppers so you can move the print head manually.
- Take a standard sheet of printer paper, which is roughly 0.08 to 0.12mm thick, and slide it between the nozzle and the bed at each corner. Adjust the corner screws until you feel light friction when sliding the paper. Not gripping, not loose. A slight resistance.
- Check the centre of the bed as well. If the centre is higher or lower than the corners, you may have a warped bed and will want to look into mesh bed levelling compensation.
- Adjust your Z-offset in small increments of 0.02 to 0.05mm. You are aiming for a first layer thickness of around 0.20 to 0.28mm.
A correctly set first layer looks like smooth, slightly compressed lines that bond cleanly to each other and to the bed. If the lines look rounded and separate, your nozzle is too high. If the lines are smeared flat and the nozzle is scratching the surface, it is too low.
One important note: if your printer has Auto Bed Levelling (ABL), that compensates for small variations across the bed. It does not replace proper manual levelling. Do the manual level first, then let ABL do its job on top.
Step 3: E-Steps Calibration
E-steps define how many motor steps it takes to move exactly one millimetre of filament. If this is off, every flow and extrusion measurement downstream will be wrong.
- Mark your filament 100mm above the entry point of the extruder using a marker pen.
- Command the printer to extrude 100mm of filament. In most firmware this is done via G-code:
G1 E100 F100. - Measure the distance from the extruder entry to where your mark now sits. If the mark is exactly at the entry point, you are spot on.
- If the printer extruded less than 100mm, the remaining distance tells you how much it was short. Use this formula to correct it: new E-steps = current E-steps × (100 ÷ actual amount extruded).
- Update the value in your firmware or EEPROM settings and save it.
The good news is that E-steps only need calibrating once, and then only again if you change or replace the extruder hardware.
Step 4: Temperature Tower
Different filaments have different optimal printing temperatures, and even the same brand can vary between colour batches. A temperature tower is the most reliable way to find the sweet spot for each spool.
- In your slicer, generate a temperature tower calibration print. OrcaSlicer and Cura both have this built in. Do not download pre-sliced G-code files from the internet for this test. They will have someone else’s retraction settings, speeds, and cooling profiles baked in, and those settings may be completely wrong for your setup. For example, if the file uses a 6mm retraction distance and you have a direct drive extruder, the test will fail for reasons that have nothing to do with temperature.
- Set the tower to print in segments, dropping 5°C with each section. A typical PLA range might run from 220°C down to 190°C.
- Once printed, evaluate each segment for three things: layer adhesion (do the layers hold together firmly?), stringing (are there fine hairs between features?), and surface quality (does it look smooth and consistent?).
- The segment with the best balance of all three is your optimal temperature. Note it down for that specific spool.
Print at least one temperature tower per new filament spool. Yes, it takes time. It saves more.
Step 5: Flow Rate Calibration
With E-steps correct and temperature dialled in, you can now tune how much plastic actually gets laid down.
- Print a single-wall hollow cube, roughly 20mm square, in your slicer’s calibration mode.
- Measure the wall thickness with digital callipers at multiple points.
- Your target is whatever wall thickness your slicer is expecting, typically matching your nozzle diameter. If you are printing with a 0.4mm nozzle, the wall should be 0.4mm.
- If your measured wall is thicker than expected, reduce your flow rate percentage. If it is thinner, increase it. Adjust in 2 to 5% increments and reprint until the measurement matches.
Step 6: Retraction Tuning
Retraction controls how much the extruder pulls back filament when moving between features. Too little and you get stringing. Too much and you get gaps or clogs.
- Print a retraction test tower. Again, your slicer should have one built in.
- For a direct drive extruder, start with retraction distances of 0.5 to 2mm. For a Bowden setup, you will typically need 4 to 7mm.
- Evaluate for stringing between the tower pillars. Find the lowest retraction distance that eliminates stringing without causing gaps at the start of new lines.
- Keep retraction speed in mind too. Around 25 to 45mm/s is a reasonable starting range for most setups.
Recommended on Amazon
These are affiliate links — if you buy through them, Tech Dads Life earns a small commission at no extra cost to you.
If It Is Still Not Working
Bed adhesion fails repeatedly: Check that you are levelling at printing temperature, not cold. Also inspect the bed surface. A worn PEI sheet or a greasy glass bed will reject prints regardless of your Z-offset.
Stringing persists after retraction tuning: Your temperature may be too high. Even with good retraction, an overheated hotend will string. Drop temperature by 5°C and retest.
Dimensions are still off after flow calibration: Revisit your E-steps first. If those are wrong, flow calibration cannot fully compensate. Also check for any play in the motion system, particularly the belts.
Calibration takes patience, but once you have worked through this sequence properly, the results genuinely speak for themselves. Your prints should come out cleaner, stronger, and far closer to the dimensions you actually designed. If you are still hitting a wall after all of this, drop me a message or come and ask in the newsletter community where there are plenty of experienced hands willing to help.
Want more hands-on guides like this one? I send out practical tech content for families every week. No fluff, no filler. Sign up at the Tech Dads Life newsletter and join the community.

