MPCNC motor won't reverse direction

Hey, I just set an mpcnc up and am having some issues. I bought the build kit through v1 with the jackpot control board. Got everything set up, controlling from a laptop through fluidnc. The x-axis works properly. The y axis moves down correctly but, when I push up only the y2 goes up, the y1 keeps going down. If I switch the connections so the y motors are connected to the x plugs and vice versa the same problem occurs but on the x-axis instead.

It sounds like the DIR pin on the Y1 slot is not working. Can you post pictures of your controller wired up?


My mpcnc did this a couple months back on the z axis and one wire was broken. Double check that as well. See if another motor does the same thing in that position and if that motor and wire do the same thing on another axis to eliminate the wire as suspect.

That should eliminate the wire as the suspect right? I put the y axis into the x axis plugs and it worked fine. The problem persisted with a different motor and wire going into the y1 slot.

Good troubleshooting.

Next, I would try swapping the drivers. you can just swap the 2 X motor drivers and see if the problem moves to the other side, or swap the X drivers to the Y channels and vice versa.

This will tell you if the problem is the DIR pins on the drives themselves, or on the mainboard.

If it’s the drivers… Easiest to just replace them.

If it’s the mainboard, there have been a few cases where there are solder problems on the mainboards, and one pin isn’t soldered correctly. the DIR pin on polulo style drivers happens to be on the end of one of the headers, and is a likely candidate for soldering problems.

Edit: Ryan has had a couple of problems with the header pins on some Jackpot boards, this is a distinct possibility as well.

Okay I swapped the y1 driver with the x1 driver. The problem did move from the y1 motor to the x1 motor when i did that. On top of that I was having zero movement in my z axis motor. I was just trying to troubleshoot one thing at a time… So I tried switching the z driver with one of the drivers I knew was working correctly and presto, the z works and the driver that was in the z was moved to y2 which ceased to function. I’m thinking I have 2 faulty drivers, hoping someone more knowledgeable can confirm this is most likely the issue and I can move forward with obtaining some new drivers. Thanks!

This is super fishy.

Please remember to power down completely between each driver move.

Find one good driver, place it in one slot, boot and test every wires and stepper. Then try each driver individually. So you will only have one know good driver in the board, power down move it to the next spot and try again.

I have only ever remembered on bad driver ever, so two in one shot seems pretty wild to me.

Side note, it is not good to have the wires crossing over the top like that. For testing you could be blocking your connection. Just fold them all under the board.

I am not being a punk here. I am trying to test each wire, stepper and header one at a time. If it is another header issue not having a driver in it should make the rest work.

Okay, first I took one known good driver and placed it in the x1 slot with the x1 motor attached. It worked going both directions. Moved down the line testing y1 slot with y1 motor with the same good driver and kept going down the line testing each slot with its corresponding motor and testing in both directions. It all worked.

I then did the same procedure with the driver that only had the motor going in one direction. On every single slot with corresponding motor it would only travel in one direction.

I then did the same with the driver that didn’t work at all in every slot with every motor and verified that it didn’t work for any of them.

I should also mention that I was always vigilant about not plugging anything in or pulling anything out while the board was powered. Both in setup and in troubleshooting.

Is there anything else I should try or look for?

Make sure that the heat sink is properly on the stepper copper heat pad, and isn’t shorted to any contacts on the board.

Post pictures of the top and bottom of the two malfunctioning TMC2209s so we can have a look. Higher resolution and good focus preferred.

Edit to add: Give us the $SS output from the terminal when you have each of those drivers installed.





$G
$J=G91 G21 F2400 X10
ok
<Jog|MPos:0.060,0.000,0.000|FS:1560,0|WCO:0.000,0.000,38.000>
$J=G91 G21 F2400 X-10
ok
<Jog|MPos:9.920,0.000,0.000|FS:1680,0|Ov:100,100,100>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,0.080,0.000|FS:1680,0>
<Jog|MPos:0.000,8.660,0.000|FS:120,0>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,10.060,0.000|FS:1560,0>
$J=G91 G21 F2400 Y-10
ok
<Jog|MPos:0.000,19.900,0.000|FS:1680,0>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,10.100,0.000|FS:1680,0>
$J=G91 G21 F1200 Z10
ok
<Jog|MPos:0.000,20.000,0.030|FS:624,0>
$J=G91 G21 F1200 Z10
ok
<Jog|MPos:0.000,20.000,9.725|FS:144,0>
<Jog|MPos:0.000,20.000,16.170|FS:1008,0>
$J=G91 G21 F1200 Z-10
ok
<Jog|MPos:0.000,20.000,19.970|FS:624,0|WCO:0.000,0.000,38.000>
$J=G91 G21 F1200 Z-10
ok
<Jog|MPos:0.000,20.000,9.990|FS:576,0|Ov:100,100,100>
$J=G91 G21 F1200 Z10
ok
<Jog|MPos:0.000,20.000,0.025|FS:624,0>
$J=G91 G21 F1200 Z10
ok
<Jog|MPos:0.000,20.000,9.980|FS:480,0>
$J=G91 G21 F2400 Y-10
ok
<Jog|MPos:0.000,19.880,20.000|FS:1680,0>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,10.060,20.000|FS:1560,0>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,20.120,20.000|FS:1800,0>
<Idle|MPos:0.000,30.000,20.000|FS:0,0>
$J=G91 G21 F2400 Y-10
ok
<Jog|MPos:0.000,29.860,20.000|FS:1680,0>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,20.100,20.000|FS:1680,0>
$J=G91 G21 F2400 Y10
ok
<Jog|MPos:0.000,30.060,20.000|FS:1680,0|WCO:0.000,0.000,38.000>
<Idle|MPos:0.000,40.000,20.000|FS:0,0|Ov:100,100,100>
$J=G91 G21 F2400 Y-1
ok
<Jog|MPos:0.000,39.900,20.000|FS:0,0>
$J=G91 G21 F2400 Y-1
ok
<Jog|MPos:0.000,38.940,20.000|FS:0,0>
$J=G91 G21 F2400 Y-1
ok
<Jog|MPos:0.000,37.920,20.000|FS:0,0>
<Idle|MPos:0.000,37.000,20.000|FS:0,0>
$SS
[MSG:INFO: FluidNC v3.7.12 GitHub - bdring/FluidNC: The next generation of motion control firmware]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine MPCNC]
[MSG:INFO: Board Jackpot TMC2209]
[MSG:INFO: UART1 Tx:gpio.0 Rx:gpio.4 RTS:NO_PIN Baud:115200]
[MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]
[MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
[MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN freq:20000000]
[MSG:INFO: Stepping:I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
[MSG:INFO: User Digital Output:0 on Pin:gpio.26]
[MSG:INFO: User Digital Output:1 on Pin:gpio.27]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (0.000,1220.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 CS:NO_PIN Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0 R:0.110]
[MSG:INFO: X Neg Limit gpio.25]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.14 Step:I2SO.13 Dir:I2SO.12 Disable:I2SO.15 R:0.110]
[MSG:INFO: X2 Neg Limit gpio.35]
[MSG:INFO: Axis Y (0.000,2440.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:1 CS:NO_PIN Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7 R:0.110]
[MSG:INFO: Y Neg Limit gpio.33]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.19 Step:I2SO.18 Dir:I2SO.17 Disable:I2SO.16 R:0.110]
[MSG:INFO: Y2 Neg Limit gpio.34]
[MSG:INFO: Axis Z (-100.000,200.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:2 CS:NO_PIN Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8 R:0.110]
[MSG:INFO: Z Neg Limit gpio.32:low]
[MSG:INFO: X Axis driver test passed]
[MSG:INFO: X2 Axis driver test passed]
[MSG:INFO: Y Axis driver test passed]
[MSG:INFO: Y2 Axis driver test passed]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Flood coolant gpio.2]
[MSG:INFO: Mist coolant gpio.16]
[MSG:INFO: Probe Pin: gpio.36:low]
[MSG:INFO: STA SSID is not set]
[MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
ok
<Idle|MPos:0.000,37.000,20.000|FS:0,0>
<Idle|MPos:0.000,37.000,20.000|FS:0,0>

I’ll get to the pictures in a minute.

This has a configuration with all 5 steppers defined, and all 5 are installed when you ran this.

All the drivers are in, all the drivers pass. Do you get any errors in the terminal when you try to move with this boot?

Pictures:


The BTT TMC2209 V1.3s have the UART and sensorless homing pins extended on the top side of the module. This is so wire jumpers can be installed on some boards where UARTrouting requires jumper wires (Not needed on Jackpot).

When your modules are installed on the jackpot, make sure these can’t short to anything metal on an enclosure or exposed conductor. Probably not your issue but always worth thinking about.


This isn’t really in focus, but note the highlighted part, and compare to the photo below. This looks suspect, like it may have bad solder workmanship and/or thermal damage. Would need a better picture to see this area more clearly.


This is more like what I"d expect to see…

There were no errors in the terminal when I tried moving.



I’m struggling to get it anymore in focus than that. I put them under a magnifying glass that time.

Man that is wild. I am not sure if we have ever had a single bad driver. You have two.

I really appreciate you double-checking.

1 Like

Can you give me your order number please so we can figure out the best way to get you two more drivers.

I went ahead and ordered some new drivers off Amazon. I’m in Canada so I didn’t want to wait for the parts when I could get them next day. Plus I’d probably have to pay duty on them and pick them up at the post office again. Doesn’t seem worth the hassle to save me a a few bucks.

I’m a bit impatient and have spent a lot of time troubleshooting and just want to get it up and running. It’s alright, it’s been a learning experience.

Electronics isn’t my area of expertise and given how rare you say bad drivers are, makes me think I unknowingly wrecked the drivers.

The order number was 24025 but, that probably doesn’t really matter now.

1 Like