User Tools

Site Tools


pibot_cnc_laser_series:v588_ultra:connect_stepper_drivers:yaml:start

V5.88 Ultra — Stepper Driver YAML Examples

Each file below is a complete FluidNC template for a 4-driver machine — X / Y1 / Y2 / Z (a dual-Y gantry) — with limit switches, probe, spindle PWM, OLED and pendant already wired to the V5.88 Ultra's real pins. Click the file name to download it.

These are not finished machine configs. Do not load one unchanged. Every file carries placeholder values that describe no real machine, and one of them (run_amps) can overheat a motor. Work through the checklist below first.

Pick the file that matches your wiring

Wiring option File Driver block Current and microstepping come from
A — on-board StepStick, standard step/dir v588-xyyz-onboard-stepstick.yaml stepstick driver trimmer + board jumpers + ms3_pin
B — external standard drivers (TB6600 / DM542 class) v588-xyyz-external-standard.yaml standard_stepper the external driver's own DIP switches
C — on-board SPI (TMC2130) v588-xyyz-onboard-tmc2130-spi.yaml tmc_2130 this file
D — external SPI (SilentStep TMC5160 V5) on the TMC5160 V5 page tmc_5160 DIP switches, or the YAML in SPI mode

Change these before you load — every time

# Setting Shipped placeholder What happens if you leave it
1 steps_per_mm 800 every distance is wrong — a 10 mm move is not 10 mm
2 run_amps (SPI files only) 1.2 a smaller motor overheats; a larger one has no torque
3 max_travel_mm 300 soft limits, once enabled, stop in the wrong place
4 homing: cycle / positive_direction / mpos_mm a generic guess the machine homes into the wrong end of the axis
5 limit_neg_pin / limit_pos_pin this board's test-YAML pins homing seeks a switch that may not be on that pin
6 microsteps (SPI files) or the board jumpers 16 steps_per_mm no longer matches the driver

Do all six with the motors uncoupled from the machine, and leave soft_limits: false and hard_limits: false until the axis moves the right distance in the right direction.

The rest of what is inside

  • Limit pins follow this board's own test YAML. Positions with no documented endstop are NO_PIN. Read 4.1 Connect Limit Switches first — PNP (sourcing) sensors are not compatible with this board.
  • The four connectors are the same six I2SO groups shown on 4.2 Connect Stepper Drivers. To add the B and C axes, copy an existing motor block and swap in that socket's numbers.
  • max_rate_mm_per_min is deliberately low (1000). Raise it only after the machine moves correctly.
  • If a motor is limp and never steps, invert its enable. FluidNC asserts disable_pin to *disable* a motor, and step/dir drivers do not agree on which level means disabled — some ordinary drivers only run once you write disable_pin: I2SO.0:low. Try one axis first, then apply the same suffix to every axis using that driver model.
  • gpio.3 is used here as the toolsetter input, which needs jumper ⑩ set to input mode. Delete toolsetter_pin if you use GPIO.3 as an output or as a seventh axis.
  • The spindle, laser, 0–10 V and RS485 blocks that are not in these files can be copied from the full test YAML on 1 Pinout Reference.

← Back to 4.2 Connect Stepper Drivers


A — On-board StepStick drivers (standard step/dir)

For A4988, DRV8825, TMC2208 and TMC2209 modules plugged into the sockets DRV1–DRV4.

  • MS1, MS2, RST and SLP are physical jumpers on the board and are shared by all six sockets, so they stay NO_PIN in the file.
  • MS3 is the only microstep bit that lives in the YAML — the MSP3 row on the board has an unconnected centre pin. ms3_pin: I2SO.n drives MS3 high; ms3_pin: I2SO.n:low drives it low.
  • Set the driver current with the trimmer on each module, following that driver's own datasheet.
v588-xyyz-onboard-stepstick.yaml
board: PiBot V5.88 Ultra
name:  XYYZ on-board StepStick drivers (standard step/dir)
 
# ---------------------------------------------------------------
# PiBot V5.88 Ultra  -  4.2 Connect Stepper Drivers
# Mode: A - on-board StepStick, standard step/dir
# Axes: X / Y1 / Y2 / Z  (dual-Y gantry, 4 drivers)
#
# Before use, set your own: steps_per_mm, travel, homing direction,
# and check every limit pin against your real switches.
# Limit pins follow this board's own test YAML; NO_PIN where none
# is documented. This is a starting point, not a finished machine.
#
# ENABLE POLARITY: FluidNC asserts disable_pin to DISABLE a motor, but
# step/dir drivers do not agree on which level means disabled. If a motor
# is limp and never steps while STP and DIR look right, invert it:
#   disable_pin: I2SO.0:low
# Some ordinary drivers only run that way. Try one axis, then do the rest.
#
# MS1 / MS2 / RST / SLP are physical jumpers on the board and are
# shared by all six sockets, so they stay NO_PIN here.
# MS3 has no jumper - it is the only microstep bit set in this file.
#   ms3_pin: I2SO.n        -> MS3 = 1 (logic high)
#   ms3_pin: I2SO.n:low    -> MS3 = 0 (logic low)
# A4988   : MS1=1 MS2=1 MS3=1  -> 1/16 step
# DRV8825 : MS1=1 MS2=1 MS3=1  -> 1/32 step
# TMC2209 : MS1=1 MS2=1        -> 1/16 step, and that socket pin is
#           PDN, not MS3 - use ms3_pin: I2SO.n:low to keep the
#           standstill current reduction the chip enables by default.
# ---------------------------------------------------------------

stepping:
  engine: I2S_STATIC
  idle_ms: 250
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0

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  - socket DRV1 / terminal 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
      stepstick:
        step_pin: I2SO.2
        direction_pin: I2SO.1
        disable_pin: I2SO.0       # add :low if the driver runs inverted
        ms1_pin: NO_PIN         # MSP1 jumper on the board
        ms2_pin: NO_PIN         # MSP2 jumper on the board
        ms3_pin: I2SO.3         # MS3 = 1  (add :low for MS3 = 0)
        reset_pin: NO_PIN       # RSTP1 jumper on the board

  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 - socket DRV2 / terminal 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
      stepstick:
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7       # add :low if the driver runs inverted
        ms1_pin: NO_PIN         # MSP1 jumper on the board
        ms2_pin: NO_PIN         # MSP2 jumper on the board
        ms3_pin: I2SO.6         # MS3 = 1  (add :low for MS3 = 0)
        reset_pin: NO_PIN       # RSTP1 jumper on the board

    motor1:                    # Y2 - socket DRV3 / terminal 3
      limit_neg_pin: gpio.38:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8       # add :low if the driver runs inverted
        ms1_pin: NO_PIN         # MSP1 jumper on the board
        ms2_pin: NO_PIN         # MSP2 jumper on the board
        ms3_pin: I2SO.11        # MS3 = 1  (add :low for MS3 = 0)
        reset_pin: NO_PIN       # RSTP1 jumper on the board

  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  - socket DRV4 / terminal 4
      limit_neg_pin: gpio.37:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      stepstick:
        step_pin: I2SO.13
        direction_pin: I2SO.12
        disable_pin: I2SO.15      # add :low if the driver runs inverted
        ms1_pin: NO_PIN         # MSP1 jumper on the board
        ms2_pin: NO_PIN         # MSP2 jumper on the board
        ms3_pin: I2SO.14        # MS3 = 1  (add :low for MS3 = 0)
        reset_pin: NO_PIN       # RSTP1 jumper on the board
 

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
 
# ---- Probe and toolsetter ----
# gpio.3 is only an input when jumper 10 selects input mode.
probe:
  pin: gpio.47:low
  toolsetter_pin: gpio.3:low
  check_mode_start: true
  hard_stop: false
 
# ---- Spindle / laser PWM on the 5 V output header ----
pwm:
  pwm_hz: 5000
  output_pin: gpio.45
  enable_pin: NO_PIN
  direction_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 0
  speed_map: 0=0.000% 10000=100.000%
  off_on_alarm: false
 
# ---- 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 this pair 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

B — External standard drivers

For TB6600, DM420, DM542, DM556 and closed-loop drivers wired to the white EN / STP / DIR / GND terminals. Set the VDD logic jumper ⑨ to 5 V.

  • There are no microstep pins to control from the firmware, so the plain standard_stepper block is all that is needed.
  • Current and microstepping are set on the driver's own DIP switches — but microstepping still decides steps_per_mm.
  • The on-board sockets stay empty for these axes, and Vmot-Driver is not needed.
v588-xyyz-external-standard.yaml
board: PiBot V5.88 Ultra
name:  XYYZ external standard drivers (TB6600 / DM542 class)
 
# ---------------------------------------------------------------
# PiBot V5.88 Ultra  -  4.2 Connect Stepper Drivers
# Mode: B - external standard drivers, step/dir/enable only
# Axes: X / Y1 / Y2 / Z  (dual-Y gantry, 4 drivers)
#
# Before use, set your own: steps_per_mm, travel, homing direction,
# and check every limit pin against your real switches.
# Limit pins follow this board's own test YAML; NO_PIN where none
# is documented. This is a starting point, not a finished machine.
#
# ENABLE POLARITY: FluidNC asserts disable_pin to DISABLE a motor, but
# step/dir drivers do not agree on which level means disabled. If a motor
# is limp and never steps while STP and DIR look right, invert it:
#   disable_pin: I2SO.0:low
# Some ordinary drivers only run that way. Try one axis, then do the rest.
#
# Current and microstepping come from the external driver's own DIP
# switches, not from this file - but microstepping still decides
# steps_per_mm. Set the VDD logic jumper to 5 V for these drivers.
# ---------------------------------------------------------------

stepping:
  engine: I2S_STATIC
  idle_ms: 250
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0

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  - socket DRV1 / terminal 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       # add :low if the driver runs inverted

  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 - socket DRV2 / terminal 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       # add :low if the driver runs inverted

    motor1:                    # Y2 - socket DRV3 / terminal 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       # add :low if the driver runs inverted

  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  - socket DRV4 / terminal 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      # add :low if the driver runs inverted
 

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
 
# ---- Probe and toolsetter ----
# gpio.3 is only an input when jumper 10 selects input mode.
probe:
  pin: gpio.47:low
  toolsetter_pin: gpio.3:low
  check_mode_start: true
  hard_stop: false
 
# ---- Spindle / laser PWM on the 5 V output header ----
pwm:
  pwm_hz: 5000
  output_pin: gpio.45
  enable_pin: NO_PIN
  direction_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 0
  speed_map: 0=0.000% 10000=100.000%
  off_on_alarm: false
 
# ---- 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 this pair 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

C — On-board SPI (TMC2130) drivers

For SPI-mode TMC modules in the sockets DRV1–DRV4, with the SPI jumper block ⑱ installed, the MS / RST / SLP jumpers ⑪ removed, and the VDD logic jumper ⑨ on 3.3 V.

  • Each motor has its own cs_pin — that is the same MS3 line, and spi_index: -1 means independent chip select rather than a daisy chain.
  • run_amps: 1.2 is a placeholder. Set it to your motor's rated current before you run anything.
  • Leave toff_disable at 0. It is the TOFF value used while the driver is disabled, and TOFF 0 means “driver disable, all bridges off”. A non-zero value keeps the power stage chopping while the motor is supposed to be off.
  • r_sense_ohms: 0.110 matches the common TMC2130 StepStick. Check the sense resistors on your own module if the current comes out wrong.
v588-xyyz-onboard-tmc2130-spi.yaml
board: PiBot V5.88 Ultra
name:  XYYZ on-board TMC2130 SPI drivers
 
# ---------------------------------------------------------------
# PiBot V5.88 Ultra  -  4.2 Connect Stepper Drivers
# Mode: C - on-board SPI (TMC2130), independent chip select
# Axes: X / Y1 / Y2 / Z  (dual-Y gantry, 4 drivers)
#
# Before use, set your own: steps_per_mm, travel, homing direction,
# and check every limit pin against your real switches.
# Limit pins follow this board's own test YAML; NO_PIN where none
# is documented. This is a starting point, not a finished machine.
#
# ENABLE POLARITY: FluidNC asserts disable_pin to DISABLE a motor, but
# step/dir drivers do not agree on which level means disabled. If a motor
# is limp and never steps while STP and DIR look right, invert it:
#   disable_pin: I2SO.0:low
# Some ordinary drivers only run that way. Try one axis, then do the rest.
#
# Current and microstepping come from the tmc_2130 blocks below.
# Set run_amps to your motor's rating - do not leave the 1.2 A
# placeholder. Install the SPI jumper block, remove the MS / RST /
# SLP jumpers, and set the VDD logic jumper to 3.3 V.
#
# toff_disable is the TOFF register value used while the driver is
# disabled. TOFF 0 means 'driver disable, all bridges off', so leave
# it at 0 - that is the FluidNC default and what every official
# FluidNC example uses. A non-zero value keeps the power stage
# chopping while the motor is supposed to be off, so the motor stays
# energised and hot. FluidNC only writes this value when
# use_enable is true, so a non-zero value here is a trap that only
# springs once someone switches use_enable on.
# ---------------------------------------------------------------

stepping:
  engine: I2S_STATIC
  idle_ms: 250
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0

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  - socket DRV1 / terminal 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_2130:
        cs_pin: i2so.3          # this socket's MS3 / CS output
        spi_index: -1           # independent CS, not a daisy chain
        r_sense_ohms: 0.110
        run_amps: 1.2           # SET THIS to your motor
        hold_amps: 0.1
        microsteps: 16
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0           # 0 = bridges off when disabled (FluidNC default)
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: CoolStep
        homing_mode: CoolStep
        use_enable: false
        step_pin: I2SO.2
        direction_pin: I2SO.1
        disable_pin: I2SO.0       # add :low if the driver runs inverted

  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 - socket DRV2 / terminal 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_2130:
        cs_pin: i2so.6          # this socket's MS3 / CS output
        spi_index: -1           # independent CS, not a daisy chain
        r_sense_ohms: 0.110
        run_amps: 1.2           # SET THIS to your motor
        hold_amps: 0.1
        microsteps: 16
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0           # 0 = bridges off when disabled (FluidNC default)
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: CoolStep
        homing_mode: CoolStep
        use_enable: false
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7       # add :low if the driver runs inverted

    motor1:                    # Y2 - socket DRV3 / terminal 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_2130:
        cs_pin: i2so.11         # this socket's MS3 / CS output
        spi_index: -1           # independent CS, not a daisy chain
        r_sense_ohms: 0.110
        run_amps: 1.2           # SET THIS to your motor
        hold_amps: 0.1
        microsteps: 16
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0           # 0 = bridges off when disabled (FluidNC default)
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: CoolStep
        homing_mode: CoolStep
        use_enable: false
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8       # add :low if the driver runs inverted

  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  - socket DRV4 / terminal 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_2130:
        cs_pin: i2so.14         # this socket's MS3 / CS output
        spi_index: -1           # independent CS, not a daisy chain
        r_sense_ohms: 0.110
        run_amps: 1.2           # SET THIS to your motor
        hold_amps: 0.1
        microsteps: 16
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0           # 0 = bridges off when disabled (FluidNC default)
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: CoolStep
        homing_mode: CoolStep
        use_enable: false
        step_pin: I2SO.13
        direction_pin: I2SO.12
        disable_pin: I2SO.15      # add :low if the driver runs inverted
 

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
 
# ---- Probe and toolsetter ----
# gpio.3 is only an input when jumper 10 selects input mode.
probe:
  pin: gpio.47:low
  toolsetter_pin: gpio.3:low
  check_mode_start: true
  hard_stop: false
 
# ---- Spindle / laser PWM on the 5 V output header ----
pwm:
  pwm_hz: 5000
  output_pin: gpio.45
  enable_pin: NO_PIN
  direction_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 0
  speed_map: 0=0.000% 10000=100.000%
  off_on_alarm: false
 
# ---- 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 this pair 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

D — External SPI drivers

The PiBot SilentStep TMC5160 V5 files, in Normal, SPI Daisy Chain and SPI Independent modes, live on their own page together with the V4.96, V5.77 and V4.7B versions:


← Back to 4.2 Connect Stepper Drivers · 1 Pinout Reference · 4.1 Connect Limit Switches

pibot_cnc_laser_series/v588_ultra/connect_stepper_drivers/yaml/start.txt · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki