BIGTREETECH-SKR-V1.3 icon indicating copy to clipboard operation
BIGTREETECH-SKR-V1.3 copied to clipboard

SKR v1.4 Turbo + BLTouch marlin configuration

Open flyhigh-hifi opened this issue 4 years ago • 164 comments

Initial marlin configuration has Z_MIN_PROBE_PIN and I don't see in manual what should it be. Currently my BlTouch doesn't work because of that I guess.

flyhigh-hifi avatar Jan 26 '20 13:01 flyhigh-hifi

I'm having the same issue with SKR v1.4 Turbo + BLTOUCH v3.1. BLTOUCH wires are connected to SERVOS header and Probe header as indicated in the wiring diagram documentation:

image

I tried just commenting out this line: // #define Z_MIN_PROBE_PIN 32 // Pin 32 is the RAMPS default and also leaving this line commented out: // #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

The probe can do self-test etc, but when I try to home the Z axis, the BLTOUCH probe does not deploy. And thus causes the nozzle to crash into the bed.

When the BLTOUCH is sitting idle, an M119 command shows that Z_Probe and z_min are in state 'TRIGGERED' , when they should not be, according to Marlin firmware documentation:

The BLTOUCH probe only sends a brief pulse, so “TRIGGERED” indicates the probe is in error state.

Send: M119
Recv: Reporting endstop status
Recv: x_min: open
Recv: y_min: open
Recv: z_min: TRIGGERED
Recv: z_probe: TRIGGERED
Recv: ok

Evanlec avatar Jan 27 '20 09:01 Evanlec

Hi.

I am new to 3D printing and Marlin but have been able to get the BLTouch working on my SKR Pro v1.1, so maybe i can help a bit.

I assume you use an end stop device for X, Y and Z and the BLTouch in addition to them.

Using the dedicated Probe connector on the mainboard, the "define" values in Marlin to use the end stop pin have to be commended out, so there has to be a // in front of the two lines shown above starting with #define Z_MIN_Probe_... and "define BLTouch" has to be used. This is also shown in the pins file, like you can see in the screenshot. Screenshot 2020-01-28 at 14 00 38

Hope this helps

oldman4U avatar Jan 28 '20 13:01 oldman4U

Hi.

I am new to 3D printing and Marlin but have been able to get the BLTouch working on my SKR Pro v1.1, so maybe i can help a bit.

I assume you use an end stop device for X, Y and Z and the BLTouch in addition to them.

Using the dedicated Probe connector on the mainboard, the "define" values in Marlin to use the end stop pin have to be commended out, so there has to be a // in front of the two lines shown above starting with #define Z_MIN_Probe_... and "define BLTouch" has to be used. This is also shown in the pins file, like you can see in the screenshot. Screenshot 2020-01-28 at 14 00 38

Hope this helps

Thanks for your addition. Bltouch works on my SKR 1.4 Turbo when I'm using Z_MIN_ENDSTOP as bltouch probe pin, but there's new port on SKR 1.4 Turbo designed exactly for Bltouch, would be nice to use it as it was designed.

flyhigh-hifi avatar Jan 28 '20 17:01 flyhigh-hifi

IDK if this helps but I pulled an all-nighter getting my SKR V1.4 (non-turbo) all configured for my printer and first time installing BLTouch. I managed to get the BLTouch pin headers on the board to work by making a few changes. I started with a fresh 2.0.x branch since I couldn't get the BTT version to compile.

Comment out the line in Configuration.H: //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

and define: #define Z_MIN_PROBE_PIN P0_10

Open Conditionals_LCD.h located in ..Marlin\src\inc.. and change these lines: #define HAS_CUSTOM_PROBE_PIN DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0 &&!HAS_CUSTOM_PROBE_PIN)

to: #define HAS_CUSTOM_PROBE_PIN true #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0)

Basically Marlin doesn't let the printer home the Z-axis with the probe when an end-stop is connected. When I get time, I'll mess around some more and try to add some lines so that the end-stop can be used as a fail-safe in case of probe failure (which is probably the original code's intent).

My BLTouch is fully functional and tested with this method. Just keep an eye on it because I'm not sure if the end-stop will do anything if the probe doesn't home properly.

S13Tyler avatar Feb 02 '20 00:02 S13Tyler

IDK if this helps but I pulled an all-nighter getting my SKR V1.4 (non-turbo) all configured for my printer and first time installing BLTouch. I managed to get the BLTouch pin headers on the board to work by making a few changes. I started with a fresh 2.0.x branch since I couldn't get the BTT version to compile.

Comment out the line in Configuration.H: //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

and define: #define Z_MIN_PROBE_PIN P0_10

Open Conditionals_LCD.h located in ..Marlin\src\inc.. and change these lines: #define HAS_CUSTOM_PROBE_PIN DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0 &&!HAS_CUSTOM_PROBE_PIN)

to: #define HAS_CUSTOM_PROBE_PIN true #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0)

Basically Marlin doesn't let the printer home the Z-axis with the probe when an end-stop is connected. When I get time, I'll mess around some more and try to add some lines so that the end-stop can be used as a fail-safe in case of probe failure (which is probably the original code's intent).

My BLTouch is fully functional and tested with this method. Just keep an eye on it because I'm not sure if the end-stop will do anything if the probe doesn't home properly.

Thanks for this work. I shall try it out as soon as this current print is finished.

One question just to clarify:

This is when using the designated BLTOUCH probe pins, i.e. these: image

and not plugging the probe into the Z-min stop header (as was required with SKR v1.3) correct?

Also, should it not be possible to have both the BLTOUCH and the stock Ender 3 Z end-stop (it being plugged into Z-Min header) working as well, to provide as you said, a failsafe?

Evanlec avatar Feb 03 '20 07:02 Evanlec

That is very interesting. I will give that a try.

I am having a similar issue. However, I did finally fix the BLTouch not homing Z by using the Z-endstop pins for it instead of the designated probe pins. It worked as it should for a few times then went right back to crashing into the bed. I didn't change the firmware at all between it working and it not working. So this leads me to believe the actual motherboard SKR V1.4 has an issue. I can't figure it out. I'm thinking of just ditching the whole BTT line and going with a Duet instead. On 2/2/20 11:53 PM, Evan LeCompte wrote:

IDK if this helps but I pulled an all-nighter getting my SKR V1.4 (non-turbo) all configured for my printer and first time installing BLTouch. I managed to get the BLTouch pin headers on the board to work by making a few changes. I started with a fresh 2.0.x branch since I couldn't get the BTT version to compile.

Comment out the line in Configuration.H: //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

and define: #define Z_MIN_PROBE_PIN P0_10

Open Conditionals_LCD.h located in ..Marlin\src\inc.. and change these lines: #define HAS_CUSTOM_PROBE_PIN DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0 &&!HAS_CUSTOM_PROBE_PIN)

to: #define HAS_CUSTOM_PROBE_PIN true #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0)

Basically Marlin doesn't let the printer home the Z-axis with the probe when an end-stop is connected. When I get time, I'll mess around some more and try to add some lines so that the end-stop can be used as a fail-safe in case of probe failure (which is probably the original code's intent).

My BLTouch is fully functional and tested with this method. Just keep an eye on it because I'm not sure if the end-stop will do anything if the probe doesn't home properly.

Thanks for this work. I shall try it out as soon as this current print is finished.

One question just to clarify:

This is when using the designated BLTOUCH probe pins, i.e. these: [image: image] https://user-images.githubusercontent.com/10586/73634800-02594200-4630-11ea-815a-910f9334f5e1.png

and not plugging the probe into the Z-min stop header (as was required with SKR v1.3) correct?

Also, should it not be possible to have both the BLTOUCH and the stock Ender 3 Z end-stop (it being plugged into Z-Min header) working as well, to provide as you said, a failsafe?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/issues/207?email_source=notifications&email_token=AMTMQMIILE7IDG5MTCXUTP3RA7EPDA5CNFSM4KLW3342YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKS2SKQ#issuecomment-581282090, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMTMQMOEOD4MAZR3KAAO2LLRA7EPDANCNFSM4KLW334Q .

hopeinformer avatar Feb 03 '20 19:02 hopeinformer

Thank you very much @S13Tyler , that did the trick!

Evanlec avatar Feb 04 '20 06:02 Evanlec

@Evanlec No problem man! As a warning though this is just a band-aid fix. As soon as I have time to sit down and write some new lines I'll post it for you guys or maybe someone else will dive in beforehand!

S13Tyler avatar Feb 04 '20 07:02 S13Tyler

@Evanlec No problem man! As a warning though this is just a band-aid fix. As soon as I have time to sit down and write some new lines I'll post it for you guys or maybe someone else will dive in beforehand!

Have you got this working using the dedicated pins yet? I've been asking around, but no one seems to have found a solution.

thelittlemike avatar Feb 08 '20 16:02 thelittlemike

Good work @hopeinformer ! I've just run into this myself and you've saved me a lot of pain. For anyone else reading through this:

Comment out the line in Configuration.H: //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

Let's assume this is set correctly by the user. This should be commented out on any board, including the SKR 1.4/Turbo, where there's a dedicated pin/port for the probe that you plan on using.

and define: #define Z_MIN_PROBE_PIN P0_10

This isn't required - it's already set correctly in the appropriate pins file.

Open Conditionals_LCD.h located in ..Marlin\src\inc.. and change these lines: #define HAS_CUSTOM_PROBE_PIN DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0 &&!HAS_CUSTOM_PROBE_PIN)

to: #define HAS_CUSTOM_PROBE_PIN true #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0)

No need to modify the first line. If configured correctly by commenting out Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN because we have a dedicated probe pin, the DISABLED function here returns true, so HAS_CUSTOM_PROBE_PIN is true. That's all fine and correct. We agree that we have a custom probe pin, and the pins file also agrees.

Now, that last line... Z_HOME_DIR < 0 is fine, this ensures you're probing downwards for your Z axis, which we are, and by default this is set to -1. So for most users, this returns true and we can ignore it here.

However, !HAS_CUSTOM_PROBE_PIN... This will be true if we do not have a custom probe pin (the ! causes the inversion). As we do have a custom probe pin, this is false, so HOMING_Z_WITH_PROBE is also set to false.

In essence, the Marlin developers have said, "If you have a custom probe pin, you cannot home with your Z probe." I can't believe this is desired behavior, more of an oversight, so I've raised this as a Marlin bug. This is not a BigTreeTech issue, though they themselves should have raised this with Marlin.

Tl;dr: in Marlin/src/inc/Conditionals_LCD.h, replace:

#define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0 &&!HAS_CUSTOM_PROBE_PIN)

with

#define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0)// &&!HAS_CUSTOM_PROBE_PIN)

stantond avatar Feb 11 '20 20:02 stantond

i've managed to reproduced as well , correcting #define HOMING_Z_WITH_PROBE (Z_HOME_DIR < 0)// && !HAS_CUSTOM_PROBE_PIN) and commenting //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

this is a rather dangerous band-aid, if you just disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN the probe will come crushing down the bed, so this fix could be forgotten during upgrades between firmwares!

emaayan avatar Feb 15 '20 22:02 emaayan

@S13Tyler - The change you suggested in the Conditionals_LCD.h file works great until version 2.0.4.4. of Marlin. Unfortunately in the new Marlin release 2.0.5 the Conditionals_LCD.h file is very different. Can you still help us? Thank you very much!

PapiOrso avatar Mar 16 '20 08:03 PapiOrso

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file:

#else #define Z_STOP_PIN P0_10 // Z-STOP #endif

This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

thelittlemike avatar Mar 16 '20 11:03 thelittlemike

@thelittlemike Did you get this working with the v1.4 turbo? Been having a lot of difficulty with trying to get my BLTouch set up with no luck. I tried the fix above (commenting out second half of HOMING_Z_WITH_PROBE) and that didn't work for me. I'll try modifying the pins.h file like you did and see what happens.

Also, if it is the v1.4 turbo, shouldn't BLTouch be in 3.3v mode since the v1.4 turbo has 3.3v logic? Why set it to 5v mode?

nakedandjameson avatar Mar 16 '20 13:03 nakedandjameson

@thelittlemike Did you get this working with the v1.4 turbo? Been having a lot of difficulty with trying to get my BLTouch set up with no luck. I tried the fix above (commenting out second half of HOMING_Z_WITH_PROBE) and that didn't work for me. I'll try modifying the pins.h file like you did and see what happens.

Also, if it is the v1.4 turbo, shouldn't BLTouch be in 3.3v mode since the v1.4 turbo has 3.3v logic? Why set it to 5v mode?

This was on the SKR 1.4 Turbo (LPC1769).

Are you sure that it is only 3.3V logic? Some of the pinouts denote 5v. Unfortunately the schematic does not say what the probe puts out and I haven't actually hooked up a multimeter to it to confirm one way or the other. I can say that the probe is working just fine after my changes, though. I'm even doing a 7x7 (49 point) grid on my ABL; which takes forever, honestly. Not sure if I recommend that.

thelittlemike avatar Mar 16 '20 13:03 thelittlemike

@thelittlemike I'll try changing it to 5v and see what happens. I just tried your fix with 3.3v. When I auto home, X and Y home correctly and Z starts moving down, but the probe doesn't deploy.

nakedandjameson avatar Mar 16 '20 13:03 nakedandjameson

@thelittlemike I'll try changing it to 5v and see what happens. I just tried your fix with 3.3v. When I auto home, X and Y home correctly and Z starts moving down, but the probe doesn't deploy.

I tried with both force 5v on and off and it worked both ways for me, honestly. The only time it didn't work was before I set that Z_STOP pin. Other than that, it's been working great. One thing you can try is to use Cheetah 5.0, which is a build of Marlin 2.0.3 and change the pin file.

thelittlemike avatar Mar 16 '20 13:03 thelittlemike

@thelittlemike Tried with 5v and your fix. My pin still doesn't deploy for whatever reason during Z homing, even though it works fine with deploy/stow and self-test.

nakedandjameson avatar Mar 16 '20 13:03 nakedandjameson

@thelittlemike Tried with 5v and your fix. My pin still doesn't deploy for whatever reason during Z homing, even though it works fine with deploy/stow and self-test.

Did you try Cheetah?

thelittlemike avatar Mar 16 '20 17:03 thelittlemike

@thelittlemike I'll try changing it to 5v and see what happens. I just tried your fix with 3.3v. When I auto home, X and Y home correctly and Z starts moving down, but the probe doesn't deploy.

I tried with both force 5v on and off and it worked both ways for me, honestly. The only time it didn't work was before I set that Z_STOP pin. Other than that, it's been working great. One thing you can try is to use Cheetah 5.0, which is a build of Marlin 2.0.3 and change the pin file.

Cheetah does nothing special.

cronos45 avatar Mar 16 '20 21:03 cronos45

@thelittlemike I'll try changing it to 5v and see what happens. I just tried your fix with 3.3v. When I auto home, X and Y home correctly and Z starts moving down, but the probe doesn't deploy.

I tried with both force 5v on and off and it worked both ways for me, honestly. The only time it didn't work was before I set that Z_STOP pin. Other than that, it's been working great. One thing you can try is to use Cheetah 5.0, which is a build of Marlin 2.0.3 and change the pin file.

Cheetah does nothing special.

That's a bit of a stretch.

If my configuration works and nakedandjameson tried making the same changes and it didn't work for them, using Cheetah could help in that it would make sure they have everything else configured correctly. I mentioned Cheetah because it works. I'm running it right now while I work on upgrading to 2.0.4.4.

thelittlemike avatar Mar 16 '20 21:03 thelittlemike

Whats the current status? I got my new v1.4 Turbo and i got everything to work except my Trianglelab BLTouch. Im currently on the newest Marlin 2.0.5

If i disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN my printer doesnt home Z, if i enable it i get an error and my bltouch only starts clicking and then throws the error

xkuyax avatar Mar 20 '20 22:03 xkuyax

Does anyone have final solution on this yet?

Steven757 avatar Mar 24 '20 00:03 Steven757

Whats the current status? I got my new v1.4 Turbo and i got everything to work except my Trianglelab BLTouch. Im currently on the newest Marlin 2.0.5

If i disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN my printer doesnt home Z, if i enable it i get an error and my bltouch only starts clicking and then throws the error

@xkuyax i'm not sure if 2.0.5.2 resolves the issue yet but I was able to get it to work using the changes recommended above in 2.0.5.1. The issue is the logic conflicts with itself ... so in Conditionals_LCD.h you need to change line 586 to read #if Z_HOME_DIR < 0 //&& !HAS_CUSTOM_PROBE_PIN

Then commenting out // Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN in Configuration.h and although i'm not sure its needed (just in case) set the PIN #define Z_MIN_PROBE_PIN P0_10

This worked for me.

Steven23456 avatar Mar 25 '20 12:03 Steven23456

Whats the current status? I got my new v1.4 Turbo and i got everything to work except my Trianglelab BLTouch. Im currently on the newest Marlin 2.0.5 If i disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN my printer doesnt home Z, if i enable it i get an error and my bltouch only starts clicking and then throws the error

@xkuyax i'm not sure if 2.0.5.2 resolves the issue yet but I was able to get it to work using the changes recommended above in 2.0.5.1. The issue is the logic conflicts with itself ... so in Conditionals_LCD.h you need to change line 586 to read #if Z_HOME_DIR < 0 //&& !HAS_CUSTOM_PROBE_PIN

Then commenting out // Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN in Configuration.h and although i'm not sure its needed (just in case) set the PIN #define Z_MIN_PROBE_PIN P0_10

This worked for me.

Thanks ! That worked for me too. Marlin 2.0.5.2

LiS92 avatar Mar 27 '20 11:03 LiS92

I've just been setting up my Ender 3 Pro with an BTT SKR 1.4 Turbo fitted with TMC2209's. My goal was to have sensorless homing + have the BLTouch used for UBL.

Initially I had some issue with the z-homing but after experimenting I've been able to get it working well using the SKR1.4's dedicated z-probe pins. Here are the key configs I've landed on:

Configuration.h

#define Z_MIN_PROBE_PIN P0_10

#define BLTOUCH

#define NOZZLE_TO_PROBE_OFFSET { 38, 0, 0 }     // set yours according to your printer

Configuration_adv.h


#define SENSORLESS_HOMING

#define X_STALL_SENSITIVITY  100
#define Y_STALL_SENSITIVITY  100
#define Z_STALL_SENSITIVITY  100    // these are the values that work for me, but you may need to fine-tune

On the hardware side, BLTouch is wired up to the corresponding SERVOS/Probe pins on the motherboard. I also have the original z-endstop microswitch still wired up and this is critical to it working. Without this homing won't work for the z-axis.

With this setup you can auto-home fine, and G29 etc to use the BLTouch for leveling. If you insist on removing the z-endstop switch you'll likely either need to swap the BLTouch z-pins to the normal z-endstop, or use SENSORLESS_PROBING and rely on stallguard for the z-axis. (Or hack Marlin like mentioned above, however this will make upgrading to newer versions harder so I'd avoid it unless absolutely necessary).

djessup avatar Mar 28 '20 02:03 djessup

I've just been setting up my Ender 3 Pro with an BTT SKR 1.4 Turbo fitted with TMC2209's. My goal was to have sensorless homing + have the BLTouch used for UBL.

Initially I had some issue with the z-homing but after experimenting I've been able to get it working well using the SKR1.4's dedicated z-probe pins. Here are the key configs I've landed on:

Configuration.h

#define Z_MIN_PROBE_PIN P0_10

#define BLTOUCH

#define NOZZLE_TO_PROBE_OFFSET { 38, 0, 0 }     // set yours according to your printer

Configuration_adv.h


#define SENSORLESS_HOMING

#define X_STALL_SENSITIVITY  100
#define Y_STALL_SENSITIVITY  100
#define Z_STALL_SENSITIVITY  100    // these are the values that work for me, but you may need to fine-tune

On the hardware side, BLTouch is wired up to the corresponding SERVOS/Probe pins on the motherboard. I also have the original z-endstop microswitch still wired up and this is critical to it working. Without this homing won't work for the z-axis.

With this setup you can auto-home fine, and G29 etc to use the BLTouch for leveling. If you insist on removing the z-endstop switch you'll likely either need to swap the BLTouch z-pins to the normal z-endstop, or use SENSORLESS_PROBING and rely on stallguard for the z-axis. (Or hack Marlin like mentioned above, however this will make upgrading to newer versions harder so I'd avoid it unless absolutely necessary).

You do not need to have the endstops wired up. I'm not sure why people aren't able to get it working. I'm not a Marlin guru, so unfortunately, I can't really tell what's wrong. I just know that I have sensorless homing, stallguard, BLTouch 3.1 (authentic) connected to the dedicated pins, cooling fan on auto as well as hotend fan. Auto Home, bed leveling, all that stuff works for me. Here's my configs if maybe some of you guys can reverse engineer what I did. Configuration.zip

thelittlemike avatar Mar 28 '20 02:03 thelittlemike

@thelittlemike I'll take a look and see if I can figure it out, thanks for posting your configs. Out of interest, what version of Marlin are you using, and did you start with the BTT fork or straight from the official repo? (For this built I started from the BTT fork, but I plan to switch back to the mainstream repo shortly - fork is 2.0.1.)

djessup avatar Mar 28 '20 03:03 djessup

@thelittlemike PS - Love the custom machine name ;)

djessup avatar Mar 28 '20 03:03 djessup

@thelittlemike PS - Love the custom machine name ;)

Haha, thanks. I started directly with Marlin 2.0.4.4, then started over from scratch with each revision since, because I don't know how to upgrade. Lol.

So the configs I sent you are for 2.0.5.2 that I set up yesterday. I basically just opened up my config and advanced config file in Visual Studio and copied my changes (I generally put // EDIT HERE for the major edits that might break something).

Really that simple.

Oh, as far as wiring - so the hotend fan is plugged into HE1 and the part cooling fan is in FAN0 if that helps.

thelittlemike avatar Mar 28 '20 03:03 thelittlemike

Hey folks! Im stuck with same issue( None of your suggestions helped.

I have a skr 1.4+btt24tft and a 3dtouch from TringleLabs. Wiring looks ok. My fans are wired as mentioned above. Not from TFT menu, or from FullGraphicDisplay menu or G28 i can't make 3dtouch release the probe. When i turn on the printer 3dtouch does self test and the probe works fine. I use platformIO.

about #if Z_HOME_DIR < 0 //&& !HAS_CUSTOM_PROBE_PIN when i change it it loks like the part after // is now a comment not a part of the function. it's supposed to be that way?

I'm not so skilled yet. Can any one check my cfg plz? It compiles without errors but there has to be one...

Configuration.h.txt Configuration_adv.h.txt Conditionals_LCD.h.txt pins_BTT_SKR_V1_4.h.txt

MaximusStalsky avatar Mar 28 '20 13:03 MaximusStalsky

@xkuyax i'm not sure if 2.0.5.2 resolves the issue yet but I was able to get it to work using the changes recommended above in 2.0.5.1. The issue is the logic conflicts with itself ... so in Conditionals_LCD.h you need to change line 586 to read #if Z_HOME_DIR < 0 //&& !HAS_CUSTOM_PROBE_PIN

Then commenting out // Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN in Configuration.h and although i'm not sure its needed (just in case) set the PIN #define Z_MIN_PROBE_PIN P0_10

This worked for me.

The issue is not resolved in 2.0.5.2 but this worked for me too with 2.0.5.2. The line #define Z_MIN_PROBE_PIN P0_10 is not nescessary in configuration.h, because it is already defined in pins_BTT_SKR_V1_4.h: // // Z Probe (when not Z_MIN_PIN) // #ifndef Z_MIN_PROBE_PIN #define Z_MIN_PROBE_PIN P0_10 #endif

arminbl avatar Mar 30 '20 09:03 arminbl

@thelittlemike I compared your config with mine, and they were very similar regarding z-probing with the exception of your modification to the board pins for Z_STOP_PIN and Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN being disabled per default, where I had it enabled.

The latter I'd enabled after failing to get the BLTouch to z-home, but even before that when homing Z the probe did not get deployed and Z would home like normal (with just an endstop switch).

I have seen several videos on using BLTouch + SKR 1.4 which say they had to use the normal Z-stop port, which makes sense since that would match the default Z_STOP_PIN setting in Marlin. Looking deeper in the code Marlin will only use the servo if HOMING_WITH_Z_PROBE is true, but this will never be the case if Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN is enabled:

  #if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
    #define HAS_CUSTOM_PROBE_PIN 1
  #endif
  #if Z_HOME_DIR < 0 && !HAS_CUSTOM_PROBE_PIN
    #define HOMING_Z_WITH_PROBE 1
  #endif

I can kind of see the logic here, but it makes the assumption that the z-min pin will only ever be used by a physical endstop rather than a probe and I didn't see this clearly stated anywhere during my searches. It also explains why others have suggested removing && !HAS_CUSTOM_PROBE_PIN as a workaround.

For now my preference is to conditionally set the Z_STOP_PIN in the BTT1.4 pins file based on whether BLTOUCH is enabled, but this is a bit of a hack. I think some broader refactoring is needed to make this more rational.

tl;dr Make sure the Z_STOP_PIN is set to P0_10 on the SKR 1.4 (the dedicated BLTouch z-stop pin) OR use the normal Z-stop port on the board. /tl;dr

djessup avatar Mar 31 '20 22:03 djessup

@thelittlemike I compared your config with mine, and they were very similar regarding z-probing with the exception of your modification to the board pins for Z_STOP_PIN and Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN being disabled per default, where I had it enabled.

The latter I'd enabled after failing to get the BLTouch to z-home, but even before that when homing Z the probe did not get deployed and Z would home like normal (with just an endstop switch).

I have seen several videos on using BLTouch + SKR 1.4 which say they had to use the normal Z-stop port, which makes sense since that would match the default Z_STOP_PIN setting in Marlin. Looking deeper in the code Marlin will only use the servo if HOMING_WITH_Z_PROBE is true, but this will never be the case if Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN is enabled:

  #if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
    #define HAS_CUSTOM_PROBE_PIN 1
  #endif
  #if Z_HOME_DIR < 0 && !HAS_CUSTOM_PROBE_PIN
    #define HOMING_Z_WITH_PROBE 1
  #endif

I can kind of see the logic here, but it makes the assumption that the z-min pin will only ever be used by a physical endstop rather than a probe and I didn't see this clearly stated anywhere during my searches. It also explains why others have suggested removing && !HAS_CUSTOM_PROBE_PIN as a workaround.

For now my preference is to conditionally set the Z_STOP_PIN in the BTT1.4 pins file based on whether BLTOUCH is enabled, but this is a bit of a hack. I think some broader refactoring is needed to make this more rational.

tl;dr Make sure the Z_STOP_PIN is set to P0_10 on the SKR 1.4 (the dedicated BLTouch z-stop pin) OR use the normal Z-stop port on the board. /tl;dr

It's definitely a bit of a hack, but the idea behind it is so that you can use both physical endstops as well as software endstops. Not sure how much refactoring could be done without forcing one or the other. But anyway, my method works, so yay!

thelittlemike avatar Mar 31 '20 22:03 thelittlemike

The part that doesn't make sense to me is that the logic in Marlin is "if the probe uses a custom pin it can't be used for z-homing". Having a discussion w/ Marlin devs over here if you're interested in following - https://github.com/MarlinFirmware/Marlin/pull/17063

djessup avatar Apr 01 '20 01:04 djessup

The part that doesn't make sense to me is that the logic in Marlin is "if the probe uses a custom pin it can't be used for z-homing". Having a discussion w/ Marlin devs over here if you're interested in following - MarlinFirmware/Marlin#17063

Oh gosh, Chris is flipping out in that thread. I'm not touching it with a 10 foot pole. Lol

thelittlemike avatar Apr 01 '20 01:04 thelittlemike

Oh gosh, Chris is flipping out in that thread. I'm not touching it with a 10 foot pole. Lol

I can understand why. The original "fix" was a mess and there was no sense behind it aside from "it works for my specific situation". I've raised a new PR I think it a little more sane and shouldn't have any backwards compatibility issues.

https://github.com/MarlinFirmware/Marlin/pull/17359

djessup avatar Apr 01 '20 02:04 djessup

Hi, I am attaching my configuration files for comparison. On my SKR 1.4 the Bltouch works well connected to the dedicated Probe connector.

Configurations.zip

PapiOrso avatar Apr 01 '20 09:04 PapiOrso

Oh gosh, Chris is flipping out in that thread. I'm not touching it with a 10 foot pole. Lol

I can understand why. The original "fix" was a mess and there was no sense behind it aside from "it works for my specific situation". I've raised a new PR I think it a little more sane and shouldn't have any backwards compatibility issues.

MarlinFirmware/Marlin#17359

Agreed. Though my fix of changing the pin assignment was hacky, it was dead simple and worked. So I'm not sure why all the other changes. In either case, hopefully a solution comes up that will allow for both mechanical endstops as well as software-based, and retaining legacy support.

thelittlemike avatar Apr 01 '20 13:04 thelittlemike

Hi, I am attaching my configuration files for comparison. On my SKR 1.4 the Bltouch works well connected to the dedicated Probe connector.

@PapiOrso Do you have the BLTouch z-cable plugged into the standard z-endstop port? Otherwise I can't see how this would work unless you've also modified the pins file to change Z_MIN_STOP to P0_10?

djessup avatar Apr 01 '20 23:04 djessup

@djessup It's strange I know but it's the only way that makes the BlTouch connected to the Probe connector working. I discovered it casually after doing tests on tests. I haven't made any changes to the PINs. I forgot to say that in the standard z-endstop port the switch cable must remain connected otherwise it will not work.

PapiOrso avatar Apr 02 '20 06:04 PapiOrso

I did a little bit of digging into the code (I did not do any tracing) .. based on what I see Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN should NOT be defined if the BLTouch is connected to the provided port on the SKR 1.4 board connected to pin 0.10 I'm confident that this is a safe assumption based on the comments in the configuration.h file as well as looking at how the symbol is used in the code (specifically BLTouch.cpp)

Here is what I mean: in BLTouch.cpp lines 93-101 (Marlin 2.0.5.2)

bool BLTouch::triggered() {
  return (
    #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
      READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING
    #else
      READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING
    #endif
  );
}

you can see that a "triggered" state for the probe uses the Z_MIN_PIN unless Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN is disabled.

However, if you do disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN .. then in Conditionals_LCD.h never sets HOMING_Z_WITH_PROBE 1

see here from Conditionals_LCD.h lines 575 - 605

#if HAS_BED_PROBE || EITHER(PROBE_MANUALLY, MESH_BED_LEVELING)
  #define PROBE_SELECTED 1
#endif

#if HAS_BED_PROBE
  #if DISABLED(NOZZLE_AS_PROBE)
    #define HAS_PROBE_XY_OFFSET 1
  #endif
  #if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
    #define HAS_CUSTOM_PROBE_PIN 1
  #endif
  #if Z_HOME_DIR < 0 && !HAS_CUSTOM_PROBE_PIN 
    #define HOMING_Z_WITH_PROBE 1
  #endif
  #ifndef Z_PROBE_LOW_POINT
    #define Z_PROBE_LOW_POINT -5
  #endif
  #if ENABLED(Z_PROBE_ALLEN_KEY)
    #define PROBE_TRIGGERED_WHEN_STOWED_TEST 1 // Extra test for Allen Key Probe
  #endif
  #if MULTIPLE_PROBING > 1
    #if EXTRA_PROBING
      #define TOTAL_PROBING (MULTIPLE_PROBING + EXTRA_PROBING)
    #else
      #define TOTAL_PROBING MULTIPLE_PROBING
    #endif
  #endif
#else
  // Clear probe pin settings when no probe is selected
  #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#endif

HOMING_Z_WITH_PROBE 1 is used by G28.cpp to home the Z axis (when a probe is connected)

I can certainly see a situation where you have both a probe connected to the 0.10 pin and a switch connected to the Z Stop pin 1.27 ... working .. but if you have Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined .. you are basically using the Z Stop switch to home the printer ...

Steven23456 avatar Apr 02 '20 14:04 Steven23456

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file:

#else #define Z_STOP_PIN P0_10 // Z-STOP #endif

This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

Quite honestly, I am getting confused with all this. I have an SKR 1.4 with TMC2209s and a BLTouch 3.0. I am setting the board and Marlin up before placing it into my Ender 3. I get the sensorless homing on X & Y but with your pin assignment to the BLTouch plug (black and white) does that mean sensorless homing works on Z as well? Or, do I have to remove the pin on the Z motor TMC2209 - as seem to have to if I plug the BLTouch into the Z endstop socket? Sorry to seem a bit dim - but I probably am with all this isolation in the UK! David

meltonpieman avatar Apr 02 '20 16:04 meltonpieman

@PapiOrso That makes sense for the reasons @Steven23456 has detailed.

Basically in marlin you either have to modify the pin definitions to change the z-endstop to the SKR 1.4 BLTouch end stop pin (P0_10) or plug the BLTouch has into the normal z-endstop port.

You can't have a custom pin for z-min and use it for homing without modifying Marlin.

I have a PR open to address this: https://github.com/MarlinFirmware/Marlin/pull/17359

djessup avatar Apr 02 '20 19:04 djessup

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file: #else #define Z_STOP_PIN P0_10 // Z-STOP #endif This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

Quite honestly, I am getting confused with all this. I have an SKR 1.4 with TMC2209s and a BLTouch 3.0. I am setting the board and Marlin up before placing it into my Ender 3. I get the sensorless homing on X & Y but with your pin assignment to the BLTouch plug (black and white) does that mean sensorless homing works on Z as well? Or, do I have to remove the pin on the Z motor TMC2209 - as seem to have to if I plug the BLTouch into the Z endstop socket? Sorry to seem a bit dim - but I probably am with all this isolation in the UK! David

@meltonpieman I have a very similar setup, Ender 3 Pro + BLTouch 3.1 + 2209s. Sensor less homing on X/Y and BLTouch for Z. Quickest way to get it working is to change Z_STOP_PIN to P0_10, or you can try my fix from the PR linked above.

I wouldn’t go cutting any pins at this point. It’s not necessary and may limit you in the future.

djessup avatar Apr 02 '20 20:04 djessup

Hello,

I've got SKR V1.4 Turbo and 3DTouch V2.0 from Makerbase, this one: https://pl.aliexpress.com/item/32890485972.html?spm=a2g0s.9042311.0.0.66565c0fcPeQiG

I thing I've tried almost everything to make it work, but it wont. With M119 z_probe is open when deployed, and TRIGGERED when not.

Can anyone send me working configs? Im using TMC2208's.

EDIT:

I've managed to get it working. I'm homing with Z switch, and ten ABL with probe.

Right now I'm at: ` #define Z_STOP_PIN P1_27 #define Z_MIN_PROBE_PIN P0_10

#define ENDSTOPPULLUPS #define Z_MIN_PROBE_ENDSTOP_INVERTING false #define BLTOUCH //#define CUSTOM_PROBE_PIN_HOMING //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN //#define MIN_SOFTWARE_ENDSTOP_Z #define AUTO_BED_LEVELING_BILINEAR #define GRID_MAX_POINTS_X 5 #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X #define LCD_BED_LEVELING #define Z_SAFE_HOMING #define SERVO_DELAY { 400 }

#if Z_HOME_DIR < 0 && (!HAS_CUSTOM_PROBE_PIN || ENABLED(CUSTOM_PROBE_PIN_HOMING))

//#define BLTOUCH_DELAY 500 //#define BLTOUCH_FORCE_SW_MODE #define BLTOUCH_LCD_VOLTAGE_MENU `

Kamoool avatar Apr 03 '20 21:04 Kamoool

Finally got mine working with physical endstops, BLTouch and Bilinear leveling. Latest main release 2.0.5 I think - change to the PINS.h file + define BLTouch and 5v mode in config as described above. Very pleased.

spamplin avatar Apr 09 '20 11:04 spamplin

Hey Guys, I just got my SKR1.4 Turbo set up in my Tevo little monster(delta). I can not get my BLTouch to work at all. I see most of these instructions are for Ender 3 and other similar printers. What do i need to setup for my Delta since it needs the Z end stop for homing and the BLTouch for bed leveling?

Ratler5 avatar Apr 10 '20 17:04 Ratler5

I've been messing with this for days, and I keep ending up with a nonworking firmware. I just want someone to push the EASY button on this for me... I am apparently not talented enough to sort through this and figure out how to make it work for my Ender 3 with SKR 1.4 Turbo & TMC2208 and BLTouch.

sputnik378 avatar Apr 12 '20 05:04 sputnik378

I've been messing with this for days, and I keep ending up with a nonworking firmware. I just want someone to push the EASY button on this for me... I am apparently not talented enough to sort through this and figure out how to make it work for my Ender 3 with SMK 1.4 Turbo & TMC2208 and BLTouch.

What type of printer? And what mb exactly?... the SKR?

Steven757 avatar Apr 12 '20 10:04 Steven757

I've been messing with this for days, and I keep ending up with a nonworking firmware. I just want someone to push the EASY button on this for me... I am apparently not talented enough to sort through this and figure out how to make it work for my Ender 3 with SMK 1.4 Turbo & TMC2208 and BLTouch.

What type of printer? And what mb exactly?... the SKR?

Ender 3, SKR 1.4 Turbo with TMC2208 Stepper Drivers, and the BLTouch

I also have Octoprint on a RPi 3B+ and the TFT 3.5 v2 touchscreen

sputnik378 avatar Apr 12 '20 11:04 sputnik378

DM me your email on Twitter @stevenallen , let’s connect that way... I have almost the same setup. But we need to make sure your wiring is correct

Steven23456 avatar Apr 12 '20 11:04 Steven23456

DM me your email on Twitter @StevenAllen , let’s connect that way... I have almost the same setup. But we need to make sure your wiring is correct

Your twitter won't accept a DM. @sputnik378 is mine.

sputnik378 avatar Apr 12 '20 12:04 sputnik378

hello guys!

I have SKR 1.4 turbo with tmc 2209 and marlin 2.0.5.3...my bltouch probe do not deploy when z homing...I tried all configurations that I found here...It is not working for me...can you help me?

Culem94 avatar Apr 13 '20 10:04 Culem94

@Culem94 Check you wiring is correct. Use GCode or menus in Marlin to manually test/deploy/stow to confirm.

FYI I originally had a cheap clone that wouldn't work no matter what firmware/hardware changes I tired. I suspect it was DOA. Got an official BLTouch after that and it worked fine. Not saying all clones are bad or won't work, but there are certainly some out there with issues.

djessup avatar Apr 17 '20 04:04 djessup

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file:

#else #define Z_STOP_PIN P0_10 // Z-STOP #endif

This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

Hi mike did you cut pin on the 2209?

japri avatar Apr 17 '20 19:04 japri

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file: #else #define Z_STOP_PIN P0_10 // Z-STOP #endif This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

Hi mike did you cut pin on the 2209?

No, I did not. You should have no need to cut the DIAG pin.

thelittlemike avatar Apr 17 '20 19:04 thelittlemike

@Culem94 Check you wiring is correct. Use GCode or menus in Marlin to manually test/deploy/stow to confirm.

FYI I originally had a cheap clone that wouldn't work no matter what firmware/hardware changes I tired. I suspect it was DOA. Got an official BLTouch after that and it worked fine. Not saying all clones are bad or won't work, but there are certainly some out there with issues.

I have the same problem as @Culem94. My BLTouch is a clone but it worked absolutely flawless ever bevore on a GT2560 board. I have attached it to the dedicated Probe connector(s), checked the wiring, the red led is lit permanently and I can deploy/stow/test it with M280. The problem I have is that it simply does not deploy when starting to home Z. I do not have a physical switch connect to the Z-Min connector. Any idea what I can do to make it deploy?

PainHealer avatar Apr 18 '20 13:04 PainHealer

I finally got mine working last night with:

Cut diag pin (don't know if this is necessary) Set endstoppulleup_z_min_probe Force 5v mode Z stop as probe pin Replaced board connector for servo. (The factory connector turned out to be loose and giving intermittent connection issues.) Probe switch connected to Z-stop inverted. (The factory connector fits onto the board with black to 1.27 and white to GND. Swapped these and it worked like a charm.)

Of course after spending 2 days wrangling software configuration my two primary issues turned out to be physical wiring. I didn't try the switch wiring polarity swap with the dedicated probe port but it is working now using Z_STOP.

fleance avatar Apr 18 '20 18:04 fleance

I just gave up on this for the last few days as I was frustrated and didn't want to break anything before having the patience to make it better. I don't suppose anyone has a fully compiled firmware for 2208 stators that I could compare to mine to see if there is any differences?

sputnik378 avatar Apr 19 '20 02:04 sputnik378

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file: #else #define Z_STOP_PIN P0_10 // Z-STOP #endif This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

Hi mike did you cut pin on the 2209?

No, I did not. You should have no need to cut the DIAG pin.

Thanks mike, i have got it working properly on my CR10, also i got hint from a comment in youtube from "Jean-Pierre Lereboullet" and follow his steps,

i commented in file pins_BTT_SKR_V1.4.h file

//E0_DIAG_PIN //E1_DIAG_PIN

and to make the bltouch working on the designated port (designed by the factory ) i had to change this

Z_MIN_PIN to P0_10 Z_STOP_PIN to P0_10

All, working ok, filament sensor, sensorless homing, bltouch, linear advance, stealthchop. the bltouch has a problem at first, I had to switch the pin signal and vcc but leave the ground untouch. and the best is I didn't cut any pin from my tmc2209.

japri avatar Apr 19 '20 11:04 japri

So I got the BLTouch (3.1 version) to work just fine making no edits whatsoever to vanilla Marlin other than enabling BL Touch and 5V and a single change to the pins file: #else #define Z_STOP_PIN P0_10 // Z-STOP #endif This uses the dedicated pins on the board, with the hotend fan plugged into HE1 and the cooling fan plugged into FAN0

Hi mike did you cut pin on the 2209?

No, I did not. You should have no need to cut the DIAG pin.

Thanks mike, i have got it working properly on my CR10, also i got hint from a comment in youtube from "Jean-Pierre Lereboullet" and follow his steps,

i commented in file pins_BTT_SKR_V1.4.h file

//E0_DIAG_PIN //E1_DIAG_PIN

and to make the bltouch working on the designated port (designed by the factory ) i had to change this

Z_MIN_PIN to P0_10 Z_STOP_PIN to P0_10

All, working ok, filament sensor, sensorless homing, bltouch, linear advance, stealthchop. the bltouch has a problem at first, I had to switch the pin signal and vcc but leave the ground untouch. and the best is I didn't cut any pin from my tmc2209.

Excellent!

thelittlemike avatar Apr 19 '20 13:04 thelittlemike

Anyone having an issue with not being able to home Z or run G29 properly when the bed is heated?

psychrage avatar Apr 23 '20 05:04 psychrage

I've done a lot of digging and attempted all solutions mentioned above to try and get the sensor working. I have the SKR 1.4 Pro w/ TMC 2209's and successfully compiling the latest stable Marlin 2.0.5.3. I have included the attachment.

I have tried the following:

Bending the diag pin on the TMC 2209 for the Z driver. Wiring probe to typical Z-stop and enabling Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN Wiring to the dedicated Probe pin 0_10 and changing #if (Z_HOME_DIR < 0) in Conditionals_LCD.h Wiring to the dedicated Probe pin 0_10 and redefining Z_STOP to 0_10 Completely removing the Z, E0, E1 Diag pins from the board definition Completely disabling Sensor-less homing on all axis. Double checked the connections numerous times, confirmed wiring/leads and tested w/ multimeter.

When performing a M119 I get:

22:36:15.688 : Reporting endstop status
22:36:15.688 : x_min: open
22:36:15.688 : y_min: open
22:36:15.688 : z_min: TRIGGERED
22:36:15.688 : z_probe: TRIGGERED

It's not the only thing that's getting triggered at this point.. I can't even get the damn probe to work with the less optimized setup! >.<

When checking UART with stall-guard disabled (Z-driver diag pin bent):

22:43:33.303 : X	Y	Z	E
22:43:33.303 : Address		0	0	0	0
22:43:33.347 : Enabled		false	false	true	false
22:43:33.347 : Set current	925	925	925	925
22:43:33.383 : RMS current	917	917	917	917
22:43:33.419 : MAX current	1293	1293	1293	1293
22:43:33.419 : Run current	29/31	29/31	29/31	29/31
22:43:33.419 : Hold current	14/31	14/31	14/31	14/31
22:43:33.455 : CS actual	14/31	14/31	14/31	14/31
22:43:33.490 : PWM scale	16	16	16	16
22:43:33.527 : vsense		1=.18	1=.18	1=.18	1=.18
22:43:33.562 : stealthChop	true	true	true	true
22:43:33.597 : msteps		16	16	16	16
22:43:33.633 : tstep		max	max	max	max
22:43:33.633 : PWM thresh.
22:43:33.633 : [mm/s]
22:43:33.669 : OT prewarn	false	false	false	false
22:43:33.669 : triggered
22:43:33.669 : OTP		false	false	false	false
22:43:33.704 : off time	4	4	4	4
22:43:33.740 : blank time	24	24	24	24
22:43:33.740 : hysteresis
22:43:33.776 : -end		2	2	2	2
22:43:33.811 : -start		1	1	1	1
22:43:33.811 : Stallguard thrs	0	0	0	0
22:43:33.811 : DRVSTATUS	X	Y	Z	E
22:43:33.847 : sg_result	0	0	80	0
22:43:33.882 : stst
22:43:33.918 : olb
22:43:33.953 : ola
22:43:33.989 : s2gb
22:43:34.025 : s2ga
22:43:34.060 : otpw
22:43:34.096 : ot
22:43:34.131 : 157C
22:43:34.167 : 150C
22:43:34.202 : 143C
22:43:34.238 : 120C
22:43:34.238 : s2vsa
22:43:34.238 : s2vsb
22:43:34.238 : Driver registers:
22:43:34.247 : X	0xC0:0E:00:00
22:43:34.256 : Y	0xC0:0E:00:00
22:43:34.265 : Z	0xC0:0E:00:00
22:43:34.274 : E	0xC0:0E:00:00
22:43:34.283 : Testing X connection... OK
22:43:34.292 : Testing Y connection... OK
22:43:34.301 : Testing Z connection... OK
22:43:34.310 : Testing E connection... OK

Anyone else? Suggestions?!

Marlin.zip

RoscoeTheDog avatar Apr 24 '20 05:04 RoscoeTheDog

Update:

I discovered that with the settings I had, the BLTouch probe is actually working. M119 is reporting the Z/probe endstops are TRIGGERED and the M401 command refuses to stow. However after performing an auto-home on the X and Y axis with stall-guard enabled, it then homes the Z-axis and deploys the probe successfully.

I never even tried homing the Z-axis since the diagnostics and testing commands were not reporting correctly and I did not want my axis crashing into the bed. Because of my precautions, I wasted an entire day on this.

This issue should be raised and made aware elsewhere and not just from my comment on this very long thread. I have not heard of anyone else describing this behavior and I'm wondering how many others are wasting countless hours and spamming the forums because of miss-reported information over the USB Serial Communications Port.

RoscoeTheDog avatar Apr 24 '20 06:04 RoscoeTheDog

I'll be honest, at this point I'm completely lost and feeling out of my element getting this setup working. I just wanna get printing again.. I've spent the last few days fiddling and wasting time going back and forth with all these different firmware changes and nothing really seems to work. I've watched countless videos and read the same forums over and over and the issue is everyone's got different settings which just adds to the confusion. so close to just removing the BLTOUCH entirely and just go back to stock turning the knobs bed leveling as at least then I was able to actually print which is why I started all of this. The last week has involved zero printing and almost been entirely coding and or tech repair/troubleshooting. I understand this comes with the territory, and most likely going to come down to one line of code that needs to be changed and what may seem obvious to most , it certainly isn't for me.

the PIN config differences between everyone, with some people cutting pins, etc. Now I'm just lost and getting extremely frustrated with this entire process which just seems like I've wasted the last few days.

ENDER 3 PRO SKR 1.4 Turbo , 2209's , ANTCLABS BLT 3.1

At the moment the X gantry carriage makes an awful noise when "AUTO HOME" is initiated from the LCD.

It then furiously jackhammers continuously into the X end stop/frame forcing me to immediately power off the machine.

I've tried to reflash the machine with different complied configs but literally just changing things without really even knowing if it will help anything. I really need some help. I'm so close!!!

xiiiw avatar Apr 24 '20 17:04 xiiiw

I'll be honest, at this point I'm completely lost and feeling out of my element getting this setup working. I just wanna get printing again.. I've spent the last few days fiddling and wasting time going back and forth with all these different firmware changes and nothing really seems to work. I've watched countless videos and read the same forums over and over and the issue is everyone's got different settings which just adds to the confusion. so close to just removing the BLTOUCH entirely and just go back to stock turning the knobs bed leveling as at least then I was able to actually print which is why I started all of this. The last week has involved zero printing and almost been entirely coding and or tech repair/troubleshooting. I understand this comes with the territory, and most likely going to come down to one line of code that needs to be changed and what may seem obvious to most , it certainly isn't for me.

the PIN config differences between everyone, with some people cutting pins, etc. Now I'm just lost and getting extremely frustrated with this entire process which just seems like I've wasted the last few days.

ENDER 3 PRO SKR 1.4 Turbo , 2209's , ANTCLABS BLT 3.1

At the moment the X gantry carriage makes an awful noise when "AUTO HOME" is initiated from the LCD.

It then furiously jackhammers continuously into the X end stop/frame forcing me to immediately power off the machine.

I've tried to reflash the machine with different complied configs but literally just changing things without really even knowing if it will help anything. I really need some help. I'm so close!!!

Your stallguard sensitivity is wrong , or your vref is wrong, or both. Grinding noises and/or the axis not stopping is because of stallguard being off, but stallguard is affected by voltage and the sensitivity settings in Marlin.

Also keep in mind that the BLTouch is not magic. You still need to level your bed with knobs. It sounds like you are awful close, so I'd say don't give up.

Also as far as cutting pins on drivers, there really is only a specific instance for doing that. It's generally not needed if you're using all functions of the drivers.

thelittlemike avatar Apr 24 '20 17:04 thelittlemike

stallguard sensitivity is wrong?

How would I know if that's the issue?

as far as the probe not being magic, I def agree with you on that.

as for the keeping the bed manually leveled, I always keep it as close to perfect regardless of having a BLTOUCH or not.

I have no intention of cutting any pins on a board or drivers that I purchased specifically to avoid having to do these types of modifications in the first place. I think that's what is frustrating me. It's not like I'm trying to hack together some hardware I've got lying around a la Tony Stark, although that would seem to be way more satisfying at this point.

The board, BLT and drivers were purchased with the assumption that It would all work without having to waste time like this.

I keep modifying the config files I have, but they seem to all be completely different from all the versions I find on Git.

xiiiw avatar Apr 24 '20 17:04 xiiiw

stallguard sensitivity is wrong?

How would I know if that's the issue?

as far as the probe not being magic, I def agree with you on that.

as for the keeping the bed manually leveled, I always keep it as close to perfect regardless of having a BLTOUCH or not.

I have no intention of cutting any pins on a board or drivers that I purchased specifically to avoid having to do these types of modifications in the first place. I think that's what is frustrating me. It's not like I'm trying to hack together some hardware I've got lying around a la Tony Stark, although that would seem to be way more satisfying at this point.

The board, BLT and drivers were purchased with the assumption that It would all work without having to waste time like this.

I keep modifying the config files I have, but they seem to all be completely different from all the versions I find on Git.

You would know it's the issue, because that's exactly how stallguard works. Too high of sensitivity, and it stalls. Too little, and it rams into the side because it doesn't know to stop. This is all documented in Marlin as well as on the TMC site.

Good. Definitely don't cut the pins unless you need to.

I'm sorry to say, you bought the board with the wrong intentions. This is a tinkering hobby still. These boards and configuring Marlin is intermediate/advanced setup. That's why it's good to have places like Github for assistance, but there is a lot of "tinker till I figure it out" that is involved.

What do you mean you keep modifying the config files but they seem to be completely different from all the versions you found on Git? Different versions of Marlin? There are a few branches. Bugfix was released as a stopgap until 2.0 was ready. 2.0 has already gone through a few revisions and I believe is currently 2.0.6. As long as you are in the same branch, the configs will be exactly the same. The revisions are just revisions, the main build remains the same, so the configs do as well. (For the most part. It's splitting hairs to say otherwise. That's what versioning is for.)

thelittlemike avatar Apr 24 '20 17:04 thelittlemike

Hi guys it looks as if there is no manual for the BIGTREETECH SKR V1.4 Turbo (or maybe just cant find it:) because in the manul there talking about a 100 MHz ARM level Cortex-M3 LPC1768 instead of the 120MHz, so where is the Turbo manual? i heard that the BIGTREETECH SKR V1.4 pro and the turbo have something should i follow the Pro manual? Changing my FLUN Cube 300x300x400 using the follwing specs:FLSUN Cube 300300400 BIGTREETECH SKR V1.4 Turbo SKR V1.4 Control Board+TFT24 Touch Screen+TMC2209 Nema17 Stepper Motor 0.9 degree motor 42 Motor Nema 42BYGH 1.5A 38mm 17HS4401S AT24C256 Memory Module I2C Interface EEPROM In Stock01 BIGTREETECH BTT Writer V1.0 Module ESP-01S WIFI Expansion module 3D Printer Parts For SKR V1.4 Turbo SKR V1.4 Control Board ESP8266 ESP-01S ESP01S Serial Wifi Sensor Wireless Module ESP-01 Wifi Module DIY for SKR PRO SKR V1.4 Turbo DCDC Mode V1.0 Power Module BTT Writer Firmware Flashing for BTT SKR v1.4/1.4 Turbo Control Board WIFI Moudle XCR3D Titan Extruder for the E3D V6 Hotend J-head Bowden Mounting Bracket 1.75mm Filament 3:1 transmission ratio HT-NTC100K Thermistor Temperature Sensor for High Temperature Filament 350 Degrees For Heat Block Reprap Heating tube 6*20mm 12V 24V 50W Ceramic Cartridge Heater for V6 HotEnd with J-Head Geeetech 3d touch auto leveling sensor E3D V6 Hotend 0.4/1.75 Mm High temp 320 Graden J-Head Remote extruder 12V Hot End GT2 20 tooth Timing Pulley Aluminum Bore 5mm Width 6mm with a PU with Steel Core GT2 Belt Heated Bed / Extruder Power 2x Module High Current 210A MOSFET Upgrade RAMPS 1.4

Just wondering "thelittlemike" commented on 28 Mar he had a zip file i downloaded maybe someone can help me out i would like Senorless homing without cutting and soldering the stuff i buy new from thye shop that's not how it works i was watching some gurews on Utube but it looks like there al Ender focused so anybody has some config that will help me with my specs would be kind :)

Arnie3d avatar May 02 '20 07:05 Arnie3d

@Arnie3d while most of the commenters (myself included) have an Ender 3, by the time you've replaced the motherboard the actual printer is largely irrelevant. You have a motherboard w/ stepper drivers, connected to motors. The underlying printer is mostly just the frame at this point, so you can take the same guidance regarding config and pins, just adjust things like x/y/z dimensions, display type, if you have corexy or delta, etc.

As it pertains to BLtouch pinouts/config, the same should apply regardless of the printer if you have a BTT SKR 1.4.

djessup avatar May 02 '20 08:05 djessup

Hi, folks.

Sorry for the looong post, but here is a complete description of all steps I did to successfully enable BTT SKR 1.4 Turbo, drivers TMC2209, BTT TFT35 V3.0 E3 and BL Touch V3.1 on my Ender 3 Pro, including Sensor-less Homing, using the Servo and Probe pins (NOT using Z-Stop pins). I used the latest version of Marlin bugfix-2.0.x, WITHOUT changing anything beyond Configuration.h or Configuration_adv.h, NEITHER cutting any pin on my TMC2209.

I'll try to give all steps and references I used for this.

IMPORTANT: I'm providing the instructions below without any warranty or support. Please read it carefully, if you don't know how to do any step Google and Youtube are your best friends, there are tons of guides/videos showing how to perform it.

Step 1 (and probably the most important one!!!): CHECK YOUR BL TOUCH V3.1 CABLE!!

I'm using a BL Touch (Classic) in my RepRap, and when I bought my Ender 3 Pro I also bought the Creality BL Touch Kit (bought mine on Amazon, but is the original Creality kit - https://www.amazon.com/gp/product/B07SCLF42D/). During installation on the original board, I observed on the Creality installation guide (https://www.dropbox.com/s/t0keklxcllx6xtz/BLTouch%20Firmware%20Compatible%20with%20V3.0%20and%20Guidance.zip?dl=0&file_subpath=%2FCreality+V1+Install+Guidance/BLtouch+Creality+For+Creality+V1+Install+Guidance.pdf, I got this link from the Creality store website -> https://www.creality3dofficial.com/pages/firmware-download) that the long cable that come in the kit had a difference on pin-out while compared with my original BL Touch. If you look on the guide linked above, frame 5, you will see that Servo (3 pin) pin-out on the pinboard A (the adapter that comes in the kit to connect the BL Touch together with LCD display in the original Creality board (the one that came on my Ender 3 Pro was Creality3D V1.1.4) has the following sequence:

SIG GND VCC

But if you look into SKR1.4 manual (https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/BTT%20SKR%20V1.4/BTT%20SKR%20V1.4%20Instruction%20Manual.pdf), page 8, you will see that the sequence of pins on the Servo connector is:

GND NPWR (VCC) 2.0 (SIG)

which is different from the cable that come in the Creality BL Touch Kit (in Creality kit the GND is in the middle, in SKR 1.4 (or 1.4 Turbo) VCC is in the middle).

So if you are using a Creality BL Touch kit and switching to SKR 1.4 (or 1.4 Turbo) please verify your wiring to match BTT SKR 1.4 board. In my case I had to exchange the position of VCC and GND pins in the cable connector (the 3 pin connector). This can be done using a X-Acto knife (or similar), raising the retainer, pulling out gently the wire with the metallic connector, and inserting it on the correct position (in my case I had to invert blue and red wires, but please check your cable properly!!!).

IMPORTANT: if you bought a BL Touch from other vendor please check the cabling. I had an original BL Touch bought from Antclabs that the wires already match the BTT SKR 1.4. SO PLEASE BE CAREFUL!!!

Step 2: Connect the BL Touch V3.1 to the SKR 1.4 (or 1.4 Turbo) using the original BL Touch connectors on the board

Look into SKR1.4 manual (https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/BTT%20SKR%20V1.4/BTT%20SKR%20V1.4%20Instruction%20Manual.pdf), page 8, and connect your BL touch as showed there. The 3 pin connector is connected on the Servo connector, and the 2 pin connector is connected to the Probe connector.

Step 3: Upgrade your firmware

I started by upgrade using a vanilla version of Marlin bugfix-2.0.x (https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x), and used the config examples from Marlin Configuration (https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.0.x). To do that, you copy the files from the folder config/examples/Creality/Ender-3 that you downloaded from Configurations to the Marlin folder from the bug fix-2.0.x version.

IMPORTANT CHANGES ON CONFIGURATION FILES:

Configuration.h

#define MOTHERBOARD BOARD_BTT_SKR_V1_4 or #define MOTHERBOARD BOARD_BTT_SKR_V1_4_TURBO (adjust to your motherboard)

#define X_DRIVER_TYPE TMC2209 (uncomment and adjust to YOUR DRIVER TYPE) <== Only TMC2209 or TMC5160 can Sensor-less Homing) #define Y_DRIVER_TYPE TMC2209 (uncomment and adjust to YOUR DRIVER TYPE) #define Z_DRIVER_TYPE TMC2209 (uncomment and adjust to YOUR DRIVER TYPE) #define E0_DRIVER_TYPE TMC2209 (uncomment and adjust to YOUR DRIVER TYPE)

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN (COMMENT IT, otherwise Marlin will try to use Z_MIN_ENDSTOP_PIN for probing)

#define USE_PROBE_FOR_Z_HOMING (uncomment it, to enable homing using BL Touch)

#define Z_MIN_PROBE_PIN P0_10 (uncomment it, and change to SKR 1.4 probe pin - P0_10)

#define BLTOUCH (uncomment it)

#define AUTO_BED_LEVELING_BILINEAR (uncomment it, to allow auto bed leveling using the BL Touch)

#define Z_SAFE_HOMING (uncomment it, it ensure proper X and Y homing before Z homing, avoiding probing outside the bed area, and nozzle crashing the bed)

Configuration_adv.h

#define SENSORLESS_BACKOFF_MM { 2, 2 } (uncomment, and define the backoff before sensorless homing - important if X or Y are already at 0)

#define HOMING_BUMP_MM { 0, 0, 2 } (change first 2 numbers to 0, to avoid duplicate bumping - crashing! - to your structure)

//#define QUICK_HOME (comment, since simultaneous X and Y homing in diagonal is still not working 100%, this will home first X, than Y)

#define MONITOR_DRIVER_STATUS (uncomment, allow better information about trinamic drivers like TMC2209 via G-Codes M906, M911, M912, M122)

#define SENSORLESS_HOMING (uncomment, allow sensor-less homing)

#define X_STALL_SENSITIVITY 8 (uncomment, and adjust your sensitivity - mine is 50) #define Y_STALL_SENSITIVITY 8 (uncomment, and adjust your sensitivity - mine is 50) //#define Z_STALL_SENSITIVITY 8 (comment, to NOT use sensorless homing in axis Z - you will use BL Touch!!)

#define TMC_DEBUG (uncomment it, necessary together with MONITOR_DRIVER_STATUS)

Step 4: Compile and install new firmware, and test it!

Compile your new firmware, and install it. Test it properly, and after it perform normal initial setup of your printer (Z Offset adjustment, bed leveling, etc.).

Again, my hardware configuration:

  • Creality Ender 3 Pro
  • BTT SKR 1.4 Turbo
  • TMC2209 drivers
  • BTT TFT35 V3.0 E3
  • Creality BL Touch Kit (BL Touch connected to Servo and Probe pins, NOT to Z-Stop pins)

With that configuration, I was able to achieve (properly tested):

  • Sensorless homing on X and Y axes;
  • BL Touch homing on X axis;
  • Auto Bed Leveling using BL Touch;

As reported above, I just changed Configuration.h and Configuration_adv.h. I'm attaching my files here, use them at your own risk!!!

Hope this helps you.

Best regards,

Marcelo SKR1.4-TMC2209-BLTOUCH-ENDER-3-PRO.zip

mlazarin avatar May 05 '20 06:05 mlazarin

@mlazarin Amazing work, working perfectly for me!

Neidraidd avatar May 06 '20 20:05 Neidraidd

@mlazarin Thank you a lot! Very good discription!

Gehilfe avatar May 15 '20 06:05 Gehilfe

@mlazarin I am a little confused with this if I have 2208 stepper drivers I have been trying to use your directions and I keep getting a errors on the x,y,z HOME_BUMP_MM

X_HOME_BUMP_MM' was not declared in this scope

I'm guessing that this has to do with not having sensorless homing, but I haven't been able to work around it. I'd appreciate any insight you might have.

sputnik378 avatar May 16 '20 12:05 sputnik378

@mlazarin

having issues with my Bl Touch as well on a sidewinder x1. It stops in the air while it should do ABL or even simple homing.

Because all guides for the sidewinder say we should connect the black wire (that is the white one from original BL Touch) to Z-endstop instead of the probe pin I thought that should be the right way to go.

I did this the same way on my old mks gen L board without any issue.

Now I would try your solution. So one question: You didn't cut off any pin on z0 z1 and e0?

nicedevil007 avatar May 23 '20 11:05 nicedevil007

@mlazarin I am a little confused with this if I have 2208 stepper drivers I have been trying to use your directions and I keep getting a errors on the x,y,z HOME_BUMP_MM

X_HOME_BUMP_MM' was not declared in this scope

I'm guessing that this has to do with not having sensorless homing, but I haven't been able to work around it. I'd appreciate any insight you might have.

@sputnik378 Maybe he is using an other version of marlin.

I got the same error and changed it to this:

image

nicedevil007 avatar May 24 '20 14:05 nicedevil007

@mlazarin I am a little confused with this if I have 2208 stepper drivers I have been trying to use your directions and I keep getting a errors on the x,y,z HOME_BUMP_MM X_HOME_BUMP_MM' was not declared in this scope I'm guessing that this has to do with not having sensorless homing, but I haven't been able to work around it. I'd appreciate any insight you might have.

Maybe he is using an other version of marlin.

I got the same error and changed it to this:

image

My instructions were for 2209's with sensorless homing, stealthchop and BLTouch. They won't work for different setups, you'll have to adjust according to what you have.

thelittlemike avatar May 24 '20 16:05 thelittlemike

@mlazarin I am a little confused with this if I have 2208 stepper drivers I have been trying to use your directions and I keep getting a errors on the x,y,z HOME_BUMP_MM X_HOME_BUMP_MM' was not declared in this scope I'm guessing that this has to do with not having sensorless homing, but I haven't been able to work around it. I'd appreciate any insight you might have.

Maybe he is using an other version of marlin. I got the same error and changed it to this: image

My instructions were for 2209's with sensorless homing, stealthchop and BLTouch. They won't work for different setups, you'll have to adjust according to what you have.

Hey @thelittlemike: I have all the same here ;) just no ender 3 (artillery sidewinder x1 instead). But the model of printer doesn't care for this.

I used 2.0.5.x bugfix release 5 days ago and got the same errors as @mlazarin got. But was able to fix them by myself to add those lines again.

nicedevil007 avatar May 24 '20 20:05 nicedevil007

@mlazarin I am a little confused with this if I have 2208 stepper drivers I have been trying to use your directions and I keep getting a errors on the x,y,z HOME_BUMP_MM X_HOME_BUMP_MM' was not declared in this scope I'm guessing that this has to do with not having sensorless homing, but I haven't been able to work around it. I'd appreciate any insight you might have.

Maybe he is using an other version of marlin. I got the same error and changed it to this: image

My instructions were for 2209's with sensorless homing, stealthchop and BLTouch. They won't work for different setups, you'll have to adjust according to what you have.

Hey @thelittlemike: I have all the same here ;) just no ender 3 (artillery sidewinder x1 instead). But the model of printer doesn't care for this.

I used 2.0.5.x bugfix release 5 days ago and got the same errors as @mlazarin got. But was able to fix them by myself to add those lines again.

Then you aren't using the same as me. I'm not using the bugfix branch. I'm using the 2.0 main branch. Granted, a lot will be the same, but it's not the same build. None of that screenshot matches my settings:

`// @section homing

// Homing hits each endstop, retracts by these distances, then does a slower bump. #define X_HOME_BUMP_MM 5 #define Y_HOME_BUMP_MM 5 #define Z_HOME_BUMP_MM 2 #define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) #define QUICK_HOME // If homing includes X and Y, do a diagonal move initially //#define HOMING_BACKOFF_MM { 2, 2, 2 } // (mm) Move away from the endstops after homing `

I have my home bump set to 5,5,2 because I want it to back off a little bit once it has completed homing (I'm also using sensorless homing, where @mlazarin was not with 2208's.) I also have Quick Home defined so it moves x and y at the same time, rather than one then the other.

Anyway, point being, if you're not using the same build, then your mileage may vary.

thelittlemike avatar May 24 '20 21:05 thelittlemike

@thelittlemike That was what I was talking about ;) Just want to help the @mlazarin to fix his compile error.

Maybe you could take a look at my problem with Bl-Touch as well? Set it up with 3 probe attemps on each measurement point. As you can see it sometimes won't hit the bed and tho the led won't light up red. This is random all the time. If I do a Z-home it sometimes stops in the middle of the air :(

https://www.youtube.com/watch?v=gsQPkcg427s&feature=youtu.be

nicedevil007 avatar May 24 '20 21:05 nicedevil007

@thelittlemike That was what I was talking about ;) Just want to help the @mlazarin to fix his compile error.

Maybe you could take a look at my problem with Bl-Touch as well? Set it up with 3 probe attemps on each measurement point. As you can see it sometimes won't hit the bed and tho the led won't light up red. This is random all the time. If I do a Z-home it sometimes stops in the middle of the air :(

https://www.youtube.com/watch?v=gsQPkcg427s&feature=youtu.be

As I said above, I'm not a Marlin guru. However, looks like your problem is electrical. You also haven't given any details on what board you're using, what port you have the BLTouch plugged into (dedicated port, endstop port), what your Marlin configuration is....

You're going to have to test it. Make sure it's getting proper voltage. Make sure you have the voltage configured correctly in Marlin. If you're plugged into an endstop, my config totally won't work, because I have it plugged in to the dedicated port.

thelittlemike avatar May 24 '20 22:05 thelittlemike

@nicedevil007 I'd agree w/ @thelittlemike that based on your description this sounds like a dodgy connection somewhere and when the extruder is moving around it's making/breaking contact intermittently. I had a pretty similar issue when my BLTouch was connected w/ a plug/socket half-way between the MB and probe. After soldering the wires instead the issue went away.

djessup avatar May 25 '20 05:05 djessup

@djessup @thelittlemike (you both are doing well for "hobby supporter" :))

Thank you both for the answeres :)

My thoughts about my problem were the same (electronical things) why I didn't wrote down which model of board etc. I got.

But here are my specs: SKR 1.4 turbo with TMC 2209 in UART with sensorless homing and cut off pins on Z and E (can solder new pins to it if needed).

I first tryed to achieve the Bl-touch to get it working with the Z-Endstop pin as described in guides on fulament or 3dchanh's page. This leads to the behaviour you see on my video. I read somewhere that some electronical interferences can be the issue.

So I tryed the solution with the probe port described here. Then I missed the thing with the LCD config... my probe isn't used for homing Z. Late at night I recompiled the firmware with the "fixes" for Z-homing. I will try this today. Maybe on the probe port I won't have the issue with stopping right in the air.

The issue didn't appear at all on my MKS Gen L board with the Bl-touch. So I don't think that it is a problem of my connections?

What I found out so far is: If my printer was shutdown for an hour or something like that and it was "cooled down" I won't have the issue with the probe. If I did one print (so it is heated up) it starts to get this random issue.

nicedevil007 avatar May 25 '20 05:05 nicedevil007

@djessup @thelittlemike (you both are doing well for "hobby supporter" :))

Thank you both for the answeres :)

My thoughts about my problem were the same (electronical things) why I didn't wrote down which model of board etc. I got.

But here are my specs: SKR 1.4 turbo with TMC 2209 in UART with sensorless homing and cut off pins on Z and E (can solder new pins to it if needed).

I first tryed to achieve the Bl-touch to get it working with the Z-Endstop pin as described in guides on fulament or 3dchanh's page. This leads to the behaviour you see on my video. I read somewhere that some electronical interferences can be the issue.

So I tryed the solution with the probe port described here. Then I missed the thing with the LCD config... my probe isn't used for homing Z. Late at night I recompiled the firmware with the "fixes" for Z-homing. I will try this today. Maybe on the probe port I won't have the issue with stopping right in the air.

The issue didn't appear at all on my MKS Gen L board with the Bl-touch. So I don't think that it is a problem of my connections?

What I found out so far is: If my printer was shutdown for an hour or something like that and it was "cooled down" I won't have the issue with the probe. If I did one print (so it is heated up) it starts to get this random issue.

Haha, well thank you for that.

Are you using stallguard? Because you do NOT cut the DIAG pin if you're using it. That may be a problem.

thelittlemike avatar May 25 '20 06:05 thelittlemike

Haha, well thank you for that.

Are you using stallguard? Because you do NOT cut the DIAG pin if you're using it. That may be a problem.

I think yes... so I have a bit more to solder today :D How can I confirm if stallguard is active or not? I'm still relativly new to marlin and started with premade firmware from 3dchanh or fulament.

It is a bit offtopic but I hope I can ask this as well?

1st: I was used to have an option on the LCD to do my Z-Offset. If I hit this button, the printhead moved to the center of the bed and then lowered it to its actual offset. Then I was able to put a sheet of paper or similar under the nozzle and lowered the nozzle until it scratches. I can't find a similar way to get this functionality back with the BTT TFT. Maybe I didn't see the option and I'm a blind chicken? :) For now I started to set my Z-offset with an STL that print a X on the printbed and then moving around with Babysteps. Is that the normal way to go now?

2nd: The normal leveling with knobs of the bed => where can I adjust those coordinates where it should lower the nozzle?

nicedevil007 avatar May 25 '20 06:05 nicedevil007

StallGuard = sensorless homing, so if you have that working then StallGuard is working. Not really necessary for Z/E, so if you've still got the DIAG pin on X/Y then you're probably fine. I think in theory you can use it for Z as well, but probably not a great idea to be smashing the (possibly hot) extruder into the bed when you have a probe available ;)

djessup avatar May 25 '20 06:05 djessup

StallGuard = sensorless homing, so if you have that working then StallGuard is working. Not really necessary for Z/E, so if you've still got the DIAG pin on X/Y then you're probably fine. I think in theory you can use it for Z as well, but probably not a great idea to be smashing the (possibly hot) extruder into the bed when you have a probe available ;)

that's the case. I only cut them off the Z/E => followed a guide on youtube for that => chris's basement or something like that

nicedevil007 avatar May 25 '20 06:05 nicedevil007

1st: I was used to have an option on the LCD to do my Z-Offset. If I hit this button, the printhead moved to the center of the bed and then lowered it to its actual offset. Then I was able to put a sheet of paper or similar under the nozzle and lowered the nozzle until it scratches. I can't find a similar way to get this functionality back with the BTT TFT. Maybe I didn't see the option and I'm a blind chicken? :) For now I started to set my Z-offset with an STL that print a X on the printbed and then moving around with Babysteps. Is that the normal way to go now?

Personally I've found the BTT TFT a bit weak and feature-less compared with vanilla Marlin. Not all options available in Marlin are exposed via the TFT.

Babystepping is one of those weak areas IMO. What I've found is that if you are mid-print and you go to the babystepping menu you need to set the value on-screen to where the nozzle is, relative to the bed, then press "zero" to move the nozzle up/down so it's at "zero", based on the value you had entered. For example, if your nozzle is 0.2mm too high, you set the babystep value to "+0.2" (where the nozzle currently is), then hit "zero" and it will move down 0.2mm.

This is less intuitive to me than the standard Marlin babystep menu, where you are simply jogging the z-axis up or down and applying a relative offset in realtime.

That said, if you connect the EXP ports from your MB to the TFT you should be able to use the 12864 emulation mode to access the normal Marlin menus (you can switch between then while the printer is running).

2nd: The normal leveling with knobs of the bed => where can I adjust those coordinates where it should lower the nozzle?

Just going off memory, but I think there is an option just called "Levelling" where you can move the extruder to each corner of the bed, then fine tune it with the screw adjustments using paper/feeler gauge/etc. It's in the same menu as ABL IIRC.

djessup avatar May 25 '20 07:05 djessup

Hi, @nicedevil007, @djessup and @thelittlemike,

As described in my post, I'm using this configuration in my Ender 3 Pro with SKR 1.4 Turbo + TMC2209 + TFT35 E3 V3.0, without cutting any pin on 2209. I used the latest bugfix version of Marlin.

If you are using other drivers (like 2208) you will have to adjust your configuration to reflect the change on the driver (for example 2208 does not have sensorless homing).

For the BL Touch, as described in my post, I'm using the BL Touch connection on SKR 1.4, not Z end-stop. I also just changed Configuration.h and Configuration_Adv.h, no other change in any other piece of code of Marlin bugfix. I saw posts asking to change other files, but as I said, not necessary.

I applied the same configurations in another generic RepRap printer I have here, also using SKR 1.4 Turbo, TMC 2209 and TFT35 V3.0 (not the E3 version), and everything is working also without problems.

On both TFT displays I'm using the Unified Menu display, and honestly happy with it (you can even type GCode directly on the touchscreen if needed). In both displays I'm also connecting using 3 cables (EXP1 + EXP2 + TFT).

Best regards, and good luck.

Marcelo

mlazarin avatar May 25 '20 08:05 mlazarin

@mlazarin Recent bugfix versions of Marlin have a patch which allows for dedicated probe ports to be used for homing purposes, and much of the earlier commentary has been superceded. Prior to this modifications were necessary to pins and/or code for this feature to work.

Re the TFT35 – it isn't terrible, there are nice things about having a touchscreen (and yes, the GCode terminal is one of them), but I don't see it as a complete replacement for the Marlin menus at this stage for anything except basic printer use. Power users wanting full control over the printer and it's features will probably find it lacking. Fortunately BTT had the foresight to include the 12864 emulator, which works pretty well.

Note for anyone coming from a Ender3/CR-10 or similar and using a non-E3 series board (e.g. SKR1.3/4), you'll want to compile Marlin w/ RepRap Full Graphic Smart Display and NOT the CR10 stock display option, and connect EXP1+2, otherwise the emulator won't work correctly.

djessup avatar May 25 '20 08:05 djessup

@mlazarin Yeah I tryed this but that won't work (I guess the cut off pins, aren't the problem for my probe).

@djessup I'm pretty happy with the TFT35. I only knew the "mks display" that got lot of features missing compared to the TFT35. Thanks for sharing your experience with Z-Offset settings. I will try if my probe will do it's job as it should do :/

Maybe I wasn't clear with "normal" bedleveling. I know where to start it and hit the button for the 4 corners. But I want the coordinates be different from what my printhead is moving while hittings those buttons. f.e. => the button for 2 and 3 are around 100mm away from the right side of the bed. They should be closer to the edge. Where can I change those coded coordinates for all of the 4 points? :)

nicedevil007 avatar May 25 '20 09:05 nicedevil007

@djessup @thelittlemike

Ok tested now with the change in LCD configuration file

=> https://youtu.be/IGp5YJ1ljYU => now it homes Z but the ABL is too high to level the bed. Probing fails all the time. Tryed Z-Offset -4 f.e. doesn't help.

nicedevil007 avatar May 25 '20 15:05 nicedevil007

Hi, @nicedevil007,

Few things for you to investigate:

  1. Did you check the NOZZLE_TO_PROBE_OFFSET? Each printer is different, and you should check yours. Usually we set X and Y, and leave Z as 0 to be set later on alignment. For example, mine is #define NOZZLE_TO_PROBE_OFFSET { -45, 4, 0 }. For alignment, you can check the below video, very good explanation on how to do it.: Calibrating Z-Offset With A BLTouch Bed Levelling Probe https://www.youtube.com/watch?v=y_1Kg45APko

  2. To isolate if your problem is with the board or TFT, can you try to send the command G28 and than G29 directly to the board (via Pronterface or OctoPrint, or even directly in the TFT (but using the GCODE feature, not clicking on the icons)). If it works in that way it should be a problem with the TFT itself, not with the board and/or Marlin configuration;

  3. Not sure if you speed up the video, but when comparing to mine, the probing is done really fast. The faster the less precise it is. You may try to slow down the probing via HOMING_FEEDRATE_XY and HOMING_FEEDRATE_Z;

Marlin uses the data of G28 (and proper leveling of Z offset as per video above) to perform bed leveling. Having a Z offset of -4 or any other value is fine, it just tells the printer the difference between the probe and the nozzle. Just to give an example, in my printers they are Z-2.2 and Z-1.85. Also remember that different versions of BL Touch have different sizes (for example, my old BL Touch Classic is bigger than my current BL Touch 3.1, which changes the Z offset.

Hope this helps.

Good luck,

Marcelo

mlazarin avatar May 25 '20 15:05 mlazarin

Hey @mlazarin

I take your numbering for my answers :)

  1. as described in my post above: I already did a Z-offset of -4 and it doesn't make any difference to have it at 0. The offset for my fanmount/bl-touchmount is 56,-34,Z After following the guide of your posted youtube video Z would be -6.23 => also after homing Z and let Z go down to 0 it is still above it...

  2. same behaviour on pronterface, so no TFT prob at all

  3. yeah it seems to be a bit fast, will slow it down after probe is functioning, vid wasn't speed up ;)

EDIT: Why the printhead is moving a 2nd time up after z-homing? you can see it here on second 20-21 of the vid.

https://youtu.be/gS8yZI28xWg

nicedevil007 avatar May 25 '20 16:05 nicedevil007

Hi, @nicedevil007

Moving a second time is natural during Z homing, it does one time faster, and a 2nd time slower.

Another thing you can try is to reset the EEPROM and start again. It already happened to me once in the past.

Reset it using M502, write again using M500, and read it again using M501 to check everything is fine. You will need to do the Z offset alignment again.

My 2 cents on your Z offset, seems pretty big when you compare with the specs of BL Touch (https://5020dafe-17d8-4c4c-bf3b-914a8fdd5140.filesusr.com/ugd/f5a1c8_d40d077cf5c24918bd25b6524f649f11.pdf). Maybe you nee to move it a bit down (but this should not be related to the ABL issue).

Marcelo

mlazarin avatar May 25 '20 17:05 mlazarin

@mlazarin

I do always a M502 while trying next tip of you guys ;)

M502 then M500 then M501 and then start from scratch.

The Z-Offset seems to be to high for me as well but it is mounted the same way as it was before switching to 32bit board and it was on 32bit board with Bl-touch mounted to Z-endstop...

But with this solution it sometimes stops right in the air :( But for 25 measurement points it worked for around 20 points...

EDIT: Because I'm not printing for around 5 days now, I'm thinking of reverse my modifcations to the 8 bit board. my Bl-touch was working, I could print and so on.

nicedevil007 avatar May 25 '20 17:05 nicedevil007

One thing to keep in mind while troubleshooting the BLTouch is to bring Z up say 100mm, then when trying to Home Z, just keep your hand under the probe till it touches. You don't need to actually touch the bed, you just need the probe to touch something. This way you don't have any issues with crashing.

I know in your case, it's stopping too early, but the same principle applies to testing.

thelittlemike avatar May 25 '20 17:05 thelittlemike

@thelittlemike hehe :) know what you mean, but I want to print again... :(

I remounted my fanduct and lowered the probe now, same behaviour won't touch the bed at all :(

it seems that my ABL won't take care of my Z-offset at any time :( I can set it to -20 => won't take any effect... is there a part in firmware that is hardcoded and can't be overwritten with M851 Z-3.0 f.e.?

nicedevil007 avatar May 25 '20 17:05 nicedevil007

@thelittlemike hehe :) know what you mean, but I want to print again... :(

I remounted my fanduct and lowered the probe now, same behaviour won't touch the bed at all :(

it seems that my ABL won't take care of my Z-offset at any time :( I can set it to -20 => won't take any effect... is there a part in firmware that is hardcoded and can't be overwritten with M851 Z-3.0 f.e.?

Are you completely powering down after setting the offset and saving to EEPROM? Do that. If I remember correctly, it saves the offset but doesn't actually apply the offset until you remove power completely.

thelittlemike avatar May 25 '20 17:05 thelittlemike