Stepper motors not moving SKR3 EZ

Basic Information:

Printer Model: i3 style Reprap
MCU / Printerboard: STM32H723 BTT SKR 3 EZ
Host / SBC: MainsailOS 1.3.2
klippy.log
klippy.log (68.1 KB)

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

Hello. I have this old reprap that a friend built and gave to me a long time ago. I got it working with he Mega250 board it had but it burned out, so I upgraded to SKR3 EZ, mainly to use klipper.

I set it up and everything is working (heating, thermistors, endstops, fan) except the motors. They are all STP-43D1034 NEMA 17, drivers are A4988, I measured vref and it’s .6v, that worked on the previous board.

Now I have a minimal config with just the X motor connected, I checked connections and they’re ok, it just doesn’t react. No resistance when I move the motor by hand when homing command is sent.

I tried connecting other motors and they all behave the same. What’s curious is that when I connected them all I sometimes got signs of life, they moved a bit or whined for a split second some time after command to move was given. It was random tho, I can’t point to anything I changed when messing with config that caused it.

I read through other similar topics and did not find a solution, I need your help. Thanks in advance

Did you put the motor voltage jumpers on for the drivers? One place uses the board power and the other uses the motor in power. If off the drivers get no power.

Yes, they are all set to board power.

I just checked enable pin on x motor, it gets correctly pulled down when I order Homing

BTW: Do hotend and bed heat up?

Yes, everything except the motors works flawlessly.

Is it possible that this board simply does not support A4988 drivers hardware-wise? At least the manual only talks about TMC and EZ-TMC drivers. Usually, these documents would also mention the “legacy” drivers.

1 Like

Taking a quick look at the BTT SKR 3 EZ schematics and the A4988 Stepper Driver Module Schematics, I think the problem is that @chimken needs to activate some more IO pins using the output_pin statement and set them correctly.

The schematic for the generic A4988 Stepper Motor Driver is:

And, the relevant schematic for one of the BTT SKR 3 EZ’s stepper driver channels is:

Looking at the klippy.log, @chimken has set up the EN/DIR/STEP pins correctly but Pin 5 of the A4988 stepper motor module, RESET, is not driven (it should be driven HIGH for the A4988 to work). This is MOT_MISO (MCU pin PE15) on the BTT SKR 3EZ

I believe that you should see your stepper motor drivers becoming active if you set PE15 to high using an output_pin statement in your printer.cfg set to high:

Now, once you’ve done that, you’ll have to set the MS1/MS2/MS3 pins using output_pin statements to give you the desired microstep value.

5 Likes

Nice analysis @mykepredko. :+1:
Curious if it works out.

4 Likes

It worked! That’s it, thank you so, so much! You’re a genius @mykepredko <3
I wouldn’t have done it without you, as I don’t have much experience with electronics. But this was an important learning opportunity.

Thanks to everyone else for taking an interest in the discussion, you guys are awesome!

4 Likes

One more thing if I may, I have no idea how to set MS1/MS2/MS3 pins to high, I can’t figure it out from the documentation. Is that even doable?

Figured it out! If anyone else needs it in the future - it’s PE12/PE13/PE14

1 Like

Ummm… Sorry, you’re not quite right there.

Just as a quick backdrop, the A4988 uses MS1, MS2 & MS3 for specifying the number of microsteps as per this table from the datasheet:

Going back to the A4988 Module schematic, pins come out as:
MS1 :right_arrow: Pin2
MS2 :right_arrow: Pin3
MS3 :right_arrow: Pin4

Now, when you look at the SKR3 EZ board, the three MS# pins are wired as:
Pin2 :right_arrow: MOT_MOSI :right_arrow: PE13
Pin3 :right_arrow: MOT_SCK :right_arrow: PE14
Pin4 :right_arrow: Stepper Channel SPI Chip Select (#CS below)

You’re right when it comes to PE13 and PE14 but I don’t know where you got PE12 as the last of the three - Looking at the schematic it has the label LCD-D7 and setting it/not setting it will not affect the operation of any of the Stepper Motor Drivers. With what you have, you can’t control MS3 of your steppers.

What you need to do, is set the “Stepper Channel SPI Chip Select” pin for each of the steppers.

XCS :right_arrow: PD5
YCS :right_arrow:PD0
ZCS :right_arrow: PE1
E0CS :right_arrow: PC6
E1CS :right_arrow: PD12

I presume that you’re setting 16 microsteps (which means all the pins are high) - remember to set that value in your [stepper_#] statment.


Can I ask why are you using A4988 stepper driver modules and not something more modern (ie TMC2209/TMC2240) or even EZ Modules?

I get that they’re dirt cheap and, if you’ve been doing 3D printing for a number of years, you probably have a bucket of them hanging around but they’re an absolute pain in the rectal hindquarters and a lot more work to get working right (ie setting the voltage using that miniscule pot).

1 Like

Thank you for the correction, it seems I got only to 1/8 step before. I activated the pins you listed the motors sound even better, it worked.

As for why I am using those drivers - I got them with the printer, which I got for free and have been trying to get working for quite a while now. I treat it as a learning project, I want to get it working while being a piece of crap to learn and then update it. Plus it’s a matter of pride now XD

The new board is the only investment I made, but that was necessary because the old Mega burned out. Before this thread I didn’t even know that A4988 drivers are obsolete, now I plan on buying new ones for sure.

Thanks again

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.