Automatic bed leveling for Ultimaker Original

After trying to implement auto bed leveling feature with a retractable switch, I decided to use a small induction sensor. I experienced poor mechanical reliability with the retractable switch mostly because theĀ  PLA bracket was melting when the 2 extruders were hot.

I have modified the original hot end holder design by Ultimaker so that a support plate for the induction sensor can be tightly screwed.


Here is the original design compared to the new one

Original hot-end holder

Original design

New hot-end holder

New design

The induction sensor is a TL-Q5MC1-Z from Omron. Even it is rated for 10 to 30 VDC power supply, it works very well down to 2.5V, including the embedded red LED indicator. The detection distance of the aluminum plate is about 2mm. So I have replaced the 3mm glass plate by kapton tape to accommodate this short detection range.

The sensor is connected to GND, +5V and Pin13 of the Ultimaker controller board so that the ZMIN endstop switch is still active. Keeping the ZMIN endstop is useful for security reason in situation where the induction sensor does not work anymore, or the aluminum bed is not present.

TL-Q5MC1-Z connection

TL-Q5MC1-Z connection (brown, blue, black wires)

I have modified the Marlin firmware as below:

  • Activation of the 3 points bed leveling feature
  • Optimization of G28 and G29 sequences
  • Support of a sensor connected to the Pin 13 of the controller board

The project resources are available here: