Firstly I would like to note that I am using an MKS board and I AM fully aware that they are cancer to the community. I only have an MKS board as it was the only one in stock when my old ramps board died and I needed to get the printer up and running ASAP. I do intend on getting a genuine smoothieboard in the near future.
I'm having an issue where my BLTouch is mounted in a stack inline with the hotend (directly in front of it). In this case, the probe at 0,0 is off the bed as the nozzle is at 0,0 but the probe is more like at 0,-10.
Iv been setting offsets and changing settings in the config and resetting the override file but anytime I use any probe gcode (G29, G30, G31, G32) it will always probe off the bed and crash unless I move the hotend over enough and use a G30 but that doesn't allow me to use G32 with auto-compensation.
Iv tried setting the first point to be where I need it and I still can't get it to probe there. It always will just home XY and then try to probe. Also not sure but when I set up the BLTouch you're told to use it as a probe and an end stop, should I not have the end stop configured if I'm using the BLTouch for Z height?
Again I'm going to change away from MKS board so please be polite I am aware of what they do to the community.
My config:
[[code]]
#Hypercube
#
#
- NOTE Lines must not exceed 132 characters
- Robot module configurations : general handling of movement G-codes and slicing into moves
default_feed_rate 18000 # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate 18000 # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for
# these segments. Smaller values mean more resolution,
# higher values mean faster computation
mm_per_line_segment 5 # Lines can be cut into segments ( not usefull with cartesian
# coordinates robots ).
- Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
alpha_steps_per_mm 160 # Steps per mm for alpha stepper
beta_steps_per_mm 160 # Steps per mm for beta stepper
gamma_steps_per_mm 800 # Steps per mm for gamma stepper
arm_solution corexy
- Planner module configuration : Look-ahead and acceleration configuration
planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
acceleration 600 # Acceleration in mm/second/second.
z_acceleration 100 # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA
acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
junction_deviation 0.02 # Similar to the old "max_jerk", in millimeters,
# see
# Lower values mean being more careful, higher values means being
# faster and have more jerk
#z_junction_deviation 0.0 # for Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA
#minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
- Stepper module configuration
microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement
- Cartesian axis speed limits
x_axis_max_speed 18000 # mm/min
y_axis_max_speed 18000 # mm/min
z_axis_max_speed 600 # mm/min
- Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
alpha_step_pin 2.0 # Pin for alpha stepper step signal
alpha_dir_pin 0.5! # Pin for alpha stepper direction
alpha_en_pin 0.4 # Pin for alpha enable pin
alpha_current 0.8 # X stepper motor current
alpha_max_rate 18000 # mm/min
beta_step_pin 2.1 # Pin for beta stepper step signal
beta_dir_pin 0.11! # Pin for beta stepper direction
beta_en_pin 0.10 # Pin for beta enable
beta_current 0.8 # Y stepper motor current
beta_max_rate 18000 # mm/min
gamma_step_pin 2.2 # Pin for gamma stepper step signal
gamma_dir_pin 0.20! # Pin for gamma stepper direction
gamma_en_pin 0.19 # Pin for gamma enable
gamma_current 1.2 # Z stepper motor current
gamma_max_rate 120.0 # mm/min
- Serial communications configuration ( baud rate default to 9600 if undefined )
uart0.baud_rate 115200 # Baud rate for the default hardware serial port
second_usb_serial_enable true # This enables a second usb serial port (to have both pronterface
# and a terminal connected)
#leds_disable true # disable using leds after config loaded
#play_led_disable true # disable the play led
pause_button_enable true # Pause button enable
#pause_button_pin 2.12 # pause button pin. default is P2.12
#kill_button_enable false # set to true to enable a kill button
#kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)
#msd_disable false # disable the MSD (USB SDCARD) when set to true (needs special binary)
#dfu_enable false # for linux developers, set to true to enable DFU
- Extruder module configuration
extruder.hotend.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend.steps_per_mm 873.2 # Steps per mm for extruder stepper
extruder.hotend.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder.hotend.max_speed 100 # mm/s
extruder.hotend.step_pin 2.3 # Pin for extruder step signal
extruder.hotend.dir_pin 0.22! # Pin for extruder dir signal
extruder.hotend.en_pin 0.21 # Pin for extruder enable signal
- extruder offset
#extruder.hotend.x_offset 0 # x offset from origin in mm
#extruder.hotend.y_offset 0 # y offset from origin in mm
#extruder.hotend.z_offset 0 # z offset from origin in mm
- firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults
extruder.hotend.retract_length 3 # retract length in mm
extruder.hotend.retract_feedrate 45 # retract feedrate in mm/sec
#extruder.hotend.retract_recover_length 0 # additional length for recover
#extruder.hotend.retract_recover_feedrate 8 # recover feedrate in mm/sec (should be less than retract feedrate)
#extruder.hotend.retract_zlift_length 0 # zlift on retract in mm, 0 disables
#extruder.hotend.retract_zlift_feedrate 6000 # zlift feedrate in mm/min (Note mm/min NOT mm/sec)
delta_current 1.5 # First extruder stepper motor current
- Second extruder module configuration
#extruder.hotend2.enable false # Whether to activate the extruder module at all. All configuration is ignored if false
#extruder.hotend2.steps_per_mm 140 # Steps per mm for extruder stepper
#extruder.hotend2.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
#extruder.hotend2.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
#extruder.hotend2.max_speed 50 # mm/s
#extruder.hotend2.step_pin 2.8 # Pin for extruder step signal
#extruder.hotend2.dir_pin 2.13 # Pin for extruder dir signal
#extruder.hotend2.en_pin 4.29 # Pin for extruder enable signal
#extruder.hotend2.x_offset 0 # x offset from origin in mm
#extruder.hotend2.y_offset 25.0 # y offset from origin in mm
#extruder.hotend2.z_offset 0 # z offset from origin in mm
#epsilon_current 1.5 # Second extruder stepper motor current
- Laser module configuration
laser_module_enable false # Whether to activate the laser module at all. All configuration is
# ignored if false.
#laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26
# can be used since laser requires hardware PWM
#laser_module_max_power 0.8 # this is the maximum duty cycle that will be applied to the laser
#laser_module_tickle_power 0.0 # this duty cycle will be used for travel moves to keep the laser
# active without actually burning
#laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
- Hotend temperature control configuration
temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all.
# All configuration is ignored if false.
temperature_control.hotend.thermistor_pin 0.26 # Pin for the thermistor to read
temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater, set to nc if a readonly thermistor is being defined 2.7
temperature_control.hotend.thermistor Semitec # see
#temperature_control.hotend.beta 4267 # or set the beta value
temperature_control.hotend.set_m_code 104 #
temperature_control.hotend.set_and_wait_m_code 109 #
temperature_control.hotend.designator T #
temperature_control.module_name.runaway_heating_timeout 120 # max is 2040 seconds
#temperature_control.module_name.runaway_cooling_timeout 0 # max timeout for cooling down to a lower temperature default is disabled
temperature_control.module_name.runaway_range 50 # Max setting is 63°C
#temperature_control.hotend.p_factor 34.8523 # permanently set the PID values after an auto pid
#temperature_control.hotend.i_factor 1.7624 #
#temperature_control.hotend.d_factor 172.3012 #
#temperature_control.hotend.max_pwm 255 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
- Hotend2 temperature control configuration
#temperature_control.hotend2.enable true # Whether to activate this ( "hotend" ) module at all.
# All configuration is ignored if false.
#temperature_control.hotend2.thermistor_pin 0.25 # Pin for the thermistor to read
#temperature_control.hotend2.heater_pin 1.23 # Pin that controls the heater
#temperature_control.hotend2.thermistor RRRF100K # see
##temperature_control.hotend2.beta 4066 # or set the beta value
#temperature_control.hotend2.set_m_code 884 #
#temperature_control.hotend2.set_and_wait_m_code 889 #
#temperature_control.hotend2.designator T1 #
#temperature_control.hotend2.p_factor 13.7 # permanently set the PID values after an auto pid
#temperature_control.hotend2.i_factor 0.097 #
#temperature_control.hotend2.d_factor 24 #
#temperature_control.hotend2.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
temperature_control.bed.enable true #
temperature_control.bed.thermistor_pin 0.23 #
temperature_control.bed.heater_pin 2.5 # 2.5
temperature_control.bed.thermistor EPCOS100K # see
#temperature_control.bed.beta 3960 # or set the beta value
temperature_control.bed.set_m_code 140 #
temperature_control.bed.set_and_wait_m_code 190 #
temperature_control.bed.designator B #
#temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID
#temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis
# when using bang bang
- Switch module for fan control
switch.fan.enable true #
switch.fan.input_on_command M106 #
switch.fan.input_off_command M107 #
switch.fan.output_pin 2.4 #
switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand
#switch.fan.max_pwm 255 # set max pwm for the pin default is 255
#switch.misc.enable true #
#switch.misc.input_on_command M42 #
#switch.misc.input_off_command M43 #
#switch.misc.output_pin 2.4 #
#switch.misc.output_type digital # just an on or off pin
- automatically toggle a switch at a specified temperature. Different ones of these may be defined to monitor different temperatures and switch different swithxes
- useful to turn on a fan or water pump to cool the hotend
#temperatureswitch.hotend.enable true #
#temperatureswitch.hotend.designator T # first character of the temperature control designator to use as the temperature sensor to monitor
#temperatureswitch.hotend.switch misc # select which switch to use, matches the name of the defined switch
#temperatureswitch.hotend.threshold_temp 60.0 # temperature to turn on (if rising) or off the switch
#temperatureswitch.hotend.heatup_poll 15 # poll heatup at 15 sec intervals
#temperatureswitch.hotend.cooldown_poll 60 # poll cooldown at 60 sec intervals
- Switch module for spindle control
#switch.spindle.enable false #
- Endstops
endstops_enable true # the endstop module is enabled by default and can be disabled here
corexy_homing true # set to true if homing on a hbit or corexy
alpha_min_endstop 1.24^! # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop nc # NOTE set to nc if this is not installed
alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
alpha_min 0 # this gets loaded after homing when home_to_min is set
alpha_max 200 # this gets loaded after homing when home_to_max is set
beta_min_endstop 1.26^! #
beta_max_endstop nc #
beta_homing_direction home_to_min #
beta_min 0 #
beta_max 100 #
gamma_min_endstop 1.22 #
gamma_max_endstop nc #
gamma_homing_direction home_to_min #
gamma_min 0 #
gamma_max 100 #
- optional order in which axis will home, default is they all home at the same time,
- if this is set it will force each axis to home one at a time in the specified order
#homing_order XYZ # x axis followed by y then z last
- optional enable limit switches, actions will stop if any enabled limit switch is triggered
#alpha_limit_enable false # set to true to enable X min and max limit switches
#beta_limit_enable false # set to true to enable Y min and max limit switches
#gamma_limit_enable false # set to true to enable Z min and max limit switches
alpha_fast_homing_rate_mm_s 50 # feedrates in mm/second
beta_fast_homing_rate_mm_s 50 # "
gamma_fast_homing_rate_mm_s 4 # "
alpha_slow_homing_rate_mm_s 25 # "
beta_slow_homing_rate_mm_s 25 # "
gamma_slow_homing_rate_mm_s 2 # "
alpha_homing_retract_mm 5 # distance in mm
beta_homing_retract_mm 5 # "
gamma_homing_retract_mm 1 # "
#endstop_debounce_count 100 # uncomment if you get noise on your endstops, default is 100
- Switch module for servo control
switch.servo.enable true # Enable this module
switch.servo.input_on_command M280 # M280 S7.5 would be midway
switch.servo.input_off_command M281 # Same as M280 S0 0% duty cycle, effectively off
switch.servo.output_pin 1.23 # Must be a PWM capable pin
switch.servo.output_type hwpwm # H/W pwm output settable with S parameter in the input_on_comand
#switch.servo.pwm_period_ms 20 # set period to 20ms (50Hz) default is 50Hz
- optional Z probe
zprobe.enable true # set to true to enable a zprobe
zprobe.probe_pin 1.22 # pin probe is attached to if NC remove the !
zprobe.slow_feedrate 5 # mm/sec probe feed rate
#zprobe.debounce_count 100 # set if noisy
zprobe.fast_feedrate 100 # move feedrate mm/sec
zprobe.probe_height 5 # how much above bed to start probe
#gamma_min_endstop nc # normally 1.28. Change to nc to prevent conflict,
leveling-strategy.rectangular-grid.enable true # The strategy must be enabled in the config, as well as the zprobe module.
leveling-strategy.rectangular-grid.x_size 180 # size of bed in the X axis
leveling-strategy.rectangular-grid.y_size 190 # size of bed in the Y axis
leveling-strategy.rectangular-grid.size 4 # The size of the grid, for example, 7 causes a 7x7 grid with 49 points.
# Must be an odd number.
leveling-strategy.rectangular-grid.probe_offsets 10,20,0 # Optional probe offsets from the nozzle or tool head
leveling-strategy.rectangular-grid.save false # If the saved grid is to be loaded on boot then this must be set to true
leveling-strategy.rectangular-grid.initial_height 10 # Optionally an initial_height can be set that tell the intial probe
# where to stop the fast decent before it probes, this should be
# around 5-10mm above the bed
- Panel
panel.enable false # set to true to enable the panel code
#panel.lcd smoothiepanel # set type of panel
#panel.encoder_a_pin 3.25!^ # encoder pin
#panel.encoder_b_pin 3.26!^ # encoder pin
- Example for reprap discount GLCD
- on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
- +5v is EXP1 pin 10, Gnd is EXP1 pin 9
panel.lcd reprap_discwount_glcd #
panel.spi_channel 0 # spi channel to use ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
panel.spi_cs_pin 0.16 # spi chip select ; GLCD EXP1 Pin 4
panel.encoder_a_pin 3.25!^ # encoder pin ; GLCD EXP2 Pin 3
panel.encoder_b_pin 3.26!^ # encoder pin ; GLCD EXP2 Pin 5
panel.click_button_pin 1.30!^ # click button ; GLCD EXP1 Pin 2
panel.buzz_pin 1.31 # pin for buzzer ; GLCD EXP1 Pin 1
panel.back_button_pin 2.11!^ # back button ; GLCD EXP2 Pin 8
panel.external_sd true # set to true if there is an extrernal sdcard on the panel
panel.external_sd.spi_channel 1 # set spi channel the sdcard is on
panel.external_sd.spi_cs_pin 0.28 # set spi chip select for the sdcard (or any spare pin)
panel.external_sd.sdcd_pin 0.27!^ # sd detect signal (set to nc if no sdcard detect) (or any spare pin)
- pins used with other panels
#panel.up_button_pin 0.1! # up button if used
#panel.down_button_pin 0.0! # down button if used
#panel.click_button_pin 0.18! # click button if used
panel.menu_offset 0 # some panels will need 1 here
panel.alpha_jog_feedrate 6000 # x jogging feedrate in mm/min
panel.beta_jog_feedrate 6000 # y jogging feedrate in mm/min
panel.gamma_jog_feedrate 200 # z jogging feedrate in mm/min
panel.hotend_temperature 200 # temp to set hotend when preheat is selected
panel.bed_temperature 60 # temp to set bed when preheat is selected
- Example of a custom menu entry, which will show up in the Custom entry.
- NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
custom_menu.power_on.enable true #
custom_menu.power_on.name Power_on #
custom_menu.power_on.command M80 #
custom_menu.power_off.enable true #
custom_menu.power_off.name Power_off #
custom_menu.power_off.command M81 #
- Only needed on a smoothieboard
currentcontrol_module_enable true #
return_error_on_unhandled_gcode true #
- network settings
network.enable true # enable the ethernet network services
network.webserver.enable true # enable the webserver
network.telnet.enable true # enable the telnet server
network.ip_address false # use dhcp to get ip address
- uncomment the 3 below to manually setup ip address
network.ip_address 10.0.0.234 # the IP address
network.ip_mask 255.0.0.0 # the ip mask
network.ip_gateway 10.0.0.1 # the gateway address
#network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict
[[/code]]
My Override file:
[[code]]; DO NOT EDIT THIS FILE
;Steps per unit:
M92 X160.00000 Y160.00000 Z800.00000
;Acceleration mm/sec^2:
M204 S600.00000 Z100.00000
;X- Junction Deviation, Z- Z junction deviation, S - Minimum Planner speed mm/sec:
M205 X0.02000 Z-1.00000 S0.00000
;Max cartesian feedrates in mm/sec:
M203 X300.00000 Y300.00000 Z10.00000
;Max actuator feedrates in mm/sec:
M203.1 X300.00000 Y300.00000 Z2.00000
;WCS settings
G54
;Digipot Motor currents:
M907 X0.80000 Y0.80000 Z1.20000 A1.50000
;Home offset (mm):
M206 X0.00 Y0.00 Z0.00
;E Steps per mm:
M92 E873.2000 P57988
;E Filament diameter:
M200 D0.0000 P57988
;E retract length, feedrate:
M207 S3.0000 F2700.0000 Z0.0000 Q6000.0000 P57988
;E retract recover length, feedrate:
M208 S0.0000 F4.0000 P57988
;E acceleration mm/sec²:
M204 E500.0000 P57988
;E max feed rate mm/sec:
M203 E100.0000 P57988
;PID settings:
M301 S0 P34.8523 I1.7624 D172.3012 X255.0000 Y255
;Max temperature setting:
M143 S0 P300.0000
;PID settings:
M301 S1 P10.0000 I0.3000 D200.0000 X255.0000 Y255
;Max temperature setting:
M143 S1 P300.0000
;Probe feedrates Slow/fast(K)/Return (mm/sec) max_z (mm) height (mm):
M670 S5.00 K100.00 R0.00 Z100.00 H5.00
;Probe offsets:
M565 X10.00000 Y20.00000 Z0.00000
[[/code]]