Skip to content

Instantly share code, notes, and snippets.

@arthurwolf
Created November 3, 2018 08:44
Show Gist options
  • Save arthurwolf/fa21e0e7bd66bdcf18643d7b4f24fed1 to your computer and use it in GitHub Desktop.
Save arthurwolf/fa21e0e7bd66bdcf18643d7b4f24fed1 to your computer and use it in GitHub Desktop.
# Smoothieboard configuration file, see http://smoothieware.org/configuring-smoothie
# 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 4000 # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate 4000 # Default speed (mm/minute) for G0 moves
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
# See http://smoothieware.org/stepper-motors
alpha_steps_per_mm 320 # Steps per mm for alpha ( X ) stepper
beta_steps_per_mm 320 # Steps per mm for beta ( Y ) stepper
gamma_steps_per_mm 3200 # Steps per mm for gamma ( Z ) stepper
arm_solution cartesian #
# Planner module configuration : Look-ahead and acceleration configuration
# See http://smoothieware.org/motion-control
planner_queue_size 32 #
acceleration 1000 # 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.01 # See http://smoothieware.org/motion-control#junction-deviation
z_junction_deviation 0 # For Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA
#alpha_acceleration 1000 #
#beta_acceleration 2000 #
# Cartesian axis speed limits
x_axis_max_speed 30000 # Maximum speed in mm/min
y_axis_max_speed 30000 # Maximum speed in mm/min
z_axis_max_speed 300 # Maximum speed in mm/min
# Stepper module configuration
# Pins are defined as ports, and pin numbers, appending "!" to the number will invert a pin
# See http://smoothieware.org/pin-configuration and http://smoothieware.org/pinout
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.6 # X stepper motor current
alpha_max_rate 30000.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.35 # Y stepper motor current
beta_max_rate 30000.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.2 # Z stepper motor current
gamma_max_rate 300.0 # Maximum rate in mm/min
## Extruder module configuration
# See http://smoothieware.org/extruder
extruder.hotend.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend.steps_per_mm 1390 # 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 mm/sec²
extruder.hotend.max_speed 50 # Maximum speed in mm/s
extruder.hotend.step_pin 2.3 # Pin for extruder step signal
extruder.hotend.dir_pin 0.22 # Pin for extruder dir signal ( add '!' to reverse direction )
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 # Z-lift on retract in mm, 0 disables
extruder.hotend.retract_zlift_feedrate 6000 # Z-lift feedrate in mm/min (Note mm/min NOT mm/sec)
delta_current 0.9 # First extruder stepper motor current
# Second extruder module configuration
extruder.hotend2.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend2.steps_per_mm 1390 # 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 ( add '!' to reverse direction )
extruder.hotend2.en_pin 4.29 # Pin for extruder enable signal
extruder.hotend2.x_offset -24 # x offset from origin in mm
extruder.hotend2.y_offset 0 # y offset from origin in mm
extruder.hotend2.z_offset 0 # z offset from origin in mm
epsilon_current 0.9 # Second extruder stepper motor current
## Temperature control configuration
# See http://smoothieware.org/temperaturecontrol
# First hotend configuration
temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all.
temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater, set to nc if a readonly thermistor is being defined
temperature_control.hotend.sensor max31855 #
temperature_control.hotend.chip_select_pin 0.16 #
temperature_control.hotend.spi_channel 0 #
temperature_control.hotend.readings_per_second 9 #
#temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read
#temperature_control.hotend.r0 100000 #
##temperature_control.hotend.thermistor EPCOS100K # See http://smoothieware.org/temperaturecontrol#toc5
temperature_control.hotend.set_m_code 104 # M-code to set the temperature for this module
temperature_control.hotend.set_and_wait_m_code 109 # M-code to set-and-wait for this module
temperature_control.hotend.designator T0 # Designator letter for this module
temperature_control.hotend.max_temp 510 # Set maximum temperature - Will prevent heating above 300 by default
#temperature_control.hotend.min_temp 0 # Set minimum temperature - Will prevent heating below if set
# Safety control is enabled by default and can be overidden here, the values show the defaults
# See http://smoothieware.org/temperaturecontrol#runaway
temperature_control.hotend.runaway_heating_timeout 0 # How long it can take to heat up, max is 2040 seconds.
temperature_control.hotend.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds
temperature_control.hotend.runaway_range 0 # How far from the set temperature it can wander, max setting is 63°C
# PID configuration
# See http://smoothieware.org/temperaturecontrol#pid
temperature_control.hotend.p_factor 44.5 # P ( proportional ) factor
temperature_control.hotend.i_factor 4.407 # I ( integral ) factor
temperature_control.hotend.d_factor 112 # D ( derivative ) factor
temperature_control.hotend.max_pwm 255 # Max pwm, 64 is a good value if driving a 12v resistor with 24v.
Second hotend configuration
temperature_control.hotend2.enable true # Whether to activate this ( "hotend" ) module at all.
temperature_control.hotend2.heater_pin 2.5 # Pin that controls the heater
temperature_control.hotend2.sensor ad8495 #
temperature_control.hotend2.ad8495_pin 1.30 #
temperature_control.hotend2.ad8495_offset 250 #
#temperature_control.hotend2.thermistor_pin 0.25 # Pin for the thermistor to read
#temperature_control.hotend2.r0 100000 #
##temperature_control.hotend2.thermistor EPCOS100K # See http://smoothieware.org/temperaturecontrol#thermistor
temperature_control.hotend2.set_m_code 104 # M-code to set the temperature for this module
temperature_control.hotend2.set_and_wait_m_code 109 # M-code to set-and-wait for this module
temperature_control.hotend2.designator T1 # Designator letter for this module
temperature_control.hotend2.max_temp 410 # Set maximum temperature - Will prevent heating above 300 by default
#temperature_control.hotend2.min_temp 0 # Set minimum temperature - Will prevent heating below if set
temperature_control.hotend2.runaway_heating_timeout 0 # How long it can take to heat up, max is 2040 seconds.
temperature_control.hotend2.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds
temperature_control.hotend2.runaway_range 20 # How far from the set temperature it can wander, max setting is 63°C
temperature_control.hotend2.p_factor 44.5 # P ( proportional ) factor
temperature_control.hotend2.i_factor 4.407 # I ( integral ) factor
temperature_control.hotend2.d_factor 112 # D ( derivative ) factor
temperature_control.hotend2.max_pwm 255 # Max pwm, 64 is a good value if driving a 12v resistor with 24v.
temperature_control.bed.enable true # Whether to activate this ( "hotend" ) module at all.
temperature_control.bed.sensor thermistor #
temperature_control.bed.thermistor_pin 0.24 # Pin for the thermistor to read
temperature_control.bed.heater_pin 3.25 # Pin that controls the heater
temperature_control.bed.pwm_frequency 40 #
temperature_control.bed.r0 100000 #
#temperature_control.bed.thermistor EPCOS100K # See http://smoothieware.org/temperaturecontrol#thermistor
temperature_control.bed.set_m_code 140 # M-code to set the temperature for this module
temperature_control.bed.set_and_wait_m_code 190 # M-code to set-and-wait for this module
temperature_control.bed.designator B # Designator letter for this module
temperature_control.bed.runaway_heating_timeout 0 # How long it can take to heat up, max is 2040 seconds.
temperature_control.bed.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds
temperature_control.bed.runaway_range 20 # How far from the set temperature it can wander, max setting is 63°C
temperature_control.bed.p_factor 170.9 #
temperature_control.bed.i_factor 6.940 #
temperature_control.bed.d_factor 1052 #
temperature_control.dehy.enable true # Whether to activate this ( "hotend" ) module at all.
temperature_control.dehy.sensor thermistor #
temperature_control.dehy.thermistor_pin 0.26 # Pin for the thermistor to read
temperature_control.dehy.heater_pin 1.23 # Pin that controls the heater
temperature_control.dehy.r0 100000 #
#temperature_control.dehy.thermistor EPCOS100K # See http://smoothieware.org/temperaturecontrol#thermistor
temperature_control.dehy.set_m_code 141 # M-code to set the temperature for this module
temperature_control.dehy.set_and_wait_m_code 191 # M-code to set-and-wait for this module
temperature_control.dehy.designator D # Designator letter for this module
temperature_control.dehy.runaway_heating_timeout 0 # How long it can take to heat up, max is 2040 seconds.
temperature_control.dehy.runaway_cooling_timeout 0 # How long it can take to cool down if temp is set lower, max is 2040 seconds
temperature_control.dehy.runaway_range 20 # How far from the set temperature it can wander, max setting is 63°C
temperature_control.dehy.p_factor 170.9 #
temperature_control.dehy.i_factor 6.940 #
temperature_control.dehy.d_factor 1052 #
temperature_control.heatsink.enable true # Whether to activate this ( "hotend" ) module at all.
temperature_control.heatsink.sensor thermistor #
temperature_control.heatsink.thermistor_pin 0.23 # Pin for the thermistor to read
temperature_control.heatsink.heater_pin nc # Pin that controls the heater
#temperature_control.heatsink.thermistor EPCOS100K # See http://smoothieware.org/temperaturecontrol#thermistor
temperature_control.heatsink.r0 100000 #
temperature_control.heatsink.designator H # Designator letter for this module
temperature_control.heatsink2.enable true # Whether to activate this ( "hotend" ) module at all.
temperature_control.heatsink2.sensor thermistor #
temperature_control.heatsink2.thermistor_pin 0.25 # Pin for the thermistor to read
temperature_control.heatsink2.heater_pin nc # Pin that controls the heater
#temperature_control.heatsink2.thermistor EPCOS100K # See http://smoothieware.org/temperaturecontrol#thermistor
temperature_control.heatsink2.r0 100000 #
temperature_control.heatsink2.designator H1 # Designator letter for this module
## Switch modules
# See http://smoothieware.org/switch
# 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 1.22 # 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 M106 # Command that will turn this switch on
switch.misc.input_off_command M107 # Command that will turn this switch off
switch.misc.subcode 1 #
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
switch.misc.startup_state false #
after_suspend_gcode G91_G0E-5_G0Z10_G90_G0X5Y5_M104_S0 # Gcode to run after suspend, retract then get head out of way
before_resume_gcode G91_G1E1_G90 # Gcode to run after temp is reached but before resume - do a prime
leave_heaters_on_suspend true #
switch.ext1Fan.enable true #
switch.ext1Fan.input_pin 0.21! #
switch.ext1Fan.input_on_command M106 # Command that will turn this switch on
switch.ext1Fan.input_off_command M107 # Command that will turn this switch off
switch.ext1Fan.subcode 5 #
switch.ext1Fan.output_pin 2.6 # Pin this module controls
switch.ext1Fan.output_type digital #
switch.ext1Fan.startup_state false #
switch.DehyFan.enable true #
switch.DehyFan.input_on_command M106 # Command that will turn this switch on
switch.DehyFan.input_off_command M107 # Command that will turn this switch off
switch.DehyFan.subcode 6 #
switch.DehyFan.output_pin 2.11 # Pin this module controls
switch.DehyFan.output_type digital #
switch.DehyFan.startup_state false #
## Temperatureswitch
# See http://smoothieware.org/temperatureswitch
# 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 T0 #
temperatureswitch.hotend.switch misc #
temperatureswitch.hotend.threshold_temp 60.0 #
temperatureswitch.hotend.heatup_poll 15 #
temperatureswitch.hotend.cooldown_poll 60 #
temperatureswitch.hotend2.enable true #
temperatureswitch.hotend2.designator T1 #
temperatureswitch.hotend2.switch misc #
temperatureswitch.hotend2.threshold_temp 60.0 #
temperatureswitch.hotend2.heatup_poll 15 #
temperatureswitch.hotend2.cooldown_poll 60 ##
temperatureswitch.heatsink.enable true #
temperatureswitch.heatsink.designator H #
temperatureswitch.heatsink.switch suspend #
temperatureswitch.heatsink.threshold_temp 75.0 #
temperatureswitch.heatsink.heatup_poll 15 #
temperatureswitch.heatsink.cooldown_poll 60 #
temperatureswitch.heatsink2.enable true #
temperatureswitch.heatsink2.designator H1 #
temperatureswitch.heatsink2.switch suspend #
temperatureswitch.heatsink2.threshold_temp 75.0 #
temperatureswitch.heatsink2.heatup_poll 15 #
temperatureswitch.heatsink2.cooldown_poll 60 #
temperatureswitch.DFan.enable true #
temperatureswitch.DFan.designator D #
temperatureswitch.DFan.switch DehyFan #
temperatureswitch.DFan.threshold_temp 50 #
temperatureswitch.DFan.heatup_poll 15 #
temperatureswitch.DFan.cooldown_poll 60 #
## Endstops
# See http://smoothieware.org/endstops
endstops_enable true # The endstop module is enabled by default and can be disabled here
alpha_min_endstop 1.24^ # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#alpha_max_endstop nc # 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 522 # This gets loaded as the current position after homing when home_to_max is set
#beta_min_endstop nc # 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_max # 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 325 # 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 nc # 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 440 # This gets loaded as the current position after homing when home_to_max is set
#alpha_max_travel 550 # Max travel in mm for alpha/X axis when homing
#beta_max_travel 500 # Max travel in mm for beta/Y axis when homing
#gamma_max_travel 500 # Max travel in mm for gamma/Z axis when homing
# 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 40 # Alpha/X fast homing feedrate in mm/second
alpha_slow_homing_rate_mm_s 15 # Alpha/X slow homing feedrate in mm/second
beta_fast_homing_rate_mm_s 40 # Beta/Y fast homing feedrate in mm/second
beta_slow_homing_rate_mm_s 15 # Beta/Y slow homing feedrate in mm/second
gamma_fast_homing_rate_mm_s 5 # 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 7 # Distance to retract from the endstop after it is hit for alpha/X
beta_homing_retract_mm 7 # Distance to retract from the endstop after it is hit for beta/Y
gamma_homing_retract_mm 15 # Distance to retract from the endstop after it is hit for gamma/Z
# Optional enable limit switches, actions will stop if any enabled limit switch is triggered (all are set for delta)
#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
# 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 false # 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 true # 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
# Filament Sensors
#filament_detector.enable true #
#filament_detector.encoder_pin 1.25 #
#filament_detector.seconds_per_check 2 #
#filament_detector.pulses_per_mm 0.56 #
switch.filamentoutL.enable true #
switch.filamentoutL.input_pin 1.25! #
switch.filamentoutL.output_on_command suspend #
## Network settings
# See http://smoothieware.org/network
network.enable false # Enable the ethernet network services
network.webserver.enable false # Enable the webserver
network.telnet.enable false # 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.20.222 # The IP address
#network.ip_mask 255.255.255.0 # The ip mask
#network.ip_gateway 192.168.20.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
## 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 250000 # Baud rate for the default hardware ( UART ) serial port
second_usb_serial_enable true # 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
# See http://smoothieware.org/killbutton
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), see http://smoothieware.org/troubleshooting#disable-msd
#dfu_enable false # For linux developers, set to true to enable DFU
# Only needed on a smoothieboard
# See http://smoothieware.org/currentcontrol
currentcontrol_module_enable true # Control stepper motor current via the configuration file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment