# FluidNC config for the SandTable Controller v0.3 (ESP32 + 2x DRV8825 at 1/32 step). # A starting point: not yet run on real hardware. # # Units # X = theta (arm angle) in DEGREES # 200 steps x 32 microsteps x (80T hub / 20T motor pulley) = 25600 steps per arm turn = 71.111 per degree # Y = rho (ball distance from the centre) in MM # 200 steps x 32 microsteps / (20T GT2 pulley = 40 mm per turn) = 160 steps per mm # # If an axis turns the wrong way, add :low to its direction_pin (for example gpio.19:low) # or flip one coil's plug. board: SandTable Controller v0.3 name: Sand Table stepping: engine: RMT idle_ms: 255 # 255 = never switch the motors off, so the arm can't drift pulse_us: 4 # DRV8825 needs at least 1.9 us dir_delay_us: 2 # DRV8825 needs at least 0.65 us disable_delay_us: 0 axes: shared_stepper_disable_pin: gpio.13 # high = drivers off (a pull-up keeps them off during boot) x: # theta, degrees steps_per_mm: 71.111 max_rate_mm_per_min: 3600 # 10 arm turns per minute acceleration_mm_per_sec2: 120 max_travel_mm: 360 # only sets how far $HX searches; theta is unlimited soft_limits: false homing: cycle: 0 # not part of $H. With a hall sensor fitted, home theta by hand with $HX positive_direction: true mpos_mm: 0 feed_mm_per_min: 120 seek_mm_per_min: 720 settle_ms: 250 seek_scaler: 1.1 feed_scaler: 1.1 motor0: limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: gpio.35:low # HALL connector (active low, pulled up on the board) hard_limits: false pulloff_mm: 5 stepstick: step_pin: gpio.18 direction_pin: gpio.19 disable_pin: NO_PIN y: # rho, mm steps_per_mm: 160 max_rate_mm_per_min: 1500 acceleration_mm_per_sec2: 100 max_travel_mm: 135 soft_limits: false homing: cycle: 1 # $H homes rho positive_direction: false # the home switch is at the centre end of the arm mpos_mm: 3 # switch trips near rho 2 mm, then backs off 1 mm. Tune so Y0 is dead centre feed_mm_per_min: 100 seek_mm_per_min: 600 settle_ms: 250 seek_scaler: 1.1 feed_scaler: 1.1 motor0: limit_neg_pin: gpio.34:low # HOME connector: switch COM to GND (pin 3), NO to signal (pin 2) limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: true # patterns stay 1 mm past the switch (rho_min_mm = 3), so a press # while drawing means lost steps: FluidNC stops at once by itself pulloff_mm: 1 stepstick: step_pin: gpio.27 direction_pin: gpio.14 disable_pin: NO_PIN