# Smoothieboard configuration file, see
# NOTE Lines must not exceed 132 characters, and '#' characters mean what follows is ignored
## Robot module configurations : general handling of movement G-codes and slicing into moves
Basic motion configuration
default_feed_rate 100 # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate 100 # Default speed (mm/minute) for G0 moves
mm_per_arc_segment 0.0 # Fixed length for line segments that divide arcs, 0 to disable
#mm_per_line_segment 5 # Cut lines into segments this size
mm_max_arc_error 0.01 # The maximum error for line segments that divide arcs 0 to disable
# note it is invalid for both the above be 0
# if both are used, will use largest segment length based on radius
Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
alpha_steps_per_mm 3200 # Steps per mm for alpha ( X ) stepper
beta_steps_per_mm 3200 # Steps per mm for beta ( Y ) stepper
gamma_steps_per_mm 3200 # Steps per mm for gamma ( Z ) stepper
Planner module configuration : Look-ahead and acceleration configuration
acceleration 50 # Acceleration in mm/second/second.
#z_acceleration 500 # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA
junction_deviation 0.05 # See
#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
Cartesian axis speed limits
x_axis_max_speed 100 # Maximum speed in mm/min
y_axis_max_speed 250 # Maximum speed in mm/min
z_axis_max_speed 500 # Maximum speed in mm/min
Stepper module configuration
Pins are defined as 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, add ‘!’ to reverse direction
alpha_en_pin 0.4 # Pin for alpha enable pin
alpha_current 1.0 # X stepper motor current
alpha_max_rate 100.0 # Maximum rate in mm/min
beta_step_pin 2.1 # Pin for beta stepper step signal
beta_dir_pin 0.11! # Pin for beta stepper direction, add ‘!’ to reverse direction
beta_en_pin 0.10 # Pin for beta enable
beta_current 1.0 # Y stepper motor current
beta_max_rate 250.0 # Maxmimum rate in mm/min
gamma_step_pin 2.2 # Pin for gamma stepper step signal
gamma_dir_pin 0.20 # Pin for gamma stepper direction, add ‘!’ to reverse direction
gamma_en_pin 0.19 # Pin for gamma enable
gamma_current 1.0 # Z stepper motor current
gamma_max_rate 500.0 # Maximum rate in mm/min
Switch modules
Switch module for fan control
switch.fan.enable true # Enable this module
switch.fan.input_on_command M106 # Command that will turn this switch on
switch.fan.input_off_command M107 # Command that will turn this switch off
switch.fan.output_pin 2.6 # Pin this module controls
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 # Enable this module
#switch.misc.input_on_command M42 # Command that will turn this switch on
#switch.misc.input_off_command M43 # Command that will turn this switch off
#switch.misc.output_pin 2.4 # Pin this module controls
#switch.misc.output_type digital # Digital means this is just an on or off pin
Endstops
endstops_enable true # The endstop module is enabled by default and can be disabled here
corexy_homing false # Set to true if homing on a hbot or corexy
alpha_min_endstop 1.24!^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#alpha_max_endstop 1.25!^ # Pin to read max endstop, uncomment this and comment the above if using max endstops
alpha_homing_direction home_to_min # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop
alpha_min 0 # This gets loaded as the current position after homing when home_to_min is set
alpha_max 200 # This gets loaded as the current position after homing when home_to_max is set
beta_min_endstop 1.26!^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#beta_max_endstop 1.27^ # Pin to read max endstop, uncomment this and comment the above if using max endstops
beta_homing_direction home_to_min # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop
beta_min 0 # This gets loaded as the current position after homing when home_to_min is set
beta_max 160 # This gets loaded as the current position after homing when home_to_max is set
gamma_min_endstop 1.28!^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#gamma_max_endstop 1.29^ # Pin to read max endstop, uncomment this and comment the above if using max endstops
gamma_homing_direction home_to_min # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop
gamma_min 0 # This gets loaded as the current position after homing when home_to_min is set
gamma_max 80 # This gets loaded as the current position after homing when home_to_max is set
alpha_max_travel 200 # Max travel in mm for alpha/X axis when homing
beta_max_travel 160 # Max travel in mm for beta/Y axis when homing
gamma_max_travel 80 # Max travel in mm for gamma/Z axis when homing
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
Endstops home at their fast feedrate first, then once the endstop is found they home again at their slow feedrate for accuracy
alpha_fast_homing_rate_mm_s 50 # Alpha/X fast homing feedrate in mm/second
alpha_slow_homing_rate_mm_s 25 # Alpha/X slow homing feedrate in mm/second
beta_fast_homing_rate_mm_s 50 # Beta/Y fast homing feedrate in mm/second
beta_slow_homing_rate_mm_s 25 # Beta/Y slow homing feedrate in mm/second
gamma_fast_homing_rate_mm_s 4 # Gamma/Z fast homing feedrate in mm/second
gamma_slow_homing_rate_mm_s 2 # Gamma/Z slow homing feedrate in mm/second
alpha_homing_retract_mm 5 # Distance to retract from the endstop after it is hit for alpha/X
beta_homing_retract_mm 5 # Distance to retract from the endstop after it is hit for beta/Y
gamma_homing_retract_mm 1 # Distance to retract from the endstop after it is hit for gamma/Z
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 YXZ # X axis followed by Y then Z last
move_to_origin_after_home true # Move XY to 0,0 after homing
#endstop_debounce_count 100 # Uncomment if you get noise on your endstops, default is 100
#endstop_debounce_ms 1 # Uncomment if you get noise on your endstops, default is 1 millisecond debounce
home_z_first false # Uncomment and set to true to home the Z first, otherwise Z homes after XY
End of endstop config
Delete the above endstop section and uncomment next line and copy and edit Snippets/abc-endstop.config file to enable endstops for ABC axis
#include abc-endstop.config
Z-probe
zprobe.enable false # Set to true to enable a zprobe
zprobe.probe_pin 1.28!^ # Pin probe is attached to, if NC remove the !
zprobe.slow_feedrate 5 # Mm/sec probe feed rate
#zprobe.debounce_ms 1 # 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,
Levelling strategy
Example for 3-point levelling strategy, see wiki documentation for other strategies
#leveling-strategy.three-point-leveling.enable true # a leveling strategy that probes three points to define a plane and keeps the Z parallel to that plane
#leveling-strategy.three-point-leveling.point1 100.0,0.0 # the first probe point (x,y) optional may be defined with M557
#leveling-strategy.three-point-leveling.point2 200.0,200.0 # the second probe point (x,y)
#leveling-strategy.three-point-leveling.point3 0.0,200.0 # the third probe point (x,y)
#leveling-strategy.three-point-leveling.home_first true # home the XY axis before probing
#leveling-strategy.three-point-leveling.tolerance 0.03 # the probe tolerance in mm, anything less that this will be ignored, default is 0.03mm
#leveling-strategy.three-point-leveling.probe_offsets 0,0,0 # the probe offsets from nozzle, must be x,y,z, default is no offset
#leveling-strategy.three-point-leveling.save_plane false # set to true to allow the bed plane to be saved with M500 default is false
Panel
Please find your panel on the wiki and copy/paste the right configuration here
panel.enable true # Set to true to enable the panel code
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_discount_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.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 185 # Temp to set hotend when preheat is selected
panel.bed_temperature 60 # Temp to set bed when preheat is selected
Custom menus : 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 #
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 auto # Use dhcp to get ip address
Uncomment the 3 below to manually setup ip address
network.ip_address 192.168.xx.xx # The IP address (marked out with x’s when posting to a public forum)
network.ip_mask 255.255.x.x # The ip mask
network.ip_gateway 192.168.xx.xx # The gateway address
#network.mac_override xx.xx.xx.xx.xx.xx # Override the mac address, only do this if you have a conflict
System configuration
Serial communications configuration ( baud rate defaults to 9600 if undefined )
For communication over the UART port, not the USB/Serial port
uart0.baud_rate 115200 # Baud rate for the default hardware ( UART ) serial port
second_usb_serial_enable false # This enables a second USB serial port
#leds_disable true # Disable using leds after config loaded
#play_led_disable true # Disable the play led
Kill button maybe assigned to a different pin, set to the onboard pin by default
kill_button_enable true # 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), see
#dfu_enable false # For linux developers, set to true to enable DFU
Only needed on a smoothieboard