====== TMC5160 V5 — Complete 4-Axis YAML Examples ====== Every file below is a **complete, ready-to-load FluidNC configuration** for a 4-driver machine — **X / Y1 / Y2 / Z** (a dual-Y gantry), with the **OLED display enabled**. Click the file name to download it. These are starting points, not finished machine configs. ===== Before you use any of these ===== * **Pick the file that matches BOTH your mainboard AND your wiring mode.** The four connector positions use the same I2SO numbers on all four mainboards, but the limit-switch, I2C and bus GPIOs differ per board. * **``steps_per_mm`` is a placeholder (800).** Calculate it from your motor step angle, microstepping and mechanics. * **Limit pins** follow each mainboard's own test YAML. Positions with no documented endstop are set to ``NO_PIN`` — set your own before enabling homing. * **In Normal mode**, current and microstepping come from the DIP switch on the driver board, *not* from the YAML. * **In the two SPI modes**, current and microstepping come from the ``tmc_5160`` block. Set ``run_amps`` to your motor's rating — do not leave the 1.2 A placeholder. * **In the two SPI modes**, set the driver board's Logic voltage selection to **3.3 V** so it matches the SPI bus level. ===== OLED and pendant share pins on V4.96 Pro and V4.7B ===== On **V4.96 Pro** and **V4.7B**, the OLED I2C bus (``gpio.27`` / ``gpio.25``) uses the **same two pins** as the RJ12 pendant UART2. You can run the OLED **or** a pendant, never both at once. Those files ship with the **OLED enabled** and the pendant block commented out, with instructions inside the file for swapping. On **V5.88 Ultra** and **V5.77 Carrier** the OLED uses ``gpio.14`` / ``gpio.13``, which is independent of UART2 (``gpio.0`` / ``gpio.35``), so those files have the OLED **and** the pendant enabled together. [[pibot_cnc_laser_series:silentstep_tmc5160_v5:start|← Back to the TMC5160 V5 manual]] ---- ===== V5.88 Ultra ===== ==== Normal / Standalone mode ==== board: V588 ULTRA name: XYYZ TMC5160 V5 - Normal / Standalone mode (step-dir-enable only) # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V5.88 Ultra # Mode: Normal / Standalone mode (step-dir-enable only) # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the DIP switch, not this file. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.42:low limit_pos_pin: gpio.41:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.40:low limit_pos_pin: gpio.39:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 motor1: # Y2 - connector 3 limit_neg_pin: gpio.38:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: gpio.37:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 i2so: bck_pin: gpio.16 data_pin: gpio.17 ws_pin: gpio.18 spi: miso_pin: gpio.2 mosi_pin: gpio.1 sck_pin: gpio.21 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.9 # ---- OLED display ---- i2c0: sda_pin: gpio.14 scl_pin: gpio.13 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) ---- # Independent of the OLED on this board; delete if unused. uart2: txd_pin: gpio.0 rxd_pin: gpio.35 rts_pin: NO_PIN cts_pin: NO_PIN baud: 1000000 mode: 8N1 uart_channel2: report_interval_ms: 75 uart_num: 2 start: must_home: false ==== SPI Daisy Chain mode ==== board: V588 ULTRA name: XYYZ TMC5160 V5 - SPI Daisy Chain mode # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V5.88 Ultra # Mode: SPI Daisy Chain mode # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the tmc_5160 blocks below. # Set each driver board Logic voltage selection to 3.3V to match the SPI bus. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.42:low limit_pos_pin: gpio.41:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.3 # daisy chain: CS on first driver only step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 spi_index: 1 y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.40:low limit_pos_pin: gpio.39:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false # cs_pin: i2so.6 # not used in daisy chain step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 spi_index: 2 motor1: # Y2 - connector 3 limit_neg_pin: gpio.38:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false # cs_pin: i2so.11 # not used in daisy chain step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 spi_index: 3 z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: gpio.37:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false # cs_pin: i2so.14 # not used in daisy chain step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 spi_index: 4 i2so: bck_pin: gpio.16 data_pin: gpio.17 ws_pin: gpio.18 spi: miso_pin: gpio.2 mosi_pin: gpio.1 sck_pin: gpio.21 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.9 # ---- OLED display ---- i2c0: sda_pin: gpio.14 scl_pin: gpio.13 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) ---- # Independent of the OLED on this board; delete if unused. uart2: txd_pin: gpio.0 rxd_pin: gpio.35 rts_pin: NO_PIN cts_pin: NO_PIN baud: 1000000 mode: 8N1 uart_channel2: report_interval_ms: 75 uart_num: 2 start: must_home: false ==== SPI Independent mode ==== board: V588 ULTRA name: XYYZ TMC5160 V5 - SPI Independent mode # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V5.88 Ultra # Mode: SPI Independent mode # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the tmc_5160 blocks below. # Set each driver board Logic voltage selection to 3.3V to match the SPI bus. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.42:low limit_pos_pin: gpio.41:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.3 # independent: own CS per driver step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 spi_index: -1 # always -1 in independent mode y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.40:low limit_pos_pin: gpio.39:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.6 # independent: own CS per driver step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 spi_index: -1 # always -1 in independent mode motor1: # Y2 - connector 3 limit_neg_pin: gpio.38:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.11 # independent: own CS per driver step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 spi_index: -1 # always -1 in independent mode z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: gpio.37:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.14 # independent: own CS per driver step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 spi_index: -1 # always -1 in independent mode i2so: bck_pin: gpio.16 data_pin: gpio.17 ws_pin: gpio.18 spi: miso_pin: gpio.2 mosi_pin: gpio.1 sck_pin: gpio.21 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.9 # ---- OLED display ---- i2c0: sda_pin: gpio.14 scl_pin: gpio.13 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) ---- # Independent of the OLED on this board; delete if unused. uart2: txd_pin: gpio.0 rxd_pin: gpio.35 rts_pin: NO_PIN cts_pin: NO_PIN baud: 1000000 mode: 8N1 uart_channel2: report_interval_ms: 75 uart_num: 2 start: must_home: false ---- ===== V4.96 Pro ===== ==== Normal / Standalone mode ==== board: V49PB V496PRO name: XYYZ TMC5160 V5 - Normal / Standalone mode (step-dir-enable only) # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V4.96 Pro # Mode: Normal / Standalone mode (step-dir-enable only) # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the DIP switch, not this file. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.33:low limit_pos_pin: gpio.32:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.35:low limit_pos_pin: gpio.34:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 motor1: # Y2 - connector 3 limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 i2so: bck_pin: gpio.22 data_pin: gpio.21 ws_pin: gpio.17 spi: miso_pin: gpio.19 mosi_pin: gpio.23 sck_pin: gpio.18 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.5 # ---- OLED display ---- i2c0: sda_pin: gpio.27 scl_pin: gpio.25 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) - DISABLED ---- # On this board UART2 uses gpio.27 / gpio.25, the SAME pins as the OLED above. # You can run the OLED or the pendant, never both. The OLED is enabled here. # To use a pendant instead: delete the i2c0 and oled blocks, then uncomment: # uart2: # txd_pin: gpio.27 # rxd_pin: gpio.25 # rts_pin: NO_PIN # cts_pin: NO_PIN # baud: 1000000 # mode: 8N1 # uart_channel2: # report_interval_ms: 75 # uart_num: 2 start: must_home: false ==== SPI Daisy Chain mode ==== board: V49PB V496PRO name: XYYZ TMC5160 V5 - SPI Daisy Chain mode # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V4.96 Pro # Mode: SPI Daisy Chain mode # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the tmc_5160 blocks below. # Set each driver board Logic voltage selection to 3.3V to match the SPI bus. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.33:low limit_pos_pin: gpio.32:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.3 # daisy chain: CS on first driver only step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 spi_index: 1 y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.35:low limit_pos_pin: gpio.34:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false # cs_pin: i2so.6 # not used in daisy chain step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 spi_index: 2 motor1: # Y2 - connector 3 limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false # cs_pin: i2so.11 # not used in daisy chain step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 spi_index: 3 z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false # cs_pin: i2so.14 # not used in daisy chain step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 spi_index: 4 i2so: bck_pin: gpio.22 data_pin: gpio.21 ws_pin: gpio.17 spi: miso_pin: gpio.19 mosi_pin: gpio.23 sck_pin: gpio.18 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.5 # ---- OLED display ---- i2c0: sda_pin: gpio.27 scl_pin: gpio.25 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) - DISABLED ---- # On this board UART2 uses gpio.27 / gpio.25, the SAME pins as the OLED above. # You can run the OLED or the pendant, never both. The OLED is enabled here. # To use a pendant instead: delete the i2c0 and oled blocks, then uncomment: # uart2: # txd_pin: gpio.27 # rxd_pin: gpio.25 # rts_pin: NO_PIN # cts_pin: NO_PIN # baud: 1000000 # mode: 8N1 # uart_channel2: # report_interval_ms: 75 # uart_num: 2 start: must_home: false ==== SPI Independent mode ==== board: V49PB V496PRO name: XYYZ TMC5160 V5 - SPI Independent mode # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V4.96 Pro # Mode: SPI Independent mode # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the tmc_5160 blocks below. # Set each driver board Logic voltage selection to 3.3V to match the SPI bus. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.33:low limit_pos_pin: gpio.32:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.3 # independent: own CS per driver step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 spi_index: -1 # always -1 in independent mode y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.35:low limit_pos_pin: gpio.34:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.6 # independent: own CS per driver step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 spi_index: -1 # always -1 in independent mode motor1: # Y2 - connector 3 limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.11 # independent: own CS per driver step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 spi_index: -1 # always -1 in independent mode z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 tmc_5160: r_sense_ohms: 0.1 run_amps: 1.2 # set to YOUR motor rating hold_amps: 0.5 microsteps: 16 stallguard: 0 stallguard_debug: false toff_disable: 0 toff_stealthchop: 5 toff_coolstep: 3 run_mode: CoolStep homing_mode: CoolStep use_enable: false cs_pin: i2so.14 # independent: own CS per driver step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 spi_index: -1 # always -1 in independent mode i2so: bck_pin: gpio.22 data_pin: gpio.21 ws_pin: gpio.17 spi: miso_pin: gpio.19 mosi_pin: gpio.23 sck_pin: gpio.18 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.5 # ---- OLED display ---- i2c0: sda_pin: gpio.27 scl_pin: gpio.25 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) - DISABLED ---- # On this board UART2 uses gpio.27 / gpio.25, the SAME pins as the OLED above. # You can run the OLED or the pendant, never both. The OLED is enabled here. # To use a pendant instead: delete the i2c0 and oled blocks, then uncomment: # uart2: # txd_pin: gpio.27 # rxd_pin: gpio.25 # rts_pin: NO_PIN # cts_pin: NO_PIN # baud: 1000000 # mode: 8N1 # uart_channel2: # report_interval_ms: 75 # uart_num: 2 start: must_home: false ---- ===== V5.77 Carrier ===== V5.77 Carrier has no external SPI driver header, so only Normal (step/dir) mode applies. ==== Normal / Standalone mode ==== board: V577 CARRIER name: XYYZ TMC5160 V5 - Normal / Standalone mode (step-dir-enable only) # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V5.77 Carrier # Mode: Normal / Standalone mode (step-dir-enable only) # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the DIP switch, not this file. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.42:low limit_pos_pin: gpio.41:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.40:low limit_pos_pin: gpio.39:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 motor1: # Y2 - connector 3 limit_neg_pin: gpio.38:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: gpio.37:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 i2so: bck_pin: gpio.16 data_pin: gpio.17 ws_pin: gpio.18 spi: miso_pin: gpio.2 mosi_pin: gpio.1 sck_pin: gpio.21 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.9 # ---- OLED display ---- i2c0: sda_pin: gpio.14 scl_pin: gpio.13 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) ---- # Independent of the OLED on this board; delete if unused. uart2: txd_pin: gpio.0 rxd_pin: gpio.35 rts_pin: NO_PIN cts_pin: NO_PIN baud: 1000000 mode: 8N1 uart_channel2: report_interval_ms: 75 uart_num: 2 start: must_home: false ---- ===== V4.7B ===== V4.7B has no external SPI driver header, so only Normal (step/dir) mode applies. ==== Normal / Standalone mode ==== board: V47B name: XYYZ TMC5160 V5 - Normal / Standalone mode (step-dir-enable only) # --------------------------------------------------------------- # PiBot SilentStep TMC5160 V5 + PiBot V4.7B # Mode: Normal / Standalone mode (step-dir-enable only) # Axes: X / Y1 / Y2 / Z (dual-Y gantry, 4 drivers) # # Before use, set your own: steps_per_mm, travel, limit pins, homing direction. # Limit pins follow this board's own test YAML; NO_PIN where none is documented. # In this mode current and microsteps come from the DIP switch, not this file. # --------------------------------------------------------------- stepping: engine: I2S_STATIC idle_ms: 250 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 axes: shared_stepper_disable_pin: NO_PIN x: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # X - connector 1 limit_neg_pin: gpio.33:low limit_pos_pin: gpio.32:low limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.2 direction_pin: I2SO.1 disable_pin: I2SO.0 y: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 2 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Y1 - connector 2 limit_neg_pin: gpio.35:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.5 direction_pin: I2SO.4 disable_pin: I2SO.7 motor1: # Y2 - connector 3 limit_neg_pin: gpio.34:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.10 direction_pin: I2SO.9 disable_pin: I2SO.8 z: steps_per_mm: 800.000 max_rate_mm_per_min: 1000.000 acceleration_mm_per_sec2: 100.000 max_travel_mm: 300.000 soft_limits: false homing: cycle: 1 positive_direction: false mpos_mm: 150.000 feed_mm_per_min: 100.000 seek_mm_per_min: 200.000 settle_ms: 500 seek_scaler: 1.100 feed_scaler: 1.100 motor0: # Z - connector 4 limit_neg_pin: gpio.39:low limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1.000 standard_stepper: step_pin: I2SO.13 direction_pin: I2SO.12 disable_pin: I2SO.15 i2so: bck_pin: gpio.22 data_pin: gpio.21 ws_pin: gpio.17 spi: miso_pin: gpio.19 mosi_pin: gpio.23 sck_pin: gpio.18 sdcard: card_detect_pin: NO_PIN cs_pin: gpio.5 # ---- OLED display ---- i2c0: sda_pin: gpio.27 scl_pin: gpio.25 oled: i2c_num: 0 i2c_address: 60 width: 128 height: 64 radio_delay_ms: 1000 # ---- Pendant / I/O Expander (UART2) - DISABLED ---- # On this board UART2 uses gpio.27 / gpio.25, the SAME pins as the OLED above. # You can run the OLED or the pendant, never both. The OLED is enabled here. # To use a pendant instead: delete the i2c0 and oled blocks, then uncomment: # uart2: # txd_pin: gpio.27 # rxd_pin: gpio.25 # rts_pin: NO_PIN # cts_pin: NO_PIN # baud: 1000000 # mode: 8N1 # uart_channel2: # report_interval_ms: 75 # uart_num: 2 start: must_home: false