Table of Contents
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
motorblock and swap in that socket's numbers. max_rate_mm_per_minis 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_pinto *disable* a motor, and step/dir drivers do not agree on which level means disabled — some ordinary drivers only run once you writedisable_pin: I2SO.0:low. Try one axis first, then apply the same suffix to every axis using that driver model. gpio.3is used here as the toolsetter input, which needs jumper ⑩ set to input mode. Deletetoolsetter_pinif 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_PINin 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.ndrives MS3 high;ms3_pin: I2SO.n:lowdrives 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_stepperblock 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, andspi_index: -1means independent chip select rather than a daisy chain. run_amps: 1.2is a placeholder. Set it to your motor's rated current before you run anything.- Leave
toff_disableat 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.110matches 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
