BTT SKR2 Dual Endstop Firmware

Hello… This is my first post on the Forum, please excuse if this has been covered before, I did a quick search but didn’t come up with an answer.

I have a BTT SKR2 rev B board and TFT 35 V3.0 display. Has anyone written any available firmware for this to be used on Lowrider2 including the Dual Endstop function?

I don’t see anything for SKR2 on the firmware page.

Many thanks


I don’t have an answer for you, but I’ve not seen that board come across the forum. I was curious and searched around a bit. I could not find that board on the BTT website, but in one of the ads for it on Ebay it is touted as, “Updarded [sic] version (rev b) of SKR V1.4 Turbo,” so it is possible the V1CNC_SkrTurbo_DualLR_8825 firmware would work, or at least would be a good base configuration to get it to work. Note this version uses the DRV8825 drivers.

Thanks Robert, you may well be correct, I purchased as a1.4 board but it was the version 2.0 which turned up. I found this description on Bangood

" Product description:

The BIGTREETECH SKR 2 motherboard is a 32-bit 3D printer motherboard. It has added multiple functions based on the SKR1.4 and SKR1.4 Turbo series motherboards, which greatly protects the motherboard and is equipped with various types of expansion interfaces."

Thanks for the tip I’ll see if the suggestion works.

All the best


I also have an BTT SKR2 rev B board and TFT 35 E3 V3.0. I do not have my machine running yet but I have been trying to to get dual Y and Z endtops working. I have been able to compile this and get the individual endstops to trigger as follows
X-STOP = x_min
Y-STOP = y_min
EODET = z2_max
E1DET = y2_min
PRWDET = z_min

with the motors connected as follows

XM = X
YM = Y1
ZMA = Z1
E0M = Y2
E1M = Z2

I have not been able to test this on a machine yet but hopefully will get a chance in the next few weeks. I have the steppers connected on my bench top and they look like they are doing what they are supposed to do.
Here are the config and config_adv files.
I have the latest version of the TFT35 and have not been able to get the V1 screen firmware to work (it displays mirrored) but in Marlin mode I was able to load the crown gcode file and watch it work.
config sk2 daul (85.3 KB)

I will keep you updated when I get my machine operational.


Thanks Justin
That looks promising, I need to get more practice with VS Code as I’ve only worked with the Arduino IDE before, but I’m sure with a bit of effort I can get everything working.


Additionally, it would be great to hear from you again if you get the TFT35 to work fully…

No worries, I’ll keep you posted, I am still printing out parts so will only be able to bench test it.
I only have limited programming experience but have been doing a lot of reading and a lot of trial and error. I am hoping to get the BTT menu working but I think that is proving difficult.

Great, thanks so much🙂

I previously tried downloading some firmware from “Teaching Tech” on YouTube but it was for SKR 1.3 /TFT28. My lack of experience meant that I could not even get close to a working version for my setup.

It may help you though with the TFT problem, it needs to be purchased but I only paid a few dollars.

As I can’t directly post links here, if you search YouTube for “MPCNC Lowrider Part 2-belts, wiring, firmware :Ramps + SKR V1.3, TMC5160 & Touch Screen” hopefully you can find the firmware link.

I hope that may help.

All the best


So I have made some more progress with this setup. I have the SKR 2 functioning with dual endstops on Y and Z and can also control it from the BTT touch screen in touch mode using the standard BTT E3 V3 0.27 firmware.
fter assigning a dummy extruder and making some changes to the pins file the “No printer attached” error is gone and I can now control the steppers and have managed to complete the crown test file from the “Print” menu on the touch screen. My machine is still not complete so the motors are still on the kitchen table but they appear to be functioning correctly.
Attached are the config, config_adv, pins and the compiled firmware that I am using to test.
config conf_adv pins (197.4 KB)

1 Like

Hello Justin

That’s great progress, I’m very pleased that you have managed to get a working setup.

Thanks so much for posting the firmware files, I will also have a go at this, my machine is mechanically complete but not electrically connected at the moment so I’m in a similar situation but I’ll load the firmware and see what happens initially.

All the best


Hey Justin, your firmware has really helped me get my lowrider V2 on SKR2 set up, but I’m having some trouble compiling my own in marlin autobuilder, and am curious if you have any other revisions that you’d be willing to share?

Hi Grant

No I don’t have any other revisions, I still don’t have my table complete so have only been able to bench test the software.
I spent a lot of time trying to get it to compile also, I found it easier to chase bugs if you make 1 change and then try and compile it.


Ive been able to get a couple pointers from some fb groups, and the only issue im having is not being able to get each z motor to independently home to an endstop. when i try to enable dual endstops and set the number of z steppers to 2, i get an error telling me that theres no E stepper left for Z2. im assuming this is because one of the E steppers is set to an extruder by default, and i have no idea how to unassign it from an extruder, and reassign it to Z2.

If you look at the PINS file that was attached previously in this post and compare it to yours it will show what changes I have made.

This is the first project im using marlin for so i just might be looking at the correct file, but my pin.h doesnt contain anything like what yours does, and while my pins_postprocess.h does contain similar information, it isnt formatted anything like yours.

Don’t mess with the pins file. Find EXTRUDERS and set it to 0.

There is skr pro 1.2 firmware at Marlin builder releases. You can look at what settings were changed there.

There is a program called ‘meld’ that can quickly show you the difference between two files. Check the configuration file from yours and the MBR one. Do the same with configuration_adv.h. There may be some other changes if you started with something other than

just compared both the config and config_adv files, and i already had them set up identically

The only reason I changed the PINS file was to remove the “No Printer Attached” fault for TFT in touch screen mode. When I had EXTRUDERS set to 0 it would work in Marlin Mode but not in Touch Screen Mode.

Mine wont even compile when i set EXSTRUDERS to 0

The newer btt firmware supports zero extruders.

“It wouldn’t compile” is not a good reason to stop :slight_smile: share the first few lines of the error and we can help. The dual and dual lr firmwares compile with EXTRUDERS=0.