Jackpot board install on JL1 laser

I now have everything connected and working on the JL1 -except- the laser. :confetti_ball:

Below I’ll quote the working config.yaml.

Maybe… but I didn’t really make progress until I grokked that the LowRider config has multiple Y motors each with their own driver, and the JL1 has a single driver and two steppers in parallel. I ripped out the extra config and things started making more sense when being reported with $limits. It has something to do with the LowRider config having endstops defined in the other motor driver.

What I had to do here was rip out the extra motor configs, then set the config as shown in the config.yaml below.

Earlier, when I was jogging the X and Y, the axis moved in the correct direction, so I knew the connector at the jumper didn’t need to be flipped.

Regarding the out of memory errors and reboots, I am able to reproduce that semi regularly.
Steps:

  • Connect up a USB cable and have fluidterm running.
  • use the file menu on the FluidNC web GUI and upload a config.yaml file.
  • Close the file menu
  • Restart FluidNC with the red power button icon on the UI.
  • Usually, things restart fine. Once an a while, they do not. Both times it happened, I saw the out of memory errors as described further up in this post.

Below is the config.yaml as I have it, and everything I have tested is working fine. Now I will try to sort out the laser.

board: Jackpot TMC2209
name: JL1_Laser
meta: 08-27-2023 MakerJim

planner_blocks: 32

stepping:
  engine: I2S_STATIC
  idle_ms: 255
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0
  
uart1:
  txd_pin: gpio.0
  rxd_pin: gpio.4
  rts_pin: NO_PIN
  baud: 115200
  mode: 8N1

axes:
  shared_stepper_disable_pin: NO_PIN
  
  x:
    steps_per_mm: 40.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 220
    soft_limits: false
    homing:
      cycle: 3
      positive_direction: true
      mpos_mm: 220
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #X
    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: gpio.25:high
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 0
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.300
        hold_amps: 0.200
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        direction_pin: I2SO.1
        step_pin: I2SO.2
        disable_pin: I2SO.0      
        
  y:
    steps_per_mm: 40.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 280
    soft_limits: false
    homing:
      cycle: 3
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #Y
    motor0:
      limit_neg_pin: gpio.33:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 1
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.600
        hold_amps: 0.400
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7

i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  cs_pin: gpio.5
  card_detect_pin: NO_PIN
  frequency_hz: 20000000

#probe:
#  pin: gpio.36:low
#  toolsetter_pin: NO_PIN
#  check_mode_start: true

start:
  must_home: false

#coolant:
#  flood_pin: gpio.2
#  mist_pin: gpio.16
#  delay_ms: 0

control:
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: NO_PIN
  cycle_start_pin: NO_PIN
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN  

macros:
  startup_line0:
  startup_line1:
  macro0:
  macro1:
  macro2:
  macro3:
  
user_outputs:
  analog0_pin: NO_PIN
  analog1_pin: NO_PIN
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: gpio.26
  digital1_pin: NO_PIN
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

Laser:
  pwm_hz: 5000
  output_pin: gpio.27
  enable_pin: gpio.2
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 0
  speed_map: 0=0.000% 1000=100.000%
  off_on_alarm: true

# pwm:
#  pwm_hz: 5000
#  direction_pin: gpio.26
#  output_pin: gpio.27
#  enable_pin: NO_PIN
#  disable_with_s0: false
#  s0_with_disable: true
#  spinup_ms: 0
#  spindown_ms: 0
#  tool_num: 0
#  speed_map: 0=0.000% 1000=100.000%
#  off_on_alarm: false

# 5V out gpio.26/27
# VMot out gpoi.2/16
# In's left to right gpoi.25/33/32/35/34/39/36

EDIT: Updated the config.yaml above to the one that I got working down below.