Just want to begin by saying that this mod is credit by group RoBo. I decided to make my own version based on their layout

Auto Bed Levelness Compensation (ABLC)

Questions and Answers:

What is Auto Bed Leveling?

Auto Bed Leveling is when the bed levelness is corrected to attain a bed that is leveled against the nozzles movement. This is not the same as ABLC

What is Auto Bed Levelness Compensation?

ABLC is the process of probing the bed using a measurement device compensate for this and to determine the level mistake of the bed. There is no variation but rather software compensation.

Why is it referred to?

Probably for simplicity sake. Hence why I titled this Autolevel. If your point is made, it is generally acceptable to trim words.

How it works:

The Robo3d has a security measure put in where when the nozzle touches the bed, the nuts will unseat from their home so as to not put force on the bed and get "thrown" out. This is what people refer to when they " throw their nuts".

Using this principle of this nut unseating, they used a coupling nut in the location of it and attached a switch. The switch connects to the coupling with a plastic mount. The buttons activates against the x idler and the x engine carriage .

With this change in place, as soon as the nozzle touches the bed and the couplings begin to unseat the change will deactivate sending a signal to the ramps board that an endstop was hit. It's used for both the probe sensor and the sensor.

How mine differs:

In series the switches are run with my layout to avoid a failure situation. Were a collapse in the cable that or the switches the RoBo3d would increase up during the normal z operation of it and not throw the nuts. Click Here to see why my switches conducted in series.

Note: If you have car bed do not use my firmware


Build it

Parts List:

2x 5/16"-18 Coupling (Or M8-1.25 Coupling for those on metric sticks)

2x Micro switch (1x along with the 1 on the Z axis)

2x M3 - 25mm

2x M3 Nuts

4x M2-10mm (2x along with 2 procuring Z switch)

Printed Parts:

RoBo 3D auto level switch mount


Start by procuring the switch to the plastic that is mounting. It's probably easiest to thread on the coupling before procuring the switch. The bracket should expand enough to maneuver around the threaded rods.

With enough, although the M3 nut is secured by the mounting bracket set up and screw and begin to tighten it down the plastic can still slide onto the coupling.

Until the change is barely activated, adjust the distance from the idler. The switch should trigger readily when it is pressed down onto by the idler, but deactivate immediately once the coupling starts to unseat. This may require some fine tuning but it should stay true, once you secure it.


It's time to do the wiring.

Current Autolevel owners:

Your switches can turn into series if you have the Autolevel switches of RoBo3D but it requires soldering into the NO leg and unsoldering from the NC leg. Then you trim among the legs brief (say on red) and then another one long enough to solder onto, then you change your wiring to signify below.

New to Autolevel owners:

Follow the wiring diagram to wire your switches in position. Solder to get the lengths and you will need to trim. Color/polarity isn't critical.


Control It


With the buttons it is time to change the firmware. This is the same Auto_Level firmware used by group RoBo, but modified with 1 key difference:

const bool Z_MIN_ENDSTOP_INVERTING = true;

modified to:

const bool Z_MIN_ENDSTOP_INVERTING = false;

Which is traditional.

Download the firmware below.

Use either Arduino or MatterControl software.

It should be noted that this firmware will work on any RoBo 3d with or without.


With the firmware it is time to determine the Z offset between when the bed touches and when the switches activate.

Begin ensuring the Z houses in the center of the bed.

Using MC or Repetier increase up the nozzle .1mm at a time until you are ready to slide a piece of paper underneath it, counting the number of steps it took. Once you can barely fit the paper under, remove the paper and lower the nozzle by .1mm. This is your Z counter

Modify the G-code:

With the firmware it is time to configure the Gcode to conduct the script and calibrate the Z elevation. Insert this code in the procedures for your slicer following the G28 codes.


G1 Z0.5 ;Fix Z counter
G92 Z0 ;Define new Z house
G29 ;Autocalibrate bed


That should be everything there is too it. I find it helps to track the output. You will have the ability to address it quicker, that way if you find an unusual number.

Please let me know if you have any queries

Ace Hardware sells M8-1.25mm couplings for anybody who has them locally.

Related designs