Adjustable Z End Stop

Ignoring for a moment the Euclidean truth that "three points define a plane" (having four support points only complicates it!), having to adjust the "bed-level-relative-to-the-X/Y-mechanics" and geting the first layer thickness correct ended up being a huge time sink.

You finally get the bed flat/level, then find out it's too high or too low. Or, you get the first layer thickness perfect in one corner only to have the nozzle scrape the bed on another corner. It's a real nuisance.

You could, of course, first get the bed flat/level and then attempt to loosen the fastners on the stock Z end stop, then very carefully try to slide it up or down by 50 or 75 microns to get the first layer "spot on".

Yeah, right... It's like trying to set an on/off toggle switch to somewhere in the middle ...

The solution I adopted was to split the bed leveling procedure into two independent subprocedures:

  1. Get the bed "flat/level" with reference to the X/Y mechanics.
  2. Enable the Z limit switch to be moved precisely up or down (on the order of tens of microns as needed).


The first requirement was accomplished by the design mods I made around the extruder. (See here for details.) Since the first 5 years of my engineering/design background was in mechanical design drafting, tool and die design and jig and fixture design, I'm very familiar with the tools of the machinist. So, I designed a mount on the extruder fans for a dial indicator; with it, I can reliably and quickly bring the table into flat/level alignment easily within +/- 15 microns.

Please note that this does not set the distance between the bed Z home elevation and the nozzle; that is done in the second step.

The second requirement is to set the first layer thickness after the bed is flat/level (per the first step).

This was accomplished by two means:

  1. Make the Z end stop limit switch vertically adjustable (this mod).
  2. Provide a means to precisely measure those vertical adjustments(the Bed Height Adjust mod).

[Please note: this system assumes that the Z limit switch is repeatable within about 10-15 microns. For example, after measuring a test first layer thickness, moving the Z limit switch up or down should produce a corresponding first layer thickness change after the next Z-home command.

So far, this assumption appears valid and to work as intended, easily within ~+/- 25 microns (0.025 mm).

The real limitation of this approach now appears not to be the resolution of the Z-home vertical adjustment, but whether the bed, glass, 2020 X extrusion, 4020 Y extrusion, etc., are planar within +/- 15 microns, and the rollers are very concentric to their axis' (individually and especially as a system). I suspect they aren't, though to accurately measure this would required a surface plate and some pretty fancy tools.

For a $200 printer, that probably would be overkill...

For the present time, I'm satisfied with this new system.]

As the photos below show, this system is very effective in enabling very precise vertical adjustments to be made to produce the "perfect" first layer thickness—within the limits of the frame, rollers and linear mechanics themselves.

Download Adjustable Z End Stop STL model and Fusion 360 Archive as a single zip file.


3D view each model:

Adjustable Z End Stop: Base
Adjustable Z End Stop: Bracket

Adjustable Z End Stop


ZES 2Fig. 1

Shown here is Adjustable Z End Stop base (left) and bracket (right), front side.


ZES 3Fig. 2

Bracket and base, back side.


ZES 1Fig. 3

Bracket inserted into base. Note the slots for the M3 fasteners on the right half and the holes for the existing M4 fasteners on the left half.


ZES 5Fig. 4

Assembly from the back side.


ZES 6Fig. 5

Assembly with the necessary parts.


ZES 7Fig. 6

You'll need to tap (4) M3 holes. (Two hold the limit switch PCB, and two are used to stablize the moveable bracket.)


ZES 8Fig. 7

Assembled system, front view.


ZES 9Fig. 8

Assembled system, back view.


ZES 10Fig. 9

Assembled system, back view; emphasizing the left-side guides and the extension for the dial indicator needle.


ZES 11Fig. 10

Assembled system, showing the M4 nut, screw and spring. This design allows a reasonble stiff spring to be used without being concerned of stripping out threads in the plastic boss. This ensures that the bracket can be reliably and quickly moved by very small values.

[An earlier design threaded the bracket boss directly for the M4 fastener. While this worked, I thought that this might fail over time. Such small threads in plastic would certainly strip out with repeated use.]


ZES 12Fig. 11

Reconnecting the limit switch to the controller leads.


ZES 13Fig. 12

Complete assembly in place, viewed from the back. You can see how the dial indicator needle rests on the extension.

The dial indicator vertical adjustment fastener is visible along the bottom center of the image.


ZES 13Fig. 13

Complete assembly in place, viewed from the left side of the printer.