Radds 1.6 + tmc 5160

Printer Model: Self made coreXY
MCU / Printerboard: radds 1.6 (arduino 2)

Hi all, this is my first time with Klipper and i’m trying to install it on a selfmade corexy with radds 1.6
I read guides about tmc but i’m not able to config them properly and receive " !! Error on ‘DUMP_TMC’: missing STEPPER "

Note: i don’t know if there is a minimal printer.cfg needed for to start, i’m trying to add an istance any time and mainsails seems to accept this.

my actual printer.cfg:

[include mainsail.cfg]
[mcu]

#serial: /dev/serial/by-id/usb-Arduino__www.arduino.cc__Arduino_Due_Prog._Port_55838323435351C040C1-if00

serial: /dev/serial/by-id/usb-Klipper_sam3x8e_20312051505347333233303039303135-if00


# This file contains common pin mappings for RADDS (v1.5) boards.  To
# use this config, the firmware should be compiled for the Arduino
# Due.

# See docs/Config_Reference.md for a description of parameters.

# Temp sensor pins: PA16..PA6
# Mosfet Pins: PC23 (Heatbed), PC22, PC21, PD7, PD8, PB27


# TMC5160 configuration
[tmc5160 stepper_x]
cs_pin: PC29
run_current:0.800
stealthchop_threshold: 999999



#[tmc2130 extruder]
#cs_pin: PC5
#spi_bus: SPI
#spi_software_miso_pin: PA25
#spi_software_mosi_pin: PA26
#spi_software_sclk_pin: PA27
#run_current:0.800


# Define a probe
#[probe]
#pin: ^!ar18
#z_offset: 2.15
#x_offset: 27.5
#y_offset: 5

# The safe_z_home section modifies the default G28 behavior
[safe_z_home]
home_xy_position: 100,100
speed: 50
z_hop: 15
z_hop_speed: 5



[stepper_x]
step_pin: PA15
dir_pin: PA14
enable_pin: PD1
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD3
#endstop_pin: ^PC2
position_endstop: 0
position_max: 200
homing_speed: 50

[stepper_y]
step_pin: PA12
dir_pin: !PA13
enable_pin: PB26
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD9
#endstop_pin: ^PC4
position_endstop: 0
position_max: 200
homing_speed: 50

[stepper_z]
step_pin: PB25
dir_pin: PC28
enable_pin: PD5
microsteps: 16
rotation_distance: 8
endstop_pin: ^PD10
#endstop_pin: ^PC6
position_endstop: 0.5
position_max: 200

#[extruder]
#step_pin: PA2
#dir_pin: PA3
#enable_pin: PB17
#microsteps: 16
#rotation_distance: 33.500
#nozzle_diameter: 0.400
#filament_diameter: 1.750
#heater_pin: PB27
#sensor_type: EPCOS 100K B57560G104F
#sensor_pin: PA16
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
#min_temp: 0
#max_temp: 1000


#[heater_bed]
#heater_pin: PC23
#sensor_type: EPCOS 100K B57560G104F
#sensor_pin: PA24
#control: watermark
#min_temp: 0
#max_temp: 1000

[fan]
pin: PC21

#[heater_fan heatbreak_cooling_fan]
#pin: PC22



[printer]
kinematics: corexy
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

The board connects without problems but when i try a TMC_DUMP i receive the error.
I will appreciate if you have a radds config to use as reference.
Thank you all.

…but v1.5!

Good luck, hcet14

This is a “no fun at all” idea.
The RADDS board lacks the provisions to control such drivers via software. You could work around this by finding enough free pins on the board and connect them via jumper cables but this is really a crappy solution and I’m not even sure if you find enough matching pins to do so.

AFAIK the TMC5160 also do not run in “standalone” mode, so it is pretty much a dead end.

1 Like

Should be possible to run TMC2209 on single wire UART with such a cable:

But I don’t know whether SPI will work for the TMC5160.

I bought this drives because i read that marlin and mk4duo (that i use in my other printers) can work with them and with radds also if board needs a mod


at the moment i’m using some dupont cables to connect only 1 tmc for tests.

I tried to connect on hw spi and cs0 (arduino 2 seems to manage only 3 spi adress) with no success,
then i tried to connect as described in the attached images but, again, no success.

Onestly i don’t know well HW SPI and SW SPI but i trying to learn something about …

I saw the log ad found a generic error :
Unable to write tmc spi ‘stepper_x’ register GLOBALSCALER

I’m looking for it now.
Tomorrow i will upload the log (i haven’t my printer here now)

i could also try to switch tmc with my other printer …
i have a coreXY with tmc2130 and a Aus3D Rumba32 but i would need to recompile the firmware and i prefer to have at least a printer that can works :smiley:

I would switch also the Rumba32 to klipper in the future but i prefer to have a match a time :slight_smile:

TMC5160 are SPI drivers. As a minimum you need to provide following pins / config:

[tmc5160 stepper_x]
cs_pin:
spi_software_sclk_pin:
spi_software_mosi_pin:
spi_software_miso_pin:

spi_software_* are shared among all drivers

also if i use SPI bus directly from the SPI connector?

i thought that if i use HW SPI with MISO MOSI SCK and CS i don’t need to declare them , am i wrong?
so if i use a SW SPI i need to use different pins (like images for exampe, is it correct?)

If you use the builtin (hardware) SPI, you do not need to declare them but still connect them and from the schematic above it seemed not the case (but upon closer look it is :wink: )

Did you verify it against the boards schematic?

The image regarding a sw SPI config, i think because the board offer only 3 CS for SPI bus and we need 4 …

But because i’m a rookie with klipper i first try to connect only one driver to the HW SPI and relative CS0
pins SPI connector RADDS_1_6

Then i tried to test the SW SPI but without good results …

So, i will try again with SW SPI using the pins in the images.
I just mapped all pins starting from schematics because this board (in this revision) doesn’t have a pinout.

I would like to share them with the community because the file i used for my first config refers to v1.5 that theoretically has same pinout but i’m not sure about that.

However, i need to declare only one time the sw_spi pins correct?
than i need to use a free pin not related to HW SPI …
Tomorrow i will try :slight_smile:

You’d need to declare them in each stepper object but they are identical, so no need to use different pins there.

Hi all, some updates …
I’m trying a bench setup so I can’t use x y and z because of the triggered endstops.
I put a resistor to simulate the hotend temperature at 220 degrees and by connecting an A4988 driver the extruder works.
I put the TMC in its place and the DUMP_TMC STEPPER=extruder command gives me a series of information.
If I try to initialize the driver with INIT_TMC STEPPER=extruder I get an error :
Unable to write tmc spi ‘extruder’ register GLOBALSCALER
same error if I try to extrude.

I attach the log

Thank you
logs-202341-13733.zip (5.8 KB)

Next step:
i use hwspi pins in hw mode,
hwspi pins in sw mode
new different pins in sw mode.
All this config are able to dump tmc but noone can work …
All config, if i send a command to extruder, restart klipper with the GLOBALSCALER ERROR

i don’t know hot wo proceed.

OK i found the issue!
Now extruder works!
Basically this board hasn’t native support so … It has a short between the RST/MISO and the !SLEEP …
I put tmc on a breadboard and connect all cables except the RST and now it works …
Hoping this work can help someone :slight_smile:

1 Like

Nice work. As an alternative you could have invested like 25 USD and get a board that can do it from the start :wink:

Of course!
You’re right!
But i’m building a new printer starting from all the things i have in a box and that i used in previous project for to reuse them, i need only to buy a small plate like voron 120x120 :stuck_out_tongue: .
:slight_smile: