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