TMC driver not detected

So I’m having issues with my Jackpot, but a brief history on the machine in case it is relevant.

-Started as a 10’x5’ LowRider 2 with external drivers and a parallel port Mach3 controller.
-Upgraded to a LowRider 3 and also switch to the SKR Pro because I wanted to run a laser sometimes.
-Ran like that for a while, but killed two SKR Pro boards (they would stop responding over USB/serial terminal) and had trouble with the LCD screens too. So after the second board died, I was happy to give Jackpot a try.
-Moved to Jackpot in March '24 and it was smooth sailing. I made many laser projects with that setup.

After taking a break from projects over the holiday season, I’ve got issues.
One Y motor and one Z motor move the commanded distance.
The other Y motor and Z motor move maybe 1/10th the distance.

It is in an unheated garage, so I tried bumping up the stepper currents to 1.5A, but that didn’t make a difference.

I do get some of these errors in bootup:

TMC driver not detected - expected 0x21 got 0x0

Full log below:

Connecting...
ad:0x40078000,len:13220
ho 0 tail 12 room 4
load:0x40080400,len:3028
entry 0x400805e4
[MSG:INFO: uart_channel0 created]
[MSG:RST]
[MSG:INFO: FluidNC v3.7.15 https://github.com/bdring/FluidNC]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:config_2025.yaml]
[MSG:WARN: Ignored key homing_amps]
[MSG:WARN: Ignored key homing_amps]
[MSG:WARN: Ignored key homing_amps]
[MSG:WARN: Ignored key homing_amps]
[MSG:WARN: Ignored key homing_amps]
[MSG:WARN: Increasing stepping/pulse_us to the IS2 minimum value 4]
[MSG:INFO: Machine LowRider]
[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: Axis count 3]
[MSG:INFO: Axis X (3.000,1223.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: Axis Y (3.000,2443.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.14 Step:I2SO.13 Dir:I2SO.12 Disable:I2SO.15 R:0.110]
[MSG:INFO:  Y2 Neg Limit gpio.35]
[MSG:INFO: Axis Z (3.000,303.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 Pos Limit gpio.32]
[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:  Z2 Pos Limit gpio.34]
[MSG:INFO: X Axis driver test passed]
[MSG:INFO: Y Axis driver test passed]
[MSG:ERR: Y2 Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:ERR: Z Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:ERR: Z2 Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Laser Ena:NO_PIN Out:gpio.27 Freq:5000Hz Period:8191]
[MSG:INFO: Using spindle Laser]
[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]

Thinking it might be bad TMC2209’s, I swapped the set that came with the jackpot for the set that came with the SKRpro. No change.

Reading through other threads, it sounds like my drivers are not initializing properly and so are not getting configured. Does that potentially mean it is operating with the wrong number of microsteps and that’s why I get a fraction of the expected distance?

I tried the boot order to bring FluidNC online before the drivers are powered, which gave me Not Detected for all 5. Then ran $MI and got the same result as normal power up sequence (2 axes on-line, 3 axes Not Detected).

Any ideas what could have spontaneously combusted to give me trouble?

If I give up on the TMC2209’s, can I run external drivers using the Step and Direction pins and let the Jackpot live with Not Detected?

Where have you been hiding? Did you have an old build thread?
I’d love to see more of your machines, both old and new.

Welcome to the V1 community forums!

Not easily. We should try to figure out what’s going on with your machine first. It is possible to install an adapter that breaks control signals out for external drivers, but that’s more work and more money, and we should sort out what’s wrong with your board before doing anything else.

This is good to hear, I also have lasers and LRs using Jackpot.

This is interesting. On the jackpot, the first three TMC2209s have unique IDs and are always connected to the ESP-32 UART. The other three get multiplexed access. It’s shown below if you’re curious.

If it were only the 4th and 5th driver that was bad, I’d say it’s a bad mux. But the 3rd driver fails for you as well. Very odd.

There are some things that are known to kill boards:

  • ESD events- do you ever get zapped hard when interacting with your machine? Do you have dust collection, and if so, is the dust collection grounded (and if so, how?)
  • Intermittent wire harness connections to steppers- plugging and unplugging the stepper motor while the TMC2209s are powered is a recipe to blow the driver. This can mean literally unplugging or plugging the connection to the board, but overlooked is if you have an intermittent connection through a stepper extension cable that will eventually blow the driver too.

That’s good thinking, but how do you know that the SKR’s didn’t also blow drivers from something like ESD or intermittent wiring?

If I were you, I’d start out by installing two TMCs at a time in the two positions that work, and walk through your entire connection of drivers. Sort them between good/bad. Maybe they’re all good, which at least will help us troubleshoot. Maybe a bunch are blown, and that will also help us troubleshoot.

This means that the TMC2209s didn’t get configured right (which we know from your boot logs). Because of that, they are not moving correctly. Also, this means that the I2S mux pins that manage EN/STEP/DIR are likely working because you do get motion, just the wrong motion.

Hah, I just fall into the Long Time Listener, First Time Caller category. I’ve had hiccups before, but someone else always had a posted solution for it. No build thread. Here’s what the Lowrider 2 was set up as.


Since changing over to Jackpot, it has been a laser-only machine. As you might have guessed from the bed size and spindle selection, I have self-inflicted rigidity issues that limited cut speeds. The spindle is now on a smaller aluminum machine.

On dust collection, I never ran hosing partly because my spindle mount solution was obviously a hack job and didn’t have accommodations for such. These days the machine is just 90% enclosed and I have an overhead vent to pull smoke from the laser. The overhead vent is grounded AC-side, but also doesn’t contact the machine.

No ESD issues that I’m aware of. I never got zapped by the machine and I was definitely cautious about grounding the spindle properly.

Good point on checking all the TMC’s. I knew that wasn’t my original issue with the SKR Pros because the drivers were fine when I moved them from SKR #1 to SKR #2, but I have not checked since then.
Anyway, I went through and checked all 10 TMCs on the X port one at a time:

All 10 worked as expected and caused X-axis movement in keeping with what was commanded.
I then kept that 10th TMC in and swapped through all the steppers. All steppers worked normally when connected to the X-port.

1 Like

OK, this is realy good troubleshooting. Thank you.

That’s good, but doesn’t rule it out. You’ve blown two SKRs, some LCDs, and now either a jackpot or an ESP-32 on a jackpot.

One other question about possible causes- do you ever move the machine by hand when unpowered, or move it/position it in such a way that any axis can move when unpowered?

The steppers are quite good as generators, and moving by hand can generate voltage that can blow components. Particularly if you drive a negative voltage into a step driver. This is rare in general and more rare on LRs as opposed to flying Z printers- but it does happen.

Next steps for you would be either to try another ESP-32, or try a replacement jackpot.

I need @vicious1 to weigh in- your Jackpot V1.2 should be new enough to have a needed pullup resistor but I want to confirm that.

If it were me, I’d swap ESP-32s, but then again I have extra.

One way or another we need to figure out what is blowing your controllers.
This absolutely is not normal.

I’ve definitely moved it across the table on the long axis when it is powered down. Not routinely, but it has happened. When I had the spindle on it, it would also settle down a couple inches onto my rests after shutting down. The laser head weighs so little that I don’t have any Z settling after shutting power down.

Jackpot from order 24596 3/31/24, which I think puts me in the clear on the resistor?

All the way across the table? How fast? Honestly, don’t do that at any kind of reasonable speed. Jog it over before you power down. Not sure that would be a possible cause- but be aware of it.

From the picture, it looks like you have version 1.2.1 which is the latest version and does have the resistor. It was added in version 1.2 back in November 2023.

https://docs.v1e.com/electronics/jackpot/#changelog

11/18/23 Noon - V1.2 boards start shipping for orders placed after this time. Pull up resistor added for more robust boot on more ESP32 boards.

Fun fact. My Jackpot was shipped on 11/18/23 prior to noon. Although, it now has a resistor and I have a second Jackpot.

2 Likes

It does have it.

1 Like

So the good news is that I was sufficiently scarred from killing my SKR Pros that I ordered a spare ESP-32 along with my Jackpot, so I have one on hand. I had tried swapping that early on in my troubleshooting, but I couldn’t even connect for communication when I plugged in that board.
I circled back to the 2nd ESP-32 based on the suggestions and went through the firmware flashing process and got it communicating…and all axis report successful initialization. I won’t have the chance to run a program on it till the weekend, but basic test moves with the motors looked good. :grinning:

All the way across the table? How fast? 

Usually more like 1 or 2 feet at a gentle pushing speed if I had already powered down and needed to move it to get cutting stock in/out.

We’ll eventually need to establish what it is about your build, usage, or environment is killing SKRs and ESP-32s- or it will keep happening.

Meanwhile, interesting result and good luck with your tests this weekend.

1 Like

Everything seems to be working with the backup ESP-32.

I’ll refrain from manual movement of the gantry and see if that helps preserve my electronics in the future.

The test project was a little music note to hold the kid’s instrument case on the wall:


7 Likes