TMC2240 - Unable to read tmc uart register IFCNT

Basic Information:

Printer Model: Ultimaker 2 (Klipper conversion)
MCU / Printerboard: SKR 1.4 (non turbo)
Host / SBC: Raspberry Pi 3B, 1GB RAM
klippy(6).log (669.1 KB)

Unable to read tmc uart register IFCNT - Affects both X and Y axis, which have TMC2240’s on them.

My Z and E have TMC2208’s which work completely fine, but whenever I try to do a force move on my X or Y axis I get the error and my printer halts. I know it’s not an issue with my jumpers or pin selection in my configuration because I have my 2208’s set up with UART the same way and they work with no problem. I quintuple checked my pins with this guide, so I think there’s got to be an issue with how I set up my config. If it helps, I am using the stock UM2 steppers on X and Y. Here is the X/Y section in case anyone wants to double check it:

# ----------------------------

# X axis

# ----------------------------

[stepper_x]

step_pin: P2.2

dir_pin: P2.6

enable_pin: !P2.1

microsteps: 16

rotation_distance: 40.0

endstop_pin: tmc2209_stepper_x:virtual_endstop

position_endstop: -5

position_min: -5

position_max: 225

homing_speed: 50

homing_retract_dist: 5

homing_positive_dir: False




[tmc2209 stepper_x]

uart_pin: P1.10

run_current: 0.8

hold_current: 0.3

stealthchop_threshold: 0

driver_SGTHRS: 120

sense_resistor: 0.11

diag_pin: ^P1.29




# ----------------------------

# Y axis

# ----------------------------

[stepper_y]

step_pin: P0.19

dir_pin: P0.20

enable_pin: !P2.8

microsteps: 16

rotation_distance: 40.0

endstop_pin: tmc2209_stepper_y:virtual_endstop

position_endstop: -5

position_min: -5

position_max: 225

homing_speed: 50

homing_retract_dist: 5

homing_positive_dir: False




[tmc2209 stepper_y]

uart_pin: P1.9

run_current: 0.8

hold_current: 0.3

stealthchop_threshold: 0

driver_SGTHRS: 120

sense_resistor: 0.11

diag_pin: ^P1.28

If someone can help me out here it would make my week, I’ve been trying to get this working for the past day or two but its just super stubborn. :upside_down_face:

**note: I was going through the “your topic is similar to” tab and I saw someone say to run “DUMP_TMC STEPPER=" with the other stepper unplugged, and it just gave me:

14:15:18  $ DUMP_TMC STEPPER=stepper_x
14:15:18  // Unable to read tmc uart 'stepper_x' register IFCNT
// Once the underlying issue is corrected, use the
// "FIRMWARE_RESTART" command to reset the firmware, reload the
// config, and restart the host software.
// Printer is shutdown

If you’re using TMC2240s, why are you specifying TMC2209s in your printer.cfg?

They supposedly 100% compatible with each other, and I cant get sensorless homing to not throw errors if i have it put in as a 2240

TMC2209 and TMC2226 - yes.
TMC2240 is a different beast. TMC2240 would require the correct config section and the correct jumper on the driver to switch it to the UART.

1 Like

I tried just about everything before I looked back at the bigtreetech website and I didn’t see uart supported so I tried SPI and it works now. I’m still having issues with homing and my extruder motor but I’ll keep that out of this topic and try to fix it myself later

I had a similar experience and I believe that I read somewhere that only SPI works with the TMC2240.

2 Likes