CAPTCHA
Image CAPTCHA
Enter the characters shown in the image.
This question is for testing whether or not you are human.
  • Create new account
  • Reset your password

User account menu

Home
The Hyperlogos
Read Everything

Main navigation

  • Home
  • My Resumé
  • blog
  • Howtos
  • Pages
  • Contact
  • Search

Textual guide to Fine Tuning 3D Printer Z-Offset on AD5M with Forge-X

Breadcrumb

  • Home
  • User Blogs
  • User Blog
  • Textual guide to Fine Tuning 3D Printer Z-Offset on AD5M with Forge-X
By drink | Sat March 14, 2026

I printed mostly successfully with a goofy Z-offset for too long (not that long) but finally found the resource which would tell me how to go about fixing it. I prefer a simple written instruction, but ironically the answer was a video by Ricky Impey. If you would rather watch a video, just stop now and go watch it. If you would like the entire process explained to you in text from start to stop [by a human] instead, read on. Keep in mind that this will only apply to printers which get you into the ballpark automatically - I am not going to go into manual Z offset calibration, which is both more irritating and varies more from printer to printer.

What

Just to be clear what we're talking about here; Your typical 3d printer can move along three axes called X (left-right), Y (front-back) and Z (up-down). The Z offset is the distance between the tip of the nozzle the plastic comes out of, and the surface your print is attached to. On some printers a "positive" Z offset means the nozzle is further away, on others that's a negative Z offset. On my printer, more (positive) Z offset means further away.

On some printers, leveling the bed and adjusting the Z offset is a completely manual process done with screws. Most modern printers have at least a bed probe, some have advanced scanners (which you can retrofit to many printers) and a few use a load cell to detect when the nozzle is contacting the bed. Each of these bed leveling approaches has benefits and drawbacks, and the scanner method in particular gives the highest resolution at the highest speed, but the load cell method has the unique advantage of measuring the exact point of the nozzle without having to use an offset. In the future we will probably see scanners and load cells combined to produce printers which give the absolute best results without any human intervention.

How

This process will vary from printer to printer, interface to interface and so on. In particular I am using a FlashForge Adventurer 5M (typically and hence "AD5M") with Forge-X and using the guppy interface on the screen and Fluidd on the web. I am using Orcaslicer as the software; since I am on Linux with a Nvidia GPU, and there is currently a bug in WebKit in this situation which causes Orca to crash when loading Fluidd on systems like this (thanks Nvidia) I am viewing the web interface in Firefox and not the Device tab in Orca. I adjusted the Z offset from the screen. The AD5M uses the load cell method, so it usually gives very good results with no calibration at all, but there is still noticeable room for improvement.

With the stock (unmodified) software, you can only adjust the Z offset onscreen while you are printing. With Forge-X and Fluidd or guppy, you can adjust it at any time. You will want to adjust it while printing, though, because you can actually see in real time whether you're succeeding. You can also adjust Z offset in the slicer, and if you find that you need different Z offsets for different materials and/or bed plates, that is probably the most reasonable way to go.

Why

With possibly all of the useful exposition out of the way, let's finally get into the problem, and then the process for fixing it. Bad Z offset manifests itself in one of two ways. If the nozzle is too far from the bed, then your print will not stick. You can see this is happening very easily when lines are printed right next to one another, because they will not touch. The larger the nozzle, and the wider line you're extruding, the easier this will be to see. It will also be easier to see the worse it is. The other way is when the nozzle is too close to the bed. This causes plastic to squirt up from between adjacent lines and bead on the surface along the places where the lines gap. This both causes "elephant's foot" where the outside line is too wide and the first layer (and possibly other early layers) are oversized. This can cause problems assembling some parts, and you will also get warpage of the bottom surface of the print, which we often expect to look nice as it many times becomes the top surface of our part.

Good Z offset is easily visible because it makes the smoothest surface, which in turn is the shiniest. This is also the strongest surface. If you are printing a single-layer stencil for example, you will immediately find out whether your Z offset is good. And in fact, that's what we're going to do to fix our Z offset. In short, we're going to make a shape with a thickness of a single layer height, and watch what happens as we adjust the Z offset while it prints. I use a square, and that's what I'm going to explain how to do, but you can use any shape you want.

Really How

Z offset calibration square showing excessive, correct, and inadequate Z offset

Orcaslicer makes it very easy to produce a calibration layer. Start a new project with your printer, type of print plate, and nozzle size selected, and the correct filament already calibrated. This is a considerable subject in itself, but luckily if you're using Orcaslicer it's one which is very well addressed in the Orcaslicer Calibration Guide. If you haven't been exposed to this already, you will want to have done at minimum the temperature test, and do at least three or four temperature steps out of the suggested range. You probably don't need to have done any other calibration steps before doing this because you're not going to approach the maximum flow rate and most of the print is going to be contiguous, so pressure advance shouldn't matter much either at this stage. However, both the volumetric speed test and the pressure advance test are designed to make first layer quality not affect the test much, so you can do those calibrations before doing Z offset tuning.

Now you're going to want to add a cube to the model and make it a useful size in the X and Y directions, and one layer thick in Z. First layer height is shown on the Process' Quality tab (in the lower left corner of Orcaslicer) and we will insert a cube, then resize it into a "flat" square. Right-click the plate, then select Add Primitive > Cube, and press "S" or select the scale button from the top bar. Make sure Uniform Scale is checked, then click the X or Y size and enter 100 there. This will change the whole cube to be 100mm to a side. Then uncheck Uniform Scale and put the first layer height into the Z size box; my first layer height is 0.24mm. (First layer height is probably also an upcoming subject, but I'm not 100% that's where I want it yet.) This is going to give you your test shape. You could make this the size of your entire bed, but then you're going to be testing the quality of your bed mesh as much as tuning your Z offset, and that should be a different subject.

Way, way, way out of the scope of this article: You could use KAMP to ensure that your bed mesh is as good as possible for this test, and this is supported by ZMOD and therefore Forge-X, but I have not messed with that yet either.

Go!

You shouldn't actually have to change anything else before you print. If you want to get tricky about it, you can change the angle of the infill, but with the defaults this should give you a 45 degree diagonal infill which I found to be handy. I did change my first layer infill print speed from 80mm/sec to 50mm/sec to match the base first layer speed, just to have more time to evaluate my changes. Then I went out to the garage where my printer lives and waited for the print to start. I'm using Creality CR PETG, and printing at 250 degrees with the stock textured PEI plate heated to 80 degrees. I'm using hairspray as bed adhesive, but I only refresh it every 5-10 prints or so. PETG sticks to the PEI very well, then it pops off when the plate cools. (If it needs special help, I use a straight razor blade scraper - with some caution this is extremely effective.)

The outer walls printed with the default Z offset value of 0. Then I started increasing this in 0.05mm increments, with visible improvement by 0.10 and peak quality at 0.15mm. I went as far as .5mm; for my test everything over about 0.25mm resulted in completely and visibly separate lines which attached only to the border. Then I attempted to tear the various areas and the 0.15mm was very strong and everything else was very weak. This was an extremely clear and obvious result.

Done.

You should be able to use this same process (with varying values and methods) for fine tuning of the Z offset with any type of filament and on any type of printer, and in fact, with any slicer. If you're using one (which?) that doesn't allow adding or scaling primitives (why?) then you might need to make the cube in a CAD program and import it, but otherwise this should be viable in general. If you find that your Z offset has to be adjusted differently for different areas of the test subject, your problem is in some other department, like bed leveling.

I tried it again with PLA on…

drink

Sun, 03/15/2026 - 11:05
Permalink
New

I tried it again with Kingroon basic PLA on my OMG cold plate. The Creality PETG was giving me a hard time, and I noticed that the hygrometer in the filament drybox was showing 15% when all the others were at 10%, so I decided it was time to print something else. I forgot that the Z offset resets when you run the NEW_SAVE_CONFIG macro in order to store your new calibrations. I changed to the AliExpress-sourced alternate nozzle and cold plate, so I did PID tuning on the nozzle and also leveled the bed at the correct temperature of 50°C, then saved config and printed a filament swatch. When I realized that the Z offset was 0, I expected it to look bad, but the rear of it actually looked pretty decent.

Rear of filament swatch showing just slightly inadequate Z offset

Okay, I was planning to check the Z offset anyway just to see how much it differed, and I figured it would need some kind of additional tuning, but this much difference was more than I expected. In my imagination so far, either the composition of the cold plate coating differs enough to affect the bed probing process, the texture of the textured PEI plate eats up that much more of the plastic beyond the point at which the nozzle will be probing, or both. So I tried it again at 0.15mm Z offset and started moving it in 0.05mm increments, and it didn't begin to look like anything I would want until 0.05mm, so I started over from that point with 0.01mm steps and this is what I came up with - starting with the 0.05mm at the lower right and reaching 0.00 only just at the hole area:

Front of a single layer of filament swatch showing excessive, correct, and inadequate Z offset

What's interesting about this, besides the relevance of tuning Z offset at this resolution becoming more important on this surface and/or with this material, is that it is not easy to tear this piece at any point, putting aside where the outer wall separated. The best result is at about 0.03mm.

  • Log in or register to post comments

TPU: 0.03mm …

drink

Sat, 03/21/2026 - 15:01
Permalink
New

TPU on smooth cool plate: 0.03mm

Z offset calibration strips showing excessive, correct, and inadequate Z offset

After considering my available options I just stuck a dry box on its back and ran PTFE tubing directly into the print head, and bingo. I did a couple of 200x20mm test strips .3 mm thick, but really I only needed the first one. What's interesting is that a) I never got to having good surface quality, as there were always ridges, and b) I went from 0 to 0.21mm in .01 increments, and while peak quality was at 0.03mm, it didn't really go to heck until around 0.16 or so. But I suppose that makes sense, because I'm using a 0.6mm nozzle for TPU, and 0.3mm layer height.

  • Log in or register to post comments

In reply to I tried it again with PLA on… by drink

  • Log in or register to post comments

Footer menu

  • Contact
Powered by Drupal

Copyright © 2026 Martin Espinoza - All rights reserved