LR4 / Jackpot / FluidNC Z Depth Increasing and Cutting Too Deep

I have a LowRider 4 with what I believe is a Jackpot 1 controller, purchased from V1 Engineering.

I am having an issue where, as the machine runs the G-code, the Z depth seems to increase significantly, or the machine keeps cutting deeper than programmed. On one pocket, it cut almost 1/4" deeper than what was programmed and went into my spoilboard.

I am using Vectric VCarve Pro 12 and generating G-code using the GRBL post processor (all measurements are in MM no Inch). The design and pocket depths look correct in VCarve. I have double- and triple-checked the pocket depths, and everything appears accurate in the CAD/CAM file.

To test the machine itself, I ran some test moves using the jog controls in FluidNC, zeroing Z at the top of the material.

Using FluidNC jog commands:

  • Commanded Z move: 10 mm

  • Actual Z cut depth measured: 9.75 mm

  • Commanded X move: 10 mm

  • Actual X movement measured: 16.10 mm

I repeated this test 5 times and got the same results. I forgot to run a Y-axis test, but I can do that next.

I am running the default FluidNC speeds/settings and using a 1/4" two-flute downcut spiral end mill.

The final depth of the pocket is supposed to be 18.26 mm, or 23/32” but the actual final depth is ending up around 25.5 mm to 26 mm. I also checked a few half-depth pockets, and they have varying final depths as well.

The plywood material has been leveled to the Z-axis zero along the X-axis because my spoilboard has not been surfaced yet by the CNC.

Does this sound like a steps/mm calibration issue, a FluidNC config issue, a post-processor issue, or something mechanical like slipping belts/pulleys? Since my X movement is way off compared to the commanded jog distance, I am wondering if my machine configuration is incorrect.

Any advice on what settings or tests I should check first would be appreciated.

For the Z issue, I would lubricate the lead screws and make sure the grub screws are tight. Also, what feedrates are you using.

Also, plunging 10mm with a downcut bit at one shot sounds like a recipe for problems.

1 Like

If you have a significant variance in your spoilboard heights, your depths are going to vary that same amount, (with your reference being the leveled z axis at the position you did it)

Z speeds you have 2: z rapids (are controlled by your fluidnc settings/firmware) and your plunge speed. With a downcut w/foo tast plunge you are asking for issues.

I would: check grubscrews/grease, z rapids and z plunge.

Do a spoilboard surfacing to/ its a must for pockets

That X is way off… If your numbers are accurate, I would suspect a config yaml issue.

For the Z… .25mm is hard to measure. Try moving a longer distance to verify accuracy. I expect your config is ok there.

I use VCarve and the GRBL mm post processor and get accurate cuts. I would not suspect an issue with that.

What size GT2 pulley is on your Y and Z stepper motors?

This particular issue sounds like you have the wrong size pulleys.

using the grease that comes with the kit , i find that it attracts a lot of dust on my right screw only ?and when going down it binds / chatters, is this common i only put a small dab of grease on

16 tooth 10mm on xand y

I took your advice and did some longer measurements at 10, 50, 100, 200 mm on both X and Y axis and the have an additional 6mm on both axis. 10=16,50=56, ect.

I’m assuming this would be an easy correction in the config? But not sure how..

I’m not able to find the rapid Z in Z Plunge in the config is that the location to find it? I am double checking the lead grub screw and will report back

That is not be correctable with Steps/MM.
that’s a static 6mm offset. Something else is wrong.

Double checking the grip screws and lubricant will report back on this as far as speed rates on my Z is a 100 mm minimum, steps at 200mm per sec. and a Max1200.. ouch didn’t know that.

I agree… That is strange. Can you attach your config.yaml so we can see if anything is off there?

board: Jackpot TMC2209
name: LowRider
meta: 11-29-2023 RyanZ

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: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 1220
    soft_limits: false
    homing:
      cycle: 3
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 1500.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #X
    motor0:
      limit_neg_pin: gpio.25:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 39.000
      tmc_2209:
        uart_num: 1
        addr: 0
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        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: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 2440
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 1500.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: 136.000
      tmc_2209:
        uart_num: 1
        addr: 1
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        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

    #A
    motor1:
      limit_neg_pin: gpio.35:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 137
      tmc_2209:
        uart_num: 1
        addr: 3
        cs_pin: i2so.14
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        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.13
        direction_pin: I2SO.12
        disable_pin: I2SO.15

  z:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 1200.000
    acceleration_mm_per_sec2: 80.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 1
      positive_direction: true
      mpos_mm: 0
      feed_mm_per_min: 800.000
      seek_mm_per_min: 800.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: gpio.32:high
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 2
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        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.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8

     #B
    motor1:
      limit_neg_pin: NO_PIN
      limit_pos_pin: gpio.34:high
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 3
        cs_pin: i2so.19
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        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.18
        direction_pin: I2SO.17
        disable_pin: I2SO.16

#  c:
#    steps_per_mm: 80.000
#    max_rate_mm_per_min: 5000.000
#    acceleration_mm_per_sec2: 100.000
#    max_travel_mm: 300.000
#    soft_limits: false
#    homing:
#      cycle: 0
#      positive_direction: true
#      mpos_mm: 150.000
#      feed_mm_per_min: 100.000
#      seek_mm_per_min: 800.000
#      settle_ms: 500
#      seek_scaler: 1.100
#      feed_scaler: 1.100
#
#    motor0:
#      limit_neg_pin: gpio.39:low
#      limit_pos_pin: NO_PIN
#      limit_all_pin: NO_PIN
#      hard_limits: false
#      pulloff_mm: 3.000
#      tmc_2209:
#        uart_num: 1
#        addr: 3
#        cs_pin: i2so.22
#        r_sense_ohms: 0.110
#        run_amps: .1
#        hold_amps: 0.050
#        microsteps: 16
#        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.21
#        direction_pin: I2SO.20
#        disable_pin: I2SO.23

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: gpio.27
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

#Laser:
#  pwm_hz: 5000
#  output_pin: gpio.27
#  enable_pin: NO_PIN
#  disable_with_s0: false
#  s0_with_disable: true
#  tool_num: 0
#  speed_map: 0=0.000% 255=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

Your steps per mm and micro stepping for X and Y look correct. I see you have a configuration for the “C” motor. Do you have six steppers connected? I don’t think this is causing your issues, it is just that motor is configured and has different values.

This still does not explain the extra 6mm movement you are seeing. How are you commanding those moves? I think you said FluidNC Jog command. Are you using the terminal? Web UI?

Use the preformatted text style from the editor toolbar or your text will be unreadable.

it looks like this on the forum editor ribbon: </>

No "C” motor or 6th motor, web UI tablet mode and same result in the dashboard mode controls. also i’m on version 3.9.9 if that makes a difference.

thanks for that! never knew about that. i corrected.. i think lol

Grub screws are all secured and lightly lubricated.

Other than the larger than usual pulloff_mm for X and Y, I don’t see anything that stands out in the config.

I am at a loss to explain the 6mm movement discrepancy.