Y2 Stepper turning at about 4 x the rate of Y1

Hi all.

I’ve built a Lowrider II and used the SKR v1.3 with TMC2209 drivers. I had to make my own version of Dual Endstop with Marlin in order to have the latest Marlin to be able to use the TMC2209, as the Dual Endstop firmware from V1 or Teaching Tech did not have the Marlin version that supported them. Otherwise I have all the same components as on the list of parts that V1 specify. Belt, teeth and lead screw spec wise.

The problem I am having is that the Y2 stepper motor is being made to go about 4x the speed as the Y1.

I’ve been playing around a lot with the Default Steps Per Unit and although this does vary the speed as it should, the ratio is still about 4:1. 4turns of Y2 to every 1turn of Y1!?

I must be missing something obvious in the firmware here. It’s not a hardware issue as I swapped the plugs around on the board and the problem is replicated on the other motor.

Any suggestions?



This is all tested using Pronterface by the way.

Sounds like your microstepping jumpers are not correctly set for one of the drivers (8 vs 32).

Check that you have the same jumpers set underneath both boards.

1 Like
  • Thanks for the tip. I just went and checked under all the stepper driver boards and there are no jumpers at all as I removed them all before I installed the boards.

Are your 2209s controlled via spi or standalone? There is a section for the tmc drivers where you choose the microstepping. It’s in configuration
h, I think. I’m not sure if it will be labelled Y2 or E0/1/2. It’s possible, if you created an E2 in the pins file, that it is missing.


Thanks again for your reply Jeff. I’m running them in UART mode with the use of the jumpers on the SKR board. They all seam to be responding to changes made in the firmware with regards to Step Per Unit, however that Y2 is still doing far too many steps. I’ll try to upload photos of the relevant firmware pages and the TMC DEBUG report from [attachment file=117157]
[attachment file=117157]

I was thinking more about the Y2_MICROSTEPS and E0_MICROSTEPS in Configuration_adv.h.

It looks like they are all sane from the TMC_DEBUG output though.

What if you swap driver chips with another port? Does the problem follow the driver?

[attachment file=117210]

So I’ve already confirmed that it’s it the motor itself by swapping the Y plugs around. The problem followed the Y2 output from the board. And now, after your suggestion, to confirm that it’s not a problem with the actual Stepper Driver board I swapped that around too and the problem didn’t follow the board, it stayed with the “E0” output. Must be something to do with the firmware I guess.

E0 has been shuffled off to the Bed Heat pins and E1 and E2 have taken E0 and E1 pins.

Something to do with the fact that it’s on the ”E0” pins??

Oh and yes they’re all set to Microstep at 32 in configuration adv .h

shown in the second photo above which I didn’t include in the content sorry

[attachment file=117216]

I’m wondering what this all means and if I need to do something with it.

Hmmm. Maybe. I haven’t used the uart tmc drivers before. Two flags there. One is that you need to set the jumpers and assign values here. Two is that it says it can only support 4 drivers with one hardware serial.

How recent is your version of marlin? There is a brand new setting for having zero extruders. If you do thay instead of changing the pins to the bed pin, it might fix whatever it’s doing to the E0 driver.

1 Like

Is there an E0_SERIAL_TX_PIN and rx pin in your pins.h file?

1 Like

I’m guessing these need to change:


1 Like

Y2 needs to be set to 9, 8. X2 needs to be set to 4, 1. I don’t know what to set E0 to, unless you disable it with EXTRUDERS=0.

1 Like

Good new about the latest Marlin! Thanks for that, I had no idea. Mine was the latest about 2 weeks ago. I’ll look in to those pins again too before I go about updating Marlin. I’m assuming I’ll have to start from scratch with the latest version and make all the changes again. Except of course the pin reassignments. But that shouldn’t take too long now that I’m familiar with it.

thanks a lot for all you suggestions. I’ll let you know how I get on!

I’m stoked to report that the problem has been fixed. Not exactly sure what I did yet. Will go back and undo the odd thing til it’s obvious and report back. Next issue will be installing the endstops. But one thing at a time. Thanks for all your help.

Thanks again @jeffeb3 for your suggestions. Managed to get it working after your E1 TX RX pins suggestion.

#define E1_SERIAL_TX_PIN P1_09 // E0 pins moved to this E1. Thanks @jeffeb3 for the tip!!!!
#define E1_SERIAL_RX_PIN P1_08
I have uploaded the relevant files for someone to use if required to GITHUB.
1 Like

That’s great. And thamks for sharing it.