Marlin 2.1.1 Number of 'Z' Stepper Driver selection GONE?

Hi everyone.
I have CR10S4 which came equipped with dual ‘Z’ steppers hooked up in series and plugged in to one driver. We all know the issues with gantry drop when powered off. I tried anti-backlash screws but find these add lots of friction. So I’m modifying my printer to use the ‘Z’ steppers to operate independently and that way I can use the Marlin “Z Stepper Auto-Align” feature.
My problem is this…I can not find where to indicate the quantity of steppers being used as shown in the Teaching Tech video 3 ways to add a dual Z axis - Including G34 auto Z levelling - YouTube at the 14:46 mark.
I’ve checked Marlin ‘Config Adv H’ and ‘Config H’ but that line seems to have been eliminated?? I can’t find where to indicate that I’m using 2 ‘Z’ steppers in lieu of 1. Did Marlin remove this option? Any help would really be appreciated. Thank you.

I have a feeling it was redundant. In config.h around line 160 you set the driver type for each stepper. If you enable it for Z and Z2 it should know that you have 2 Z steppers.
I’m compiling 2.1.1 right now for my printer with dual z and auto-align and it compiled successfully, haven’t tested on the printer yet though.

Hi Blair,
I had a feeling it may have been redundant as you stated. I think this function (gantry auto-level) is great and am looking forward to using it. Thanks so much for taking the time in providing me with your feedback as it confirms my suspicions. If you don’t mind let me know how your testing went. Thanks so much again for your help.

Here is the dumb question for the day.

Does your MB come equipped with two Z axis drivers or are the steppers “split” and plugged into a single driver. If it is the latter then you probably can’t use the function you want.

I’ve got the BTT SKR 1.4 Turbo with TMC2209 drivers. The board has two (2) JST plug receptacles available at the ‘Z’ position leading to the SAME driver.
One can connect a harness to each ‘Z’ stepper, then, those 2 harnesses combine into ONE harness. Insert the other end of that One harness into the MB using 1 of the 2 available ‘Z’ plug receptacles (current config), or, one can have a separate harness from each stepper and connect them into the MB with its’ own connector leading to the same ‘Z’ driver.
These two methods are basically the same thing.
One uses a single ‘Y’ harness and the other uses a separate harness to each Z stepper. Both are connected to ‘Z’ receptacles on the MB leading to the same ‘Z’ driver.
So, from what I’m getting from this conversation and having watched many YT videos on the subject my only choice to have “Gantry Self-Leveling” with my current MB is:

Connect a single harness to each ‘Z’ stepper motor (e.g. the left stepper) and connecting the other end to the MB ‘Z’ plug, then, connect another separate harness from the other ‘Z’ stepper (e.g. the right one) and plug the other end to the MB ‘E1’ plug with its’ own driver, then, modify the associated parameters in Marlin and you’re good to go. Looking forward to doing this.

I tried it and decided to move the ‘Z’ UP a few mm’s and the gantry moved DOWN with a bad clicking sound. I noticed an anomaly while replacing the original ‘Y’ harness with a separate harness to each stepper. The 4 wires connecting to the stepper has the 2 center wires swapped around, whereas the wires on the replacement harnesses (from 3DPC) are NOT swapped at all? I wonder if this caused my issue described above and therefore I should swap them like the originals and try this again? Did you get to try the gantry auto-align function yet?

I have been using it in previous Marlin versions for the past year. I did flash the 2.1.1 firmware about two weeks ago and it worked without issue.

Seems like you might be onto something with the pinout for your steppers. If you have a multimeter you can figure out if those center wires need to be crossed by checking for continuity between sets of pins on the motor. Checking this and comparing between your old stepper and the new one should give you an idea of you need to change the wires around.

This might be helpful info:
How to reverse rotation direction of stepper motor - Electrical Engineering Stack Exchange.

I read somewhere that this can be a problem, some manufacturers wire them wrong. Worth investigating with 3DPC.

Hi Blair, thanks very much for your feedback. I didn’t replace any ‘Z’ steppers on my printer. I replaced the original Creality MB with a SKR1.4 Turbo. All steppers are what came with the printer. My printer came with 2 ‘Z’ leadscrews and 2 ‘Z’ steppers, connected in parallel, then plugged into a single driver on the MB. So I don’t know what to look for when checking the steppers with a multimeter. I also checked the ‘link’ you provided which was interesting but technically way over my head, it did help me understand the pin connections. This is so frustrating as the left side of my gantry continuously drops several mm’s even when ‘powered on’. I have to adjust the gantry height BEFORE printing. I was under the impression that when the printer was powered ‘ON’ all steppers are ‘powered’ and won’t move, but my ‘Z’ steppers don’t seem engaged at all until actually printing an object. Now I’m wondering if I should just swap the 2 center wires going to the ‘Z’ steppers around and turn it on to see if that fixes the issue. I’m reluctant to try that because I don’t want to buy a 3rd MB.

I’ve wired steppers wrong before and it didn’t hurt the board but I’m not certain that it isn’t possible to hurt the board. That said, it sounds like you likely have it wired incorrectly so you could say it’s only going to get better.

I find a much better article to explain the wiring that is worth looking at

Long story short, steppers have two phases - 1&2.
Each phase has two wires - A&B.
They need to be in pairs, 1A with 1B.
Some steppers the pins are laid out as 1A-1B-2A-2B, I believe my Bondtech stepper is that way. The two left pins are a pair, and the two right pins are a pair.
Other steppers are pinned as 1A-2A-1B-2B. Similar to the other way but the center pins are swapped. Creality steppers are this way at least as far as I’ve seen.
That is why the center wires cross on some wiring harnesses.
If you want to verify the wiring on your stepper and confirm against the board pinout that article does a good job explaining how to do that with a multimeter or an led.

Regarding steppers being engaged when the printer turns on I don’t think they are until you send a movement command.

Hopefully that clears some things up.

Hey Blair, since starting this printer modification I did a lot of research about stepper motors, their pin-outs, MSK MB pin-outs, etc. and as I read your reply I was smiling because you were confirming what I had just learned about the pin pairing, etc. I read the whole article you sent and it gave me reassurance of ‘how’ to check the steppers to determine the pin pairing was excellent. Please check out this shortemphasized text**video which basically reflects the same info from your link but in a video. it’s quite good.
Mapping Out Wire Pairings on Stepper Motors - 3D Printers 101 - YouTube

I might be overthinking this, okay, so we determined which pins are ‘paired’ on the stepper. Let’s say we are dealing with the Stepper Pins A1 and A2. How do we know which one is A1 and which is A2? After all, we want the A1 Pin lead from the Stepper to be connected to the A1 Pin on the MB and NOT the A2 Pin? Or does it matter??

I’m no expert on this but my understanding is as follows. Please somebody else chime in if I’m not correct.

Say your stepper is

If you wire any of the following ways it will turn backwards:

I’m not sure if you can tell ahead of time which pin is A and which is B but I would start by assuming that from left to right A will be before B. Then test it on the printer without the coupler tightened to the lead screw and observe the direction of the motor when you tell it to move. Confirm both move the right direction before mechanically tightening everything together.

I’m far from an expert when it comes to 3D printing and understand the fundamentals of electronics. I’ve been the the RC hobby for over 50yrs having built my own planes, copters and quads. That experience taught me to be VERY wary of certain Chinese electronics. They love to reverse ‘polarities’ or NOT identify their terminals. Having experienced shorts in the past is the reason why I was making a big deal out of the Stepper terminal identification. So, now on with this saga!
I searched online to see if I could find info to determine terminal identification for my Creality 42-34 stepper and my old MSK MB. Nada…nothing. Everything I found was inconsistent from one manufacturer to another. Ref Stepper Wiring Woes - How to get your steppers working in a new 3D Printer Build - YouTube .
So I (like you) look at things from ‘left to right’ and number them that way. So looking at the connectors involved I’m numbering them left to right with the guide-pins at the 12:00 position.
I tested the 6 pins on the steppers and noted pins 1 and 4 were one set of coils and pins 3 and 6 were the other pair. Pins #2 & 5 are NOT used.
The pins on the MB (left to right) are identified as #1= 2B, #2=2A, #3=1A, #4=1B.
So I connected the MB pins 1A & 1B to the Z stepper pins 1 & 4.
the MB pins 2A & 2B were connected to the stepper pins 3 & 6.
Turned on the printer and moved the gantry ‘UP’ 1mm. The steppers vibrated and stuttered!! The gantry would only try to move DOWN whether I asked it to go Up or Down?
So I swapped the pin connections around. 1 & 4 were swapped with 3 & 6 and vice -versa. Same result!?
Stuttering, vibrations and only moving Down??
I was confused having found which coils were ‘paired’ on the stepper and yet when connected per guidelines it didn’t work…like WTF!
So thinking back to when I initially replaced my MSK MB with my SKR 1.4T and I had simply plugged in the original ‘Y’ harness into the new MB and it had WORKED. I remember having to ‘reverse’ the Z stepper direction in Marlin and everything worked as it should.
With this in mind I swapped the center Stepper wires (# 3 & 4) like the ‘original’ set-up from Creality and BINGO it worked but in the wrong direction. I set the Z stepper direction from “False” to “True” in Marlin, flashed the MB and it all works beautifully. I can’t believe it!!! The Z steppers now work very smoothly, move in the right direction and are super quiet!!

NOTE: On the subject about the center stepper wires being ‘crossed’. Some users say it’s correct and others say it’s wrong. Just goes to show you that sometimes you got to figure things out on your own.

I ‘leveled’ my bed, checked Z offset and then tested Z auto-level. Really impressive. I fine tuned my bed level and again performed Z auto-level…amazing!!
I did a test print and it turned out absolutely flawless. WOW!!
My printer bed is 400mm X 400mm and from day one the bed center was always lower than the edges even when using a glass bed. I recently fixed that ‘center bed droop’ problem but knew my gantry wasn’t consistently level which is why I wanted this new (for me) functionality. So, I’m thrilled with these results. Especially the fact that the gantry stays level once calibrated with auto-level.
And just to clarify as a side note, the original ‘Y’ harness was wired in ‘parallel’.

Blair, thanks so much for your time and valued feedback. Your patience and clear explanations really helped me “see the light” in figuring this out. You stuck with me through this thing and your input was very much appreciated by this user so, thanks a lot! :partying_face:
I hope this solution helps others.

That’s great news! Like a lot of these printer problems it always seems like a long walk to get to the end but I find the knowledge and understanding gained is always worth it. I’m glad you got it sorted out.

1 Like