MPCNC SKR Turbo V1.4 Dual X and Y Axis Homing Issues

Hello all,

I have built a few MPCNC gantries before, but this time I am using the SKR Turbo V1.4 with the 2209 drivers and am making custom firmware for my setup using Marlin. I have had success before using the SKR Pro and dual x and y axis homing as well. I have used the SKR Turbo V1.4 but not in a dual X and Y axis homing setup before and am having issues. Essentially, my X and Y axis motors both move when I call a G92 command and set the current position as zero and then give G0 commands to move. However, if I call a G28 command to home either axis nothing happens. I can manually click both of the X and Y axis primary limit switches and that causes the homing, without even clicking the X2 or Y2 axis limit switches. I have ran the M119 command multiple times and verified my limit switches are operating correctly. For now, I have disabled the dual endstop homing and my homing works normally. But I want to have the dual axis endstop functionality to ensure my system is square each time. Along with this, I am currently setup without a Z axis; however, during debugging I added a stepper to the Z motor output and a limit switch and when I run a G28 command, the Z axis homes as expected. So this appears to be a specific problem with the dual axis homing on the SKR Turbo V1.4.

Unfortunately, I cannot upload attachments as a new user but I will try and find a way to attach a zip of my Marlin firmware setup.

Any help would be much appreciated!

I wanted to add some more details after debugging today.

Started having some issues with my end stops triggering prematurely that I could not see in the M119 call however my X axis would occasionally zero halfway though zeroing the process and error out. I assumed that I may have a broken limit switch; however, the same issue occurred after swapping out switches. I assume there’s an issue in my wiring. Nonetheless, I switched to sensor-less homing as I am using the TMC 2209 and it works flawlessly. I then tried to see if I could enable dual end stops for X and Y axis with the sensor-less homing but I have the same issue I have before of the motors not moving. So I have ruled out any issues with wiring of my end stops which may cause this problem, I am certain it is a firmware issue now.

I saw on the forum that connecting both motors to the same stepper motor driver and using sensor-less homing automatically squares them as it is a combination of their current measurements. I may switch to this if I cannot find a suitable solution. I will be switching to this anyway for my Z axis as I have run out of room for additional driver boards.

Z axis only has one motor, so no need to mess with serial drivers on it.

I thought there was turbo firmware on the site…

You can find a version of the firmware for turbo (wirh less testing than the skr pro) at MarlinBuilder Releases.

If jogging and M119 work, then homing should. I haven’t had a case where that wasn’t true.

Sensorless homing is dodgy and not accurate enough for good squaring. You can get it to work, but the juice isn’t worth the squeeze. The endstop switches should be flawless…

Thanks for the reply. I am making my own custom Z axis with a 2 motor setup.

As for the turbo firmware, I tried the pre-compiled firmware and had some success there but was not able to get it to build to compile my own firmware as I have a custom setup. It says it was untested so I assume there may be a bug I am not catching. I have made my own builds of Marlin before for other gantry projects and modified that build to work with the MPCNC but that is where I get the dual axis homing issues I mentioned.

Thank you, I have checked there for the MarlinBuilder Releases and tried that, but I was unable to get it to build. It does say untested so I assume there may be a bug that has not been recognized. Specifically, when building the marlin code from the zip I get the following errors:
G28.cpp.o: No such file or directory
M220.cpp.o: No such file or directory
M301.cpp.o: No such file or directory
tmc_util.cpp.o: No such file or directory
M120_M121.cpp.o: No such file or directory
MarlinCore.cpp.o: No such file or directory

And a few others, but it seems that the zip file doesn’t fully import the Marlin firmware so build is unsuccessful.

Yeah the fact that M119 works for me is very confusing that it is not homing, and I have ruled out any issues with wiring due to sensorless homing.

As for sensorless homing, I am fine with some inaccuracies as for my application I will not be using the gantry as a CNC Mill/Printer/Laser Cutter. I really only need a consistent home +/- 1 mm or so. As I have this working now I will stick with it but I would like to get the auto-homing feature working and eventually move back to limit switches.

The zips won’t be uploaded unless they build. So it built at some point.

The .o files aren’t in the .zip, they get created by the compiler. Something is wrong with your build setup. I would try that again, with platformio. Don’t change anything and see if you can just get it to build. If you can’t, try building the skr pro version to test your tools. That one has to work.