This is a list of most configuration options currently understood by the Smoothie firmware. Some are omitted from this list as they are advanced and not recommended.
If you want more information about a given module, how it works and how to configure it, (and any advanced options that are not in this list) you can refer to that module’s page.
For information on options to settings please refer to here for pull up, pull down, open drain, etc.
Option | Example value | Explanation |
---|---|---|
General motion |
Option | Default Value | Description |
---|---|---|
default_feed_rate |
4000 | Default rate for G1/G2/G3 moves in millimetres/minute. This is overridden by the first F (feedrate) parameter after reset, and never used again. |
default_seek_rate |
4000 | Default rate for G0 moves in millimetres/minute |
mm_max_arc_error |
0.01 | Arcs are cut into segments (lines), This is the maximum error for line segments that divide arcs |
mm_per_line_segment |
5 | Lines can be cut into segments (generally not useful with cartesian coordinates robots), this sets the maximum length of any given segment. Segments longer than this will be cut into several segments. |
delta_segments_per_second |
100 | Instead of cutting lines into segments based on a distance, cut them based on time: segments will be cut so that Smoothie executes -about- delta_segments_per_second segments each second. This is mostly useful when using linear_delta arm solutions. |
planner_queue_size |
32 | Defines how many blocks (line segments) are stored in RAM for look-ahead acceleration calculation. Do not change this unless you know exactly what you are doing, the reason why is increasing the size of the queue makes it take up more RAM space and can result in Smoothie running out of RAM, depending on your configuration and how much the rest of your modules take up space. |
acceleration |
3000 | Acceleration in millimetres/second/second. Higher values make your machine faster and shakier, lower values make your machine slower and sturdier. This is generally proportional to the weight of the tool you are trying to move. |
alpha_acceleration |
Acceleration in millimetres/second/second for the alpha actuator (X axis on cartesian), do not set on deltas | |
beta_acceleration |
Acceleration in millimetres/second/second for the beta actuator (Y axis on cartesian), do not set on deltas | |
gamma_acceleration |
Acceleration in millimetres/second/second for the gamma actuator (Z axis on cartesian), do not set on deltas | |
junction_deviation |
0.05 | Similar to the old “max_jerk”, in millimeters. Defines how much the machine slows down when decelerating proportional to the vector angle of change of direction. See here and here. Lower values mean being more careful, higher values means being faster and have more jerk |
z_junction_deviation |
0 | Junction deviation for Z only moves, -1 uses junction_deviation , 0 disables junction_deviation on z moves. Do not set this value if you use a delta arm solution. |
minimum_planner_speed |
0 | Sets the minimum planner speed in millimetres/sec. This is the lowest speed the planner will ever set a move to. Not generally useful. |
microseconds_per_step_pulse |
1 | Duration of step pulses to the stepper motor drivers, in microseconds. Actual step pulse is generally 2us above this (so 1 will actually be 2-3us). Setting this over about 8us will cause severe issues with step generation |
base_stepping_frequency |
100000 | Base frequency for stepping, higher values gives smoother movement. Do not modify unless you know exactly what you are doing, 100khz is the only officially supported value. |
alpha_steps_per_mm |
80 | Steps per millimetre for alpha stepper motor ( this is the X axis for a cartesian machine ) |
beta_steps_per_mm |
80 | Steps per millimetre for beta stepper motor ( this is the Y axis for a cartesian machine ) |
gamma_steps_per_mm |
1600 | Steps per millimetre for gamma stepper motor ( this is the Z axis for a cartesian machine ) |
arm_solution |
cartesian | Sets the arm solution for this machine. The arm solution converts position in millimetres into actuator positions ( usually in steps ). On cartesian machines those are proportional to each other, but for example on a linear delta machine, some fancy math is required for the conversion. Possible values : cartesian , corexy , linear_delta , rotatable_cartesian , morgan |
arm_length |
100 | In the case of a linear_delta arm solution, this is the length of an arm from hinge to hinge |
arm_radius |
124 | In the case of a linear_delta arm solution, this is the horizontal distance from hinge to hinge when the effector is centered |
alpha_angle |
45 | In the case of a rotatable_cartesian arm solution, angle by which the plane is rotated |
arm1_length |
100 | In the case of a morgan arm solution, length of the first arm |
arm2_length |
100 | In the case of a morgan arm solution, length of the second arm |
morgan_offset_x |
10 | In the case of a morgan arm solution, X offset |
morgan_offset_y |
10 | In the case of a morgan arm solution, Y offset |
axis_scaling_x |
0.8 | In the case of a morgan arm solution, scaling in the X axis |
axis_scaling_y |
0.8 | In the case of a morgan arm solution, scaling in the Y axis |
x_axis_max_speed |
30000 | Maximum allowable speed for the X axis, in millimetres/minute. Smoothie will never exceed that value for that axis. |
y_axis_max_speed |
30000 | Maximum allowable speed for the Y axis, in millimetres/minute. Smoothie will never exceed that value for that axis. |
z_axis_max_speed |
300 | Maximum allowable speed for the Z axis, in millimetres/minute. Smoothie will never exceed that value for that axis. |
save_g92 |
false | set to true to save any G92 offset with M500 (See WCS) |
set_g92 |
0,0,0 | set the G92 offset to x,y,z (See WCS) |
Stepper motors | ||
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 |
1.5 | M1 stepper motor driver current, in Amperes. |
alpha_max_rate |
30000 | Maximum allowable speed for this actuator ( as opposed to axis, they are the same on a cartesian machine, but not on a delta machine for example ), in millimetres/minute. |
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 |
1.5 | M2 stepper motor driver current, in Amperes. |
beta_max_rate |
30000 | Maximum allowable speed for this actuator, in millimetres/minute. |
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.5 | M3 stepper motor driver current, in Amperes. |
gamma_max_rate |
300 | Maximum allowable speed for this actuator , in millimetres/minute. |
Communication | ||
uart0.baud_rate |
115200 | Baud rate for the default hardware serial port ( UART0, labelled “Serial” on the board, close to the USB connector ). Defaults to 9600 if undefined, or if the configuration file can not be read. |
second_usb_serial_enable |
false | This enables a second serial port over the USB connection ( for example to have both Pronterface and a terminal connected) |
Miscellaneous | ||
leds_disable |
true | Disable the 4 flashing LEDs on the board |
play_led_disable |
true | Disable the “play” status LED |
kill_button_enable |
false | Enable the “kill” button |
kill_button_pin |
2.12 |
Pin for the “kill” button |
msd_disable |
false | Disable the MSD ( SD Card access over USB ) when set to true ( requires a special binary, which you can find here, will be ignored without the special binary) |
dfu_enable |
false | For Linux developers, set to true to enable DFU, which allows you to flash new firmwares over USB |
Current control | ||
currentcontrol_module_enable |
true | If set to true, enable digital control of the current settings of the stepper motor drivers. Note : this is dependent on the physical board type, and unless you are designing a new board you shouldn’t have to modify these settings |
digipotchip |
mcp4451 | Select the digipot chip with which to control the current for the stepper motor drivers. Supported chips are mcp4451 and ad5206 |
digipot_max_current |
2 | Maximum current that can be set |
digipot_factor |
113.33 | Factor for converting the current into digipot values |
zeta_current |
1.5 | Current setting for the 6th stepper motor driver current control |
eta_current |
1.5 | Current setting for the 7th stepper motor driver current control |
theta_current |
1.5 | Current setting for the 8th stepper motor driver current control |
Player |
Option | Value | Description |
---|---|---|
on_boot_gcode |
/sd/on_boot.gcode |
G-code file to play when the board boots. This file will automatically be played when the board is done booting up. Useful for example if you want to home your printer when it boots, or do similar tasks. For more information see on_boot.gcode |
on_boot_gcode_enable |
true |
If set to true, play the on_boot_gcode file when the board boots up |
after_suspend_gcode |
G91 G0 E-5 G0 Z10 G90 G0 X-50 Y-50 |
G-code to execute automatically right after the suspend command is received, this is useful if you want to retract, or turn off heaters etc. The _ character gets converted into space |
before_resume_gcode |
G91 G1 E1 G90 |
G-code to execute automatically right after the resume command is received, but before resuming execution. However, NOTE this is generally not needed as the resume will restore the state it was in before the suspend. The _ character gets converted into space |
leave_heaters_on_suspend |
false |
If set to true, heaters are left ON when suspend is received. If set to false, heaters are turned OFF when suspend is received, and then turned back ON when resume is received. |
Extruder |
Parameter | Default | Description |
---|---|---|
extruder.module_name.enable |
true | Whether to activate the extruder module at all. All configuration is ignored if false. Each time an extruder.module_name.enable line is encountered, an extruder module with the name «module_name» will be created. |
extruder.module_name.steps_per_mm |
140 | Steps/millimetre for the extruder stepper motor. This is the number of steps to move one millimetre of filament. Learn more |
extruder.module_name.filament_diameter |
1.74 | Filament diameter, in millimetres, used for volumetric extrusion control. Learn more |
extruder.module_name.default_feed_rate |
600 | Default rate in millimetres/minute for moves where only the extruder moves. This is only used if you have never provided a feedrate via the F parameter. Once you specify a F parameter, it will be used as the Extruder feed rate until you reset the board. |
extruder.module_name.acceleration |
500 | Acceleration for the extruder stepper motor, in millimetres/second/second |
extruder.module_name.max_speed |
50 | Maximum allowable speed for the extruder stepper motor, in millimetres/second |
extruder.module_name.step_pin |
2.3 |
Pin for extruder stepper motor driver’s step signal |
extruder.module_name.dir_pin |
0.22 |
Pin for extruder stepper motor driver’s direction signal |
extruder.module_name.en_pin |
0.21 |
Pin for extruder stepper motor driver’s enable signal |
extruder.module_name.x_offset |
0 | Extruder offset from origin in millimetres for the X axis. ONLY used when you have multiple extruders to specify the offset from each extruder to the first one. |
extruder.module_name.y_offset |
0 | Extruder offset from origin in millimetres for the Y axis. ONLY used for multiple extruders |
extruder.module_name.z_offset |
0 | Extruder offset from origin in millimetres for the Z axis. ONLY used for multiple extruders |
extruder.module_name.retract_length |
3 | Retract length in millimetres. Retract is a retractation of the filament called using the G10 G-code. It is recovered (reverted) using the G11 G-code. Learn more about retractation |
extruder.module_name.retract_feedrate |
45 | Retract feed-rate (filament speed) in millimetres/second |
extruder.module_name.retract_recover_length |
0 | Additional length when recovering (if you retract by 1mm, you will be recovering by 1mm plus this value) |
extruder.module_name.retract_recover_feedrate |
8 | Recovery feed-rate in millimetres/second (should be less than retract feedrate) |
extruder.module_name.retract_zlift_length |
0 | Z-lift on retract in millimeters, set to 0 if you want to disable retraction Z-lift. Z-lift is a small increase in the Z axis position when retracting. |
extruder.module_name.retract_zlift_feedrate |
6000 | Z-lift feed-rate in millimetres/minute (Note: mm/min NOT mm/sec) |
delta_current |
1.5 | First extruder stepper motor driver (M4) current in Amperes |
epsilon_current |
1.5 | Second extruder stepper motor driver (M5) current in Amperes |
Laser |
The following table outlines the configuration options for the laser module in Smoothieware:
Option | Default Value | Description |
---|---|---|
laser_module_enable |
true |
Whether to activate the laser module at all. All configuration is ignored if false. The laser module is used for laser cutting using a laser diode or CO2 laser tube. |
laser_module_pwm_pin |
2.5 |
This pin will control the laser. Pulse width will be modulated to vary power output (PWM). Note: PWM is available only on pins 2.0 to 2.5 , 1.18 , 1.20 , 1.21 , 1.23 , 1.24 , 1.26 , 3.25 and 3.26 . |
laser_module_ttl_pin |
1.30 |
This pin turns on when the laser turns on, and off when the laser turns off. |
laser_module_maximum_power |
0.8 |
This is the maximum duty cycle that will be applied to the laser. Value is from 0 to 1 . |
laser_module_minimum_power |
0.0 |
This duty cycle will be used for travel moves to keep the laser active without actually burning. Useful for some diode setups. Value is from 0 to 1 . |
laser_module_pwm_period |
20 |
PWM frequency expressed as the period in microseconds. |
laser_module_proportional_power |
true |
Whether the laser power should be proportional to the current speed, so as speed of movement ramps up (and down), laser power is proportionally adjusted, so that the amount of laser power/quantity of photons for a given distance/area is always constant, even if speed has to increase/decrease progressively. This is true by default, but in some situations you might want to disable this feature. |
Temperature control |
Option | Default Value | Description |
---|---|---|
temperature_control.[module_name].enable |
true | Whether to activate this temperaturecontrol module. You can create as many temperaturecontrol modules as you want, simply by giving a new module a name, and setting its enable option to true. |
temperature_control.[module_name].thermistor_pin |
0.23 |
Pin for the thermistor to read. ADC ports TH1 to TH4 are pins 0.23 to 0.26. |
temperature_control.[module_name].readings_per_second |
20 | How many times per second to read temperature from the sensor. |
temperature_control.[module_name].pwm_frequency |
2000 | How many times per second to switch the heating element on or off. Set to a low value (20) if using a Solid State Relay. |
temperature_control.[module_name].heater_pin |
2.7 |
Pin that controls the heater. This can be used to control a Mosfet on board or an external Solid State Relay. Set to nc if a readonly thermistor is being defined. |
temperature_control.[module_name].thermistor |
EPCOS100K | Set the thermistor model for this module. Several different common models are pre-defined, see here for a list. |
temperature_control.[module_name].beta |
4066 | Manually set the beta value for your thermistor. This is useful if your thermistor is not in the common pre-defined models. |
temperature_control.[module_name].r0 |
100000 | Manually set the r0 resistance value for your thermistor. This is useful if your thermistor is not in the common pre-defined models. Besides beta and r0 which are properties of your thermistor, you can also set the r1 , r2 and t0 values, but those are properties of your board so they usually never have to be changed. |
temperature_control.[module_name].get_m_code |
105 | Calling this M-code will return the current temperature. |
temperature_control.[module_name].set_m_code |
104 | This is the M-code for simply setting the temperature. For example here, the value is 104 so you use M104 S50 to set this module’s heater’s temperature to 50. |
temperature_control.[module_name].set_and_wait_m_code |
109 | This is the M-code for setting the temperature then waiting for that temperature to be reached before doing anything. For example here, the value is 109 so you use M109 S50 to set this module’s heater’s temperature to 50 and then wait. |
temperature_control.[module_name].designator |
T | The letter this module’s temperature will be identified as in the M105 command’s answer. For example here the value is T, so M105 will answer ok T:23.4 /0.0 @0 . |
temperature_control.[module_name].p_factor |
13.7 | P factor for PID temperature regulation. |
temperature_control.[module_name].i_factor |
0.097 | I factor for PID temperature regulation. |
temperature_control.[module_name].d_factor |
24 | D factor for PID temperature regulation. |
temperature_control.[module_name].max_pwm |
64 | Maximum PWM value for the heating element. This can be from 0 to 255 . 64 is a good value if driving a 12v resistor with 24v. 255 is the default and the normal value if you are using the right voltage for your heating element. |
temperature_control.[module_name].bang_bang |
false | Set to true to use bang bang control rather than PID. |
temperature_control.[module_name].hysteresis |
2.0 | Set to the temperature in degrees C to use as hysteresis for bang bang control. |
temperature_control.[module_name].i_max |
64 | Maximum value for the I variable in the PID control. This should usually be set to about the same value as max_pwm (as a rule of thumb, it is not actually a pwm setting). This helps with preventing overshoot when initially heating up. If you get a strong (>10°C) overshoot on startup, try setting this to a value lower than max_pwm . |
temperature_control.[module_name].sensor |
thermistor | Set the type of sensor used to read temperature. Values can be thermistor for the usual thermistor reading via ADC method, or max31855 to read values from a thermocouple over SPI. See Reading a thermocouple. |
temperature_control.[module_name].chip_select_pin |
0.16 |
If the sensor is set to max31855 , sets the chip select pin for the SPI port. This allows you to have multiple sensors sharing the same SPI port, as long as they each get a chip select (CS) pin. |
temperature_control.[module_name].spi_channel |
0 | If the sensor is set to max31855 , SPI channel using which to talk to the thermocouple chip. |
temperature_control.[module_name].max_temp |
100 | If set, no temperature above this will be accepted and if the temperature exceeds this value the system will be forced into a HALT state. |
temperature_control.[module_name].runaway_heating_timeout |
120 | If we take longer than this many seconds to heatup, the system will be forced into a HALT state. Set to 0 to disable it. Default is 900 seconds. |
temperature_control.[module_name].runaway_cooling_timeout |
120 | If we take longer than this many seconds to cooldown, the system will be forced into a HALT state. Set to 0 to disable it. Default is disabled. |
temperature_control.[module_name].runaway_range |
20 | If set to non-zero, and the target temperature is reached, and temperature diverges from the target temperature by more than this, the system will be forced into a HALT state. |
Switch |
Parameter | Default | Description |
---|---|---|
switch.module_name.enable |
true | Create and enable a new Switch module if set to true. Switch modules use commands or pins as inputs, to send commands or switch pins as output. Note this module is very versatile and can be used to do many different things. Parameters that are not defined will be ignored. |
switch.module_name.input_pin |
2.11 |
When this pin becomes high the switch changes to the ON state, and when it becomes low the switch changes to the OFF state. ( see the input_pin_behavior option for more details ) |
switch.module_name.input_pin_behavior |
momentary | If set to momentary when the input pin becomes high the switch changes to the ON state, and when it becomes low the switch changes to the OFF state. If set to toggle the input pin toggles the switch’s state between ON and OFF. |
switch.module_name.input_on_command |
M106 | Calling this command sets the switch ON |
switch.module_name.input_off_command |
M107 | Calling this command sets the switch OFF |
switch.module_name.subcode |
1 | the subcode that the input on or input off commands respond to M106.1 |
switch.module_name.output_on_command |
abort | This command is called when the switch changes to the ON state |
switch.module_name.output_off_command |
resume | This command is called when the switch changes to the OFF state |
switch.module_name.output_pin |
2.6 |
This pin will be set low when the switch is OFF, and high when the switch is ON |
switch.module_name.output_type |
pwm | Sets the type of output for the output_pin , if set to digital the pin can only be low or high, and if set to pwm the pin can be set to any Sigma-Delta PWM value between 0 and 255 using the S parameter, for example : M106 S127 . If set to hwpwm will use Real PWM, but the selected output pin must be PWM capable. The S value will be the duty cycle in percent, NOTE the default is none which will disable the output entirely. Can also be set to swpmw for software-emulated ( non-hardware ) pwm, that will be slower, but will not interfere with hardware pwm peripherals like a laser module. |
switch.module_name.startup_state |
false | Startup state of the switch. If set to false the module is initialized OFF, if set to true the module is initialized ON |
switch.module_name.startup_value |
184 | Startup value of the switch if the output_type is any kind of pwm. startup_state must be false for this to take effect. It is also the value the hwpwm or swpwm is set to on HALT. |
switch.module_name.default_on_value |
184 | Default on setting value of the switch if the output_type is swpwm or hwpwm. It is also the value the hwpwm or swpwm is set to when startup_state is true |
switch.module_name.max_pwm |
210 | Maximum value for the PWM output. (only used for pwm output type, not for hwpwm) |
switch.module_name.pwm_period_ms |
20 | Period used by the H/W and S/W PWM, 20ms is 50Hz which is the default if not set |
switch.module_name.failsafe_set_to |
0 | 0 or 1 what to set the output pin to in case of a crash or HALT condition |
switch.module_name.ignore_on_halt |
false | set to true to not set the failsafe or startup_value value when a HALT condition is triggered |
Temperature Switch |
The TemperatureSwitch module automatically toggles a Switch module at a specified temperature (read from a TemperatureControl module).
Option | Default Value | Description |
---|---|---|
temperatureswitch.module_name.enable |
true |
Create and enable a new TemperatureSwitch module if set to true. |
temperatureswitch.module_name.designator |
T |
Specify which TemperatureControl module to read temperature from, must match the designator for that module. |
temperatureswitch.module_name.switch |
misc |
Specify the name of the Switch module to be toggled. |
temperatureswitch.module_name.threshold_temp |
60 |
Turn the switch ON above this temperature (in °C), and OFF below this temperature. |
temperatureswitch.module_name.heatup_poll |
15 |
Poll temperature at this frequency (in seconds) when heating up. |
temperatureswitch.module_name.cooldown_poll |
60 |
Poll temperature at this frequency (in seconds) when cooling down. |
temperatureswitch.module_name.trigger |
level |
Can be level , rising , falling - level is the default. |
temperatureswitch.module_name.inverted |
false |
Will turn the switch off when the temp > target and vice versa when set to true . |
temperatureswitch.module_name.arm_mcode |
1100 |
M code used to arm the edge triggered switch, e.g., M1100 S1 arms it. |
Spindle control |
[!NOTE] This part of the documentation is deprecated. Please refer to the spindle module page instead.
Parameter | Value | Description |
---|---|---|
spindle_enable |
true | If set to true, enables the Spindle module, which uses an encoder to PID-control a PWM-modulated spindle motor |
spindle_pwm_pin |
2.4 |
Output PWM pin (uses hardware PWM). Note: hardware PWM is available only on pins 2.0 to 2.5 , 1.18 , 1.20 , 1.21 , 1.23 , 1.24 , 1.26 , 3.25 and 3.26 |
spindle_pwm_period |
100 | PWM period to use in microseconds |
spindle_feedback_pin |
2.6 |
Feedback input pin (must be Port 0 or 2, meaning the pin number must be 2.x or 0.x ) |
spindle_pulses_per_rev |
3 | Number of feedback pulses per revolution on the feedback input pin |
spindle_default_rpm |
5000 | RPM to use if none given in M3 command, in rotations/minute |
spindle_control_P |
0.0002 | PID P factor (unit is 1 / RPM) |
spindle_control_I |
0.0001 | PID I factor (unit is 1 / ( RPM x seconds )) |
spindle_control_D |
0.000001 | PID D factor (unit is 1 / (R PM / seconds )) |
Endstops |
Parameter | Default | Description |
---|---|---|
endstops_enable |
true | The endstop module is enabled if this is set to true. All of its parameters are ignored otherwise. |
corexy_homing |
false | Set to true if this machine uses a corexy or a h-bot arm solution |
delta_homing |
false | Set to true if this machine uses a linear_delta arm solution |
rdelta_homing |
false | Set to true if this machine uses a rotary_delta arm solution |
scara_homing |
false | Set to true if this machine uses a scara arm solution |
alpha_min_endstop |
1.24^ |
Alpha (X axis or alpha tower) minimum limit endstop. Set to nc if not installed on your machine. |
alpha_max_endstop |
1.25^ |
Alpha (X axis or alpha tower) maximum limit endstop. Set to nc if not installed on your machine. |
alpha_homing_direction |
home_to_min | In which direction to home. If set to home_to_min , homing (using the G28 G-code) will move until it hits the minimum endstop and then set the current position to alpha_min . If set to home_to_max , homing will move until it hits the maximum endstop, and then set the current position to alpha_max |
alpha_min |
0 | This gets loaded after homing when alpha_homing_direction is set to home_to_min and the minimum endstop is hit. NOTE the homing offset is added to this set with M206 Xnnn |
alpha_max |
200 | This gets loaded after homing when alpha_homing_direction is set to home_to_max and the maximum endstop is hit. |
alpha_max_travel |
500 | This determines how far the X axis can travel looking for the endstop before it gives up |
beta_min_endstop |
1.26^ |
Beta (Y axis or beta tower) minimum limit endstop. Set to nc if not installed on your machine. |
beta_max_endstop |
1.27^ |
Beta (Y axis or beta tower) maximum limit endstop. Set to nc if not installed on your machine. |
beta_homing_direction |
home_to_min | In which direction to home. If set to home_to_min , homing (using the G28 G-code) will move until it hits the minimum endstop and then set the current position to beta_min . If set to home_to_max , homing will move until it hits the maximum endstop, and then set the current position to beta_max |
beta_min |
0 | This gets loaded after homing when beta_homing_direction is set to home_to_min and the minimum endstop is hit. |
beta_max |
200 | This gets loaded after homing when beta_homing_direction is set to home_to_max and the maximum endstop is hit. |
beta_max_travel |
500 | This determines how far the Y axis can travel looking for the endstop before it gives up |
gamma_min_endstop |
1.28^ |
Gamma (Z axis or gamma tower) minimum limit endstop. Set to nc if not installed on your machine. |
gamma_max_endstop |
1.29^ |
Gamma (Z axis or gamma tower) maximum limit endstop. Set to nc if not installed on your machine. |
gamma_homing_direction |
home_to_min | In which direction to home. If set to home_to_min , homing (using the G28 G-code) will move until it hits the minimum endstop and then set the current position to gamma_min . If set to home_to_max , homing will move until it hits the maximum endstop, and then set the current position to gamma_max |
gamma_min |
0 | This gets loaded after homing when gamma_homing_direction is set to home_to_min and the minimum endstop is hit. |
gamma_max |
200 | This gets loaded after homing when gamma_homing_direction is set to home_to_max and the maximum endstop is hit. |
gamma_max_travel |
500 | This determines how far the Z axis can travel looking for the endstop before it gives up |
homing_order |
XYZ | Optional order in which axis will home, default is XY home at the same time then Z, then A,B,C. If this is set it will force each axis to home one at a time in the specified order. For example XZY means: X axis followed by Z , then Y last. NOTE If an axis is not specified here then it will not be homed at all. If ABC are set they must also be specified if they need to be homed. |
alpha_limit_enable |
false | If set to true, the machine will stop if one of the alpha (X axis or alpha tower) endstops are hit |
beta_limit_enable |
false | If set to true, the machine will stop if one of the beta (Y axis or beta tower) endstops are hit |
gamma_limit_enable |
false | If set to true, the machine will stop if one of the gamma (Z axis or gamma tower) endstops are hit |
alpha_fast_homing_rate_mm_s |
50 | Speed, in millimetres/second, at which to home for the alpha actuator (X axis or alpha tower) |
beta_fast_homing_rate_mm_s |
50 | Speed, in millimetres/second, at which to home for the beta actuator (Y axis or beta tower) |
gamma_fast_homing_rate_mm_s |
4 | Speed, in millimetres/second, at which to home for the gamma actuator (Z axis or gamma tower) |
alpha_homing_retract_mm |
5 | Distance to retract the alpha actuator (X axis or alpha tower) once the endstop is first hit, before re-homing at a slower speed. |
beta_homing_retract_mm |
5 | Distance to retract the beta actuator (Y axis or beta tower) once the endstop is first hit, before re-homing at a slower speed. |
gamma_homing_retract_mm |
1 | Distance to retract the alpha actuator (Z axis or gamma tower) once the endstop is first hit, before re-homing at a slower speed. |
alpha_slow_homing_rate_mm_s |
25 | Speed, in millimetres/second, at which to re-home for the alpha actuator (X axis or alpha tower) once the endstop is hit once. |
beta_slow_homing_rate_mm_s |
25 | Speed, in millimetres/second, at which to re-home for the beta actuator (Y axis or beta tower) once the endstop is hit once. |
gamma_slow_homing_rate_mm_s |
2 | Speed, in millimetres/second, at which to re-home for the gamma actuator (Z axis or gamma tower) once the endstop is hit once. |
endstop_debounce_count |
100 | Debounce each limit switch (not homing endstops) over this number of values. Set to 100 if your endstops are too noisy and give false readings. Used for limit switches only |
endstop_debounce_ms |
1 | Debounce each homing endstop for this number of milliseconds. Set to 1 if your endstops are too noisy and give false readings. Used for homing only |
alpha_trim |
-0.1 | DELTA ONLY Software trim for alpha (X axis or alpha tower) stepper endstop (in millimetres). When the endstop is hit, the axis will move this distance towards the endstop (negative values move endstop away from the endstop) |
beta_trim |
-0.1 | DELTA ONLY Software trim for beta (Y axis or beta tower) stepper endstop (in millimetres). When the endstop is hit, the axis will move this distance towards the endstop (negative values move endstop away from the endstop) |
gamma_trim |
-0.1 | DELTA ONLY Software trim for gamma (Z axis or gamma tower) stepper endstop (in millimetres). When the endstop is hit, the axis will move this distance towards the endstop (negative values move endstop away from the endstop) |
move_to_origin_after_home |
false | If set to true, once homing is complete, the machine will move to its origin point |
home_z_first |
false | Set to true to home the Z first, otherwise Z homes after XY |
Z probe |
The following table lists the configuration options for the Z-probe module:
Option | Value | Description |
---|---|---|
zprobe.enable |
true |
Set to true to enable the Z-probe module. This is used to scan surfaces, and to calibrate parameters and compensate for non-planar surfaces. |
zprobe.probe_pin |
1.28!^ |
Pin the probe is connected to. |
zprobe.slow_feedrate |
5 |
Speed in millimetres/second at which the probe seeks a surface. |
zprobe.fast_feedrate |
100 |
Speed in millimetres/second at which the probe does fast moves. |
zprobe.return_feedrate |
50 |
Speed in millimetres/second at which the probe does the return after a probe. |
zprobe.debounce_ms |
1 |
Debounce the probe pin over this number of milliseconds. Set to 1 or 2 if your probe is too noisy and gives false readings. |
zprobe.probe_height |
5 |
Distance above the bed at which the probing is started, once the bed’s height is known. |
zprobe.max_z |
200 |
Maximum Z (was gamma_max) |
zprobe.dwell_before_probing |
0.2 |
Dwell time in seconds before probing. Useful for piezo Z-probe to avoid false trigger. |
Leveling strategy |
The following table lists the configuration options for the Z-probe module:
Option | Value | Description |
---|---|---|
zprobe.enable |
true |
Set to true to enable the Z-probe module. This is used to scan surfaces, and to calibrate parameters and compensate for non-planar surfaces. |
zprobe.probe_pin |
1.28!^ |
Pin the probe is connected to. |
zprobe.slow_feedrate |
5 |
Speed in millimetres/second at which the probe seeks a surface. |
zprobe.fast_feedrate |
100 |
Speed in millimetres/second at which the probe does fast moves. |
zprobe.return_feedrate |
50 |
Speed in millimetres/second at which the probe does the return after a probe. |
zprobe.debounce_ms |
1 |
Debounce the probe pin over this number of milliseconds. Set to 1 or 2 if your probe is too noisy and gives false readings. |
zprobe.probe_height |
5 |
Distance above the bed at which the probing is started, once the bed’s height is known. |
zprobe.max_z |
200 |
Maximum Z (was gamma_max) |
zprobe.dwell_before_probing |
0.2 |
Dwell time in seconds before probing. Useful for piezo Z-probe to avoid false trigger. |
Panel |
Parameter | Value | Description |
---|---|---|
panel.enable |
true | Set to true to enable the panel interface. Panels are a screen, an encoder wheel and/or a set of buttons, used to control your machine. |
panel.lcd |
reprap_discount_glcd |
Type of panel we are connecting. Each panel has a specific interface so we need to specify which panel we will be connecting. The currently supported panel types are reprap_discount_glcd , st7565_glcd , ssd1306_oled , viki2 , mini_viki2 and universal_adapter . |
panel.spi_channel |
0 | SPI channel to use |
panel.spi_cs_pin |
0.16 |
CS (Chip Select) pin to use, this can be used to have several different devices on the same SPI port, as long as each device has a separate CS pin. Note that the RRD GLCD panel does not support this and requires being alone on its port. |
panel.spi_frequency |
500000 | SPI port frequency - some panels need it explicitly set |
panel.contrast |
9 | Contrast value for panels that support it (viki2 , mini_viki2 and st7565_glcd ) |
panel.reverse |
false | If set to true, reverse the screen. |
panel.busy_pin |
nc |
If using the universal_adapter , this pin can be connected to the adapter to ask it if it is busy or not. |
panel.a0_pin |
nc |
If using a viki or SSD1306 this is needed to drive the C/D pin on the display |
panel.rst_pin |
nc |
If using an SSD1306 this pin is sometimes required and connects to the reset pin on the display |
panel.encoder_a_pin |
3.25!^ |
A pin for the encoder wheel. Encoders have two pins: A and B. Set to nc if you use no encoder. ^ defines menu move direction |
panel.encoder_b_pin |
3.26!^ |
B pin for the encoder wheel. Encoders have two pins: A and B. Set to nc if you use no encoder. ^ defines menu move direction |
panel.encoder_resolution |
2 |
The number of pulses the encoder emits per detent/click |
panel.click_button_pin |
1.30!^ |
Pin for the click (“enter”) button |
panel.buzz_pin |
1.31 |
Pin for the buzzer |
panel.back_button_pin |
2.11!^ |
Pin for the back button |
panel.up_button_pin |
0.1! |
Pin for the up button |
panel.down_button_pin |
0.0! |
Pin for the down button |
panel.menu_offset |
0 | On some panels, this value must be set to 1. This is a number of lines to offset the menu lines by on screen. |
panel.alpha_jog_feedrate |
6000 | X jogging feedrate in millimetres/minute. This is used when jogging using the panel screen. |
panel.beta_jog_feedrate |
6000 | Y jogging feedrate in millimetres/minute. This is used when jogging using the panel screen. |
panel.gamma_jog_feedrate |
200 | Z jogging feedrate in millimetres/minute. This is used when jogging using the panel screen. |
panel.hotend_temperature |
185 | Temperature to set the hotend to when using the pre-heating menu item |
panel.bed_temperature |
60 | Temperature to set the bed to when using the pre-heating menu item |
panel.external_sd |
true | Set to true if your panel has an external SD card slot, or if you want to connect a second SD card slot to one of your Smoothieboard’s SPI ports |
panel.external_sd.spi_channel |
0 | Set the SPI channel the external SD card is on |
panel.external_sd.spi_cs_pin |
2.8 |
Set the CS (Chip Select) pin for the external SD card, this allows you to use multiple devices on the same SPI port, as long as they each have a CS pin |
panel.external_sd.sdcd_pin |
2.13!^ |
SD card detect signal pin, set to nc if you don’t use an SD card detect signal |
custom_menu.menu_name.enable |
true | When set to true, create a new custom menu entry for the panel with the name menu_name . You can create any number of custom entries as long as they have different names. NOTE menu_name is case sensitive |
custom_menu.menu_name.name |
Power_on |
The name that will be displayed in the panel’s menus |
custom_menu.menu_name.command |
M80_S30|G1_X10 |
The command that will be executed when the menu entry is selected and clicked. Note that the _ character gets converted to space in the menu and commands (and must be used instead of the space character), and the | character is used to separate multiple commands |
Network |
Option | Default Value | Description |
---|---|---|
network.enable |
true |
If set to true , enable the Ethernet network services |
network.webserver.enable |
true |
If set to true , enable the web server service, on port 80, which provides a control and upload web interface |
network.telnet.enable |
true |
If set to true , enable the telnet service, on port 23, which behaves much like a Serial interface |
network.plan9.enable |
false |
If set to true , enable the plan9 network filesystem on port 564 which allows mounting the Smoothieboard |
network.ip_address |
auto |
If set to auto , use DHCP to request an IP address. If set to an IP address, use that address as a static IP. |
network.ip_mask |
255.255.255.0 |
If using a static IP, define the mask for the network. |
network.ip_gateway |
192.168.3.1 |
If using a static IP, define the gateway for the network. |
network.mac_override |
AB.AB.AB.AB.AB.AB |
If set, override the MAC address for the Ethernet interface. Only set this if you have a conflict on your network. |
network.hostname |
shapeoko17 |
Some DHCP servers accept a hostname for the machine, which then allows you to connect to it using that name instead of its IP. |