One of the biggest strengths of 3D printing is the flexibility that it offers in every area, whether it’s the configuration process, where you have multiple options such as using a 3D printing interface software, G-code commands, and using the 3D printer’s physical interface, or the printing process, where it’s possible to print components for all kinds of purposes.
As a result, with so many options available, finding the ones that will provide both the best user experience and the best print quality at the same time primarily comes down to the user, especially considering that a considerable number of the choices are primarily down to personal preference.
In today’s article, we will be talking about sensorless homing, which is an alternative, and as a result, a lesser used strategy that a 3D printer can employ to home the axes, as opposed to the traditional way of utilizing physical endstops to get information about the bounds of the print area.
So, what is sensorless homing in 3D printing?
Sensorless homing is an alternative method that a 3D printer can utilize to home the axes, where the position information comes from the stepper motor losing steps as a result of the physical boundaries of the axis being reached instead of endstops supplying this information.
Moving forward, we will be examining sensorless homing in greater detail, discuss the advantages that sensorless homing brings to the 3D printing process, find out what a 3D printer requires to support sensorless homing, go through the process of activating sensorless homing in Marlin firmware, and finally, learn whether the Ender 3 supports sensorless homing.
What Is Sensorless Homing in 3D Printing?
While the name “sensorless homing” does give us some insight as to what it is, it’s not exactly possible to completely understand what it really does by only looking at these words.
The standard process of 3D printer homing involves the usage of mechanical endstops, which are physical switches that are placed at either end of each axis, tasked with sending a signal whenever an object touches them.
As a result, whenever the printhead (or the print bed) comes into contact with one of these endstops, the 3D printer knows that its current position on the axis where the endstop is triggered is the zero point, with no more room to move forward.
In the case of sensorless homing, the endstops are entirely removed from the equation, and the 3D printer conducts the homing process without requiring the information supplied by them, which is the origin of the word “sensorless” in sensorless homing.
To be able to home the axes without the data that comes from the endstops, sensorless homing utilizes the stepper driver’s capability to detect when the stepper motor starts losing steps, which occurs when the printhead (or the print bed) bumps into the edge of the axis and has no more room to move.
At the point where the detection occurs, the 3D printer marks the position on the axis to be zero point, similarly to how it does when an endstop switch is triggered, and the homing process is complete as a result.
What Are the Advantages of Sensorless Homing?
As sensorless homing is not exactly the norm and, as a result, not supported by every 3D printer on the market, it would need to bring some considerable advantages to the table for any 3D printing enthusiast to consider switching to it.
Truth be told, there aren’t any significant advantages that switching to sensorless homing brings to the homing process, with minor benefits such as less wiring being required and the endstop pins on the mainboard being freed up coming to mind as potential upsides in some cases.
In fact, we can consider the disadvantages that come with sensorless homing to be far more significant, as conducting the homing process with endstops should generally produce results that are much more reliable and accurate, which is far more critical for a successful 3D printing process than any other minor quality of life benefit.
What Does a 3D Printer Require to Support Sensorless Homing?
Since whether a 3D printer supports sensorless homing or not is entirely decided by the hardware, finding out if you can utilize sensorless homing with your 3D printer entirely comes down to finding out whether the related components in your 3D printer fulfill the conditions required for it.
For a 3D printer to be capable of utilizing sensorless homing, it needs to have stepper drivers that support the feature and also requires the stepper drivers to be connected in a particular way that allows its activation.
As an example, while Trinamic’s TMC2209 stepper drivers support sensorless homing, you will only be able to utilize this feature if the stepper drivers are connected to the mainboard via UART, with the standalone mode having no support for it.
On the other hand, Trinamic’s TMC2208, which is another stepper driver that is widely used in 3D printing, does not support sensorless homing regardless of how it’s connected, meaning that you won’t be able to utilize the feature even if you activate it in the firmware configuration.
How to Activate Sensorless Homing in Marlin Firmware?
Even if the hardware of your 3D printer supports it, sensorless homing isn’t a feature that is enabled by default in most 3D printing firmware, including Marlin, meaning that you will need to activate it manually before your 3D printer can utilize it.
Below, you can find a step-by-step guide that you can follow to activate sensorless homing in Marlin firmware:
- Open the Configuration.h file with your favorite text editor.
- Find the X_DRIVER_TYPE, Z_DRIVER_TYPE, and Y_DRIVER_TYPE parameters, and configure them accordingly based on the stepper drivers of your 3D printer.
- Open the Configuration_adv.h file with your favorite text editor.
- Set the HOMING_BUMP_MM parameter to be 0 for the axes where you will be utilizing sensorless homing.
- Enable the SENSORLESS_HOMING parameter by removing the “//” at the start of the line.
- Save both files, compile the firmware, and flash it to your 3D printer.
Once you enable sensorless homing, you will need to configure the bump (stall) sensitivity by using the M914 G-code command, which will determine the accuracy of the results that the sensorless homing process produces.
Does the Ender 3 (Pro/V2) Support Sensorless Homing?
Since the Ender 3 is perhaps the first 3D printer that comes to mind due to its popularity, we know that many 3D printing enthusiasts would like a quick answer to whether their 3D printer supports sensorless homing.
The Ender 3 can technically come with the HR4988, A4988, TMC2208, TMC2209, or the TMC2225 drivers, with only the TMC2209 supporting sensorless homing out of all the options possible.
|Stepper Driver||Sensorless Homing Support|
Unfortunately, even in the case of an Ender 3 that has the TMC2209 drivers, utilizing sensorless homing will not be possible, as the stock mainboard of the Ender 3 has the stepper drivers connected in standalone mode, and the TMC2209 requires UART connection for sensorless homing to be available.
On the other hand, it’s also worth mentioning that replacing the mainboard with one where the stepper drivers are connected via UART, such as the SKR V1.4, which comes with TMC2209 drivers, and also the option to connect them via UART, will give your Ender 3 to capability to utilize sensorless homing.
While sensorless homing is not a revelation by any means, as it doesn’t bring a whole lot to either the user experience or the print quality, we can consider it a cool feature that brings an alternative take to something that is usually only done in one single way.
To quickly recap, we can describe sensorless homing as a technology that a 3D printer can utilize to home the axes without the need for endstops, where the stepper drivers detect the loss of steps in the stepper motor once the printhead (or the print bed) reaches the end of the axis and bumps into the edge.
As sensorless homing is not exactly considered to be a suitable alternative to standard homing, primarily due to it producing less reliable and accurate results in comparison, we only recommend giving it a try if you’re an advanced user who is interested in experimenting with different things and seeing how they work.
Mike started his 3D printing journey with the Anet A8 when it first came out back in 2017, and has been obsessed with 3D printers ever since. Nowadays, he primarily uses his Ender 3 to print functional parts that make his life more convenient whenever possible.