Software adjustable bed leveling on UMO

Adjust your bed on the UMO just like the UM2

3D printer parts and enhancements

Creative Commons Attribution Noncommercial Share Alike

Commercial use is not allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


Based on original design: New Z endstop/limit location for calibration a-la UM2 on UMO+ by Neotko / Sugarpop!


To be able to adjust your bed just like the Ultimaker 2 is doing you have basically 2 options:
- Home Z at the bottom, you will need place your Z end-stop at the bottom
- Home Z at the top using a sensor instead of the home switch in order to be able to home lower than Z0

For the first solution look at the following Youmagine mod by NeoTko:

This design focuses on the second option: using a sensor for Z homing.

More information about the setup and the firmware (

You can also check the following thread on the Ultimaker community:

About the sensor

I am using a SN04 PNP inductive proximity sensor. These sensors are inexpensive and accurate -- Homing is accurate at 0,01mm:

You can use the simple holder posted in this design to secure the sensor in the holes of the second extruder.

The sensor will trigger accurately on the top screw of the bed cap, but you need to add a metallic tape under the screw to ensure that the sensor will continue to trigger past the screw! (see picture)

Note that I am leaving the original end-stop switch in place as safety measure. In any case the bed won't crash in the hot end.

Normally open or closed?

These sensors are typically available in 2 flavors: Normally Open (NO) or Normally Closed (NC).

The Ultimaker switch operates as an NO switch. If you use an NO sensor, you can cable it in parallel with the switch.

If you decide to use a NC sensor, "re-cable" the Ultimaker switch in NC (see picture) use both in series, and re-configure the firmware.

From an electrical standpoint, these sensors typically run with a voltage between 12 and 30v, the higher the better.

You can easily source the 24v (or 19v) from the 'always on' fan output (see picture).

Be careful, you cannot inject the sensor signal directly into to the AVR microprocessor, use an octocoupler to separate electrically the sensor and your UtliBoard.

For the sake of clarity I have indicated the polarity in the pictures.

Materials and methods

- Senor -- e.g. SN04-P (NO) or SN04-P2 (NC)
- Optocoupler - about any opto will do
- Resistors to limit current (based on the seleted components)



Issues are used to track todos, bugs or requests. To get started, you could create an issue.


20c2f944d93975910cd24c4c76e9c75c?default=blank&size=40Ryan Lake added this to the Ultimaker Original+ Upgrade collection ago
C43ccace52410a8d7a682f6254c52b21?default=blank&size=40jotpee added this to the Things collection ago
Eb8d90c9dcbd6bcdab508a13d220e99f?default=blank&size=40Bill Murphy added this to the UM+ axis collection ago
Mini pic 006Amedee published this design ago