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 segment 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.

2017/01/25 14:19
· arthur

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

G-code file to play when the board boots. This file will automaticaly 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.

on_boot_gcode_enable

true

If set to true, play the on_boot_gcode file when the board boots up

after_suspend_gcode

G91_G0E-5_G0Z10_G90_G0X-50Y-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_G1E1_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.

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.

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.

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.

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.

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.

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

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

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.

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.

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.

This module does not read temperature by itself, it asks an existing TemperatureControl for it's current temperature. This is used to specify which module to read temperature from, and must match the designator for that module.

The endstop module is enabled if this is set to true. All of it's 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, 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 This MUST be 3 characters containing only X,Y,Z or it will be ignored

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 miliseconds. Set to 1 if your endstops are too noisy and give false readings. Used for homing only

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 it's port.

panel.spi_frequency

500000

SPI port frequency

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.

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.

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 Smothieboard'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 a 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. NOTEmenu_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