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