Marlin Changes for SKR 1.4 Turbo

Hey everyone, I’m looking for some pointers on the easiest way to go about getting the MPCNC firmware onto a SKR 1.4 Turbo. I am quite familiar with Marlin for 3D printers, I have a SKR1.3 on my Ender 5 with TMC2208’s in UART and I am able to flash and verify that I can get Marlin 2.0 running on my SKR1.4.

What I need help with is that the version of Marlin that is provided on the V1 Engineering GITHUB is out of date and doesn’t support the SKR1.4 Turbo. So should I update the V1 Engineering Marlin to support the SKR1.4 or would it be easier to manually make the MPCNC changes to the mainline Marlin 2.0 that is already loaded on my SKR1.4?

To me the second option sounds easier, I just haven’t been able to find documentation as to what changes need to be made from vanilla Marlin.


There actually aren’t that many changes that need to get made… I wound up just forking directly off the marlin branch… here are my changes for the lowrider… mpcnc would be similar. Note this is a Rambo board not SKR.

That is extremely helpful, thank you so much!

I didn’t know how to use GITHUB to diff like that. I switched branches to show the diff from the MPCNC branch to Marlin 2.0 to get a more straightforward answer. I have the firmware compiled and on the board! I did read through your deltas and noticed you changed your endstop noise threshold form 2 to 7 but never un-commented the define statement.

My next step is to get the TFT35v2.0 running!

Yeah I had problems with endstop noise… I wound up just adding a capacitor and twisting the wires.

Did you get both the skr 1.4 and tft screen to work ?

If yes can I access the source code ?

Use at your own risk:


Thank you Christopher, I just used this repo and it worked on the first go. I have not wired the end stops just yet.

Let me know how those stops work out. I’m using the SKR 1.4 Turbo as well with TMC2209 in UART (instead of 2208s) I’ve got that portion configured. Still need to check if it is configured for dual stops and which direction. I plan on dual stops in the X,Y,Z min. I was also noticing that its configured at 800mA current in configadv.h. Should I increase that to 900mA?

My code posted above does include dual end-stops and it homes to the LEFT (x=0) and BOTTOM (y=0).

Thanks for posting this. I’m still building my MPCNC, but have compiled your firmware with TMC2209 drivers.

I cant for the life of me get a firmware uploaded to this board. I’ve got another BTT board in my Ender and have had no issues with that.

I’m compiling the firmware and moving it to the micro SD card, renaming it to firmware.bin and nothing happens.

Can anyone tell me what I might be doing wrong?

Make sure you’re compiling for the correct processor. The code above is for the SKR1.4 Turbo which uses the LPC1769. You shouldn’t need to rename the file, it should be outputting the exact firmware.bin you copy to the SD card.

Thanks Chris, I was able to get this sorted. I had no idea that the TFT firmware was different than the Marlin firmware, so my firmware was actually being uploaded the whole time.

However I can’t seem to get both motors for the X and Y axis moving. Only one of each motors moves when I send a move command.

Do you happen to know where each stepper should be plugged in on the board?

It goes X1, Y1, Z, X2 (E0), Y2 (E1) along the edge of the board, IIRC. It’s been a while.

Trying this config now. The ports on my board are labelled a bit differently though, there’s an “extra” z motor plug. Along that edge it goes:


Sorry, forgot about that plug: X1, Y1, Z1, Z2 (NA), X2 (E0), Y2 (E1)

Yes that was the right config. I just had to tweak some screen settings in the firmware but it seems to be working now.

Last thing to do is install the end stops then it’ll be time for the first “real” test.

Thanks a ton!

Using M119 makes it pretty easy for debugging if they are triggered.

Oh yeah, I forgot all about that command. I used it when I was trying to setup filament runout detection on my Ender.

Any idea why it would tell me that the Z min is TRIGGERED if i have nothing connected to it? And if this is normal behavior?

Please post a link to this firmware as I have a similar setup with 2209 in uart mode