# This file serves as documentation for config parameters of # additional devices that may be configured on a printer. The snippets # in this file may be copied into the main printer.cfg file. See the # "example.cfg" file for description of common config parameters. # # Note, where an extra config section creates additional pins, the # section defining the pins must be listed in the config file before # any sections using those pins. # Z height probe. One may define this section to enable Z height # probing hardware. When this section is enabled, PROBE and # QUERY_PROBE extended g-code commands become available. The probe # section also creates a virtual "probe:z_virtual_endstop" pin. One # may set the stepper_z endstop_pin to this virtual pin on cartesian # style printers that use the probe in place of a z endstop. If using # "probe:z_virtual_endstop" then do not define a position_endstop in # the stepper_z config section. #[probe] #pin: ar15 # Probe detection pin. This parameter must be provided. #x_offset: 0.0 # The distance (in mm) between the probe and the nozzle along the # x-axis. The default is 0. #y_offset: 0.0 # The distance (in mm) between the probe and the nozzle along the # y-axis. The default is 0. #z_offset: # The distance (in mm) between the bed and the nozzle when the probe # triggers. This parameter must be provided. #speed: 5.0 # Speed (in mm/s) of the Z axis when probing. The default is 5mm/s. #samples: 1 # The number of times to probe each point. The probed z-values will # be averaged. The default is to probe 1 time. #sample_retract_dist: 2.0 # The distance (in mm) to lift the toolhead between each sample (if # sampling more than once). The default is 2mm. #samples_result: average # The calculation method when sampling more than once - either # "median" or "average". The default is average. #samples_tolerance: 0.100 # The maximum Z distance (in mm) that a sample may differ from other # samples. If this tolerance is exceeded then either an error is # reported or the attempt is restarted (see # samples_tolerance_retries). The default is 0.100mm. #samples_tolerance_retries: 0 # The number of times to retry if a sample is found that exceeds # samples_tolerance. On a retry, all current samples are discarded # and the probe attempt is restarted. If a valid set of samples are # not obtained in the given number of retries then an error is # reported. The default is zero which causes an error to be reported # on the first sample that exceeds samples_tolerance. #activate_gcode: # A list of G-Code commands to execute prior to each probe attempt. # See docs/Command_Templates.md for G-Code format. This may be # useful if the probe needs to be activated in some way. Do not # issue any commands here that move the toolhead (eg, G1). The # default is to not run any special G-Code commands on activation. #deactivate_gcode: # A list of G-Code commands to execute after each probe attempt # completes. See docs/Command_Templates.md for G-Code format. Do not # issue any commands here that move the toolhead. The default is to # not run any special G-Code commands on deactivation. # BLTouch probe. One may define this section (instead of a probe # section) to enable a BLTouch probe. (Note! This bltouch module may # not work correctly with some BLTouch "clones"!) A virtual # "probe:z_virtual_endstop" pin is also created (see the "probe" # section above for the details). #[bltouch] #sensor_pin: # Pin connected to the BLTouch sensor pin. This parameter must be # provided. #control_pin: # Pin connected to the BLTouch control pin. This parameter must be # provided. #pin_move_time: 0.675 # The amount of time (in seconds) to wait for the BLTouch pin to # move up or down. The default is 0.675 seconds. #pin_up_reports_not_triggered: True # Set if the BLTouch consistently reports the probe in a "not # triggered" state after a successful "pin_up" command. This should # be True for a genuine BLTouch; some BLTouch clones may require # False. The default is True. #pin_up_touch_mode_reports_triggered: True # Set if the BLTouch consistently reports a "triggered" state after # the commands "pin_up" followed by "touch_mode". This should be # True for a genuine BLTouch v2 and earlier; the BLTouch v3 and some # BLTouch clones require False. The default is True. #x_offset: #y_offset: #z_offset: #speed: #samples: #sample_retract_dist: #samples_result: #samples_tolerance: #samples_tolerance_retries: # See the "probe" section for information on these parameters. # Bed tilt compensation. One may define a [bed_tilt] config section to # enable move transformations that account for a tilted bed. #[bed_tilt] #x_adjust: 0 # The amount to add to each move's Z height for each mm on the X # axis. The default is 0. #y_adjust: 0 # The amount to add to each move's Z height for each mm on the Y # axis. The default is 0. #z_adjust: 0 # The amount to add to the Z height when the nozzle is nominally at # 0,0. The default is 0. # The remaining parameters control a BED_TILT_CALIBRATE extended # g-code command that may be used to calibrate appropriate x and y # adjustment parameters. #points: # A list of X,Y coordinates (one per line; subsequent lines # indented) that should be probed during a BED_TILT_CALIBRATE # command. Specify coordinates of the nozzle and be sure the probe # is above the bed at the given nozzle coordinates. The default is # to not enable the command. #speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. # Mesh Bed Leveling. One may define a [bed_mesh] config section # to enable move transformations that offset the z axis based # on a mesh generated from probed points. Note that bed_mesh # and bed_tilt are incompatible, both cannot be defined. When # using a probe to home the z-axis, it is recommended to define # a [homing_override] section in printer.cfg to home toward the # center of the print area. # # Visual Examples: # rectangular bed, probe_count = 3,3: # x---x---x (max_point) # | # x---x---x # | # (min_point) x---x---x # # round bed, round_probe_count = 5, bed_radius = r: # x (0,r) end # / # x---x---x # \ # (-r,0) x---x---x---x---x (r,0) # \ # x---x---x # / # x (0,-r) start # #[bed_mesh] #speed: 50 # The speed (in mm/s) of non-probing moves during the # calibration. The default is 50. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. #bed_radius: # Defines the radius to probe for round beds. Note that the radius # is relative to the nozzle's origin, if using a probe be sure to # account for its offset. This parameter must be provided for round # beds and omitted for rectangular beds. #min_point: # Defines the minimum x,y position to probe when for rectangular # beds. Note that this refers to the nozzle position, take care that # you do not define a point that will move the probe off of the bed. # This parameter must be provided for rectangular beds. #max_point: # Defines the maximum x,y position to probe when for rectangular # beds. Follow the same precautions as listed in min_point. Also note # that this does not necessarily define the last point probed, only # the maximum coordinate. This parameter must be provided. #probe_count: 3,3 # For rectangular beds, this is a comma separate pair of integer # values (X,Y) defining the number of points to probe along each axis. # A single value is also valid, in which case that value will be applied # to both axes. Default is 3,3. #round_probe_count: 5 # For round beds, this is integer value defines the maximum number of # points to probe along each axis. This value must be an odd number. # Default is 5. #fade_start: 1.0 # The gcode z position in which to start phasing out z-adjustment # when fade is enabled. Default is 1.0. #fade_end: 0.0 # The gcode z position in which phasing out completes. When set # to a value below fade_start, fade is disabled. It should be # noted that fade may add unwanted scaling along the z-axis of a # print. If a user wishes to enable fade, a value of 10.0 is # recommended. Default is 0.0, which disables fade. #fade_target: # The z position in which fade should converge. When this value is set # to a non-zero value it must be within the range of z-values in the mesh. # Users that wish to converge to the z homing position should set this to 0. # Default is the average z value of the mesh. #split_delta_z: .025 # The amount of Z difference (in mm) along a move that will # trigger a split. Default is .025. #move_check_distance: 5.0 # The distance (in mm) along a move to check for split_delta_z. # This is also the minimum length that a move can be split. Default # is 5.0. #mesh_pps: 2,2 # A comma separated pair of integers (X,Y) defining the number of # points per segment to interpolate in the mesh along each axis. A # "segment" can be defined as the space between each probed # point. The user may enter a single value which will be applied # to both axes. Default is 2,2. #algorithm: lagrange # The interpolation algorithm to use. May be either "lagrange" # or "bicubic". This option will not affect 3x3 grids, which # are forced to use lagrange sampling. Default is lagrange. #bicubic_tension: .2 # When using the bicubic algorithm the tension parameter above # may be applied to change the amount of slope interpolated. # Larger numbers will increase the amount of slope, which # results in more curvature in the mesh. Default is .2. #relative_reference_index: # A point index in the mesh to reference all z values to. Enabling # this parameter produces a mesh relative to the probed z position # at the provided index. # Tool to help adjust bed leveling screws. One may define a # [bed_screws] config section to enable a BED_SCREWS_ADJUST g-code # command. #[bed_screws] #screw1: 100,100 # The X,Y coordinate of the first bed leveling screw. This is a # position to command the nozzle to that is directly above the bed # screw (or as close as possible while still being above the bed). # This parameter must be provided. #screw1_name: front screw # An arbitrary name for the given screw. This name is displayed when # the helper script runs. The default is to use a name based upon # the screw XY location. #screw1_fine_adjust: # An X,Y coordinate to command the nozzle to so that one can fine # tune the bed leveling screw. The default is to not perform fine # adjustments on the bed screw. #screw2: #screw2_name: #screw2_fine_adjust: #... # Additional bed leveling screws. At least three screws must be # defined. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # when moving from one screw location to the next. The default is 5. #probe_height: 0 # The height of the probe (in mm) after adjusting for the thermal # expansion of bed and nozzle. The default is zero. #speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. #probe_speed: 5 # The speed (in mm/s) when moving from a horizontal_move_z position # to a probe_height position. The default is 5. # Tool to help adjust bed screws tilt using Z probe. One may define a # [screws_tilt_adjust] config section to enable a SCREWS_TILT_CALCULATE # g-code command. #[screws_tilt_adjust] #screw1: 100,100 # The X,Y coordinate of the first bed leveling screw. This is a # position to command the nozzle to that is directly above the bed # screw (or as close as possible while still being above the bed). # This is the base screw used in calculations. # This parameter must be provided. #screw1_name: front screw # An arbitrary name for the given screw. This name is displayed when # the helper script runs. The default is to use a name based upon # the screw XY location. #screw2: #screw2_name: #... # Additional bed leveling screws. At least two screws must be # defined. #speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. #screw_thread: CW-M3 # The type of screw used for bed level, M3, M4 or M5 and the # direction of the knob used to level the bed, clockwise decrease # counter-clockwise decrease. # Accepted values: CW-M3, CCW-M3, CW-M4, CCW-M4, CW-M5, CCW-M5. # Default value is CW-M3, most printers use an M3 screw and # turning the knob clockwise decrease distance. # Multiple Z stepper tilt adjustment. This feature enables independent # adjustment of multiple z steppers (see stepper_z1 section below) to # adjust for tilt. If this section is present then a Z_TILT_ADJUST # extended G-Code command becomes available. #[z_tilt] #z_positions: # A list of X,Y coordinates (one per line; subsequent lines # indented) describing the location of each bed "pivot point". The # "pivot point" is the point where the bed attaches to the given Z # stepper. It is described using nozzle coordinates (the XY position # of the nozzle if it could move directly above the point). The # first entry corresponds to stepper_z, the second to stepper_z1, # the third to stepper_z2, etc. This parameter must be provided. #points: # A list of X,Y coordinates (one per line; subsequent lines # indented) that should be probed during a Z_TILT_ADJUST command. # Specify coordinates of the nozzle and be sure the probe is above # the bed at the given nozzle coordinates. This parameter must be # provided. #speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5. #retries: 0 # Number of times to retry if the probed points aren't within tolerance #retry_tolerance: 0 # if retries are enabled then retry if largest and smallest probed points # differ more than retry_tolerance. # Note the smallest unit of change here would be a single step. However if you # are probing more points than steppers then you will likely have a fixed # minimum value for the range of probed points which you can learn by observing # command output. # Moving gantry leveling using 4 independently controlled Z motors. # Corrects hyperbolic parabola effects (potato chip) on moving gantry # which is more flexible. # WARNING: Using this on a moving bed may lead to undesirable results. # If this section is present then a QUAD_GANTRY_LEVEL extended G-Code # command becomes available. This routine assumes the following Z motor # configuration: # ---------------- # |Z1 Z2| # | --------- | # | | | | # | | | | # | x-------- | # |Z Z3| # ---------------- # Where x is the (0,0) point on the bed #[quad_gantry_level] #gantry_corners: # A newline separated list of X,Y coordinates describing the # two opposing corners of the gantry. The first entry corresponds to # Z, the second to Z2. # This parameter must be provided. #points: # A newline separated list of four X,Y points that should be probed # during a QUAD_GANTRY_LEVEL command. # Order of the locations is important, and should correspond to Z,Z1 # Z2, and Z3 location in order. # This parameter must be provided. # For maximum accuracy, ensure your probe offsets are configured. #speed: 50 # The speed (in mm/s) of non-probing moves during the calibration. # The default is 50. #horizontal_move_z: 5 # The height (in mm) that the head should be commanded to move to # just prior to starting a probe operation. The default is 5 #max_adjust: 4 # Saftey limit if an ajustment greater than this value is requested # quad_gantry_level will abort. #retries: 0 # number of times to retry if the probed points aren't within tolerance #retry_tolerance: 0 # if retries are enabled then retry if largest and smallest probed points # differ more than retry_tolerance # Printer Skew Correction. It is possible to use software to correct # printer skew across 3 planes, xy, xz, yz. This is done by printing # a calibration model along a plane and measuring three lengths. Due # to the nature of skew correction these lengths are set via gcode. See # skew_correction.md and G-Codes.md in the docs directory for details. # #[skew_correction] # In a multi-extruder printer add an additional extruder section for # each additional extruder. The additional extruder sections should be # named "extruder1", "extruder2", "extruder3", and so on. See the # "extruder" section in example.cfg for a description of available # parameters. #[extruder1] #step_pin: ar36 #dir_pin: ar34 #... #shared_heater: # If this extruder uses the same heater already defined for another # extruder then place the name of that extruder here. For example, # should extruder3 and extruder4 share a heater then the extruder3 # config section should define the heater and the extruder4 section # should specify "shared_heater: extruder3". The default is to not # reuse an existing heater. #deactivate_gcode: # A list of G-Code commands to execute on a G-Code tool change # command (eg, "T1") that deactivates this extruder and activates # some other extruder. See docs/Command_Templates.md for G-Code # format. It only makes sense to define this section on # multi-extruder printers. The default is to not run any special # G-Code commands on deactivation. #activate_gcode: # A list of G-Code commands to execute on a G-Code tool change # command (eg, "T0") that activates this extruder. See # docs/Command_Templates.md for G-Code format. It only makes sense # to define this section on multi-extruder printers. The default is # to not run any special G-Code commands on activation. # Support for cartesian printers with dual carriages on a single # axis. The active carriage is set via the SET_DUAL_CARRIAGE extended # g-code command. The "SET_DUAL_CARRIAGE CARRIAGE=1" command will # activate the carriage defined in this section (CARRIAGE=0 will # return activation to the primary carriage). Dual carriage support is # typically combined with extra extruders - use the SET_DUAL_CARRIAGE # command in the activate_gcode / deactivate_gcode section of the # appropriate extruder. Be sure to also use that mechanism to park the # carriages during deactivation. #[dual_carriage] #axis: # The axis this extra carriage is on (either x or y). This parameter # must be provided. #step_pin: #dir_pin: #enable_pin: #step_distance: #endstop_pin: #position_endstop: #position_min: #position_max: # See the example.cfg for the definition of the above parameters. # Heater and temperature sensor verification. Heater verification is # automatically enabled for each heater that is configured on the # printer. Use verify_heater sections to change the default settings. #[verify_heater heater_config_name] #max_error: 120 # The maximum "cumulative temperature error" before raising an # error. Smaller values result in stricter checking and larger # values allow for more time before an error is reported. # Specifically, the temperature is inspected once a second and if it # is close to the target temperature then an internal "error # counter" is reset; otherwise, if the temperature is below the # target range then the counter is increased by the amount the # reported temperature differs from that range. Should the counter # exceed this "max_error" then an error is raised. The default is # 120. #check_gain_time: # This controls heater verification during initial heating. Smaller # values result in stricter checking and larger values allow for # more time before an error is reported. Specifically, during # initial heating, as long as the heater increases in temperature # within this time frame (specified in seconds) then the internal # "error counter" is reset. The default is 20 seconds for extruders # and 60 seconds for heater_bed. #hysteresis: 5 # The maximum temperature difference (in Celsius) to a target # temperature that is considered in range of the target. This # controls the max_error range check. It is rare to customize this # value. The default is 5. #heating_gain: 2 # The minimum temperature (in Celsius) that the heater must increase # by during the check_gain_time check. It is rare to customize this # value. The default is 2. # Idle timeout. An idle timeout is automatically enabled - add an # explicit idle_timeout config section to change the default settings. #[idle_timeout] #gcode: # A list of G-Code commands to execute on an idle timeout. See # docs/Command_Templates.md for G-Code format. The default is to run # "TURN_OFF_HEATERS" and "M84". #timeout: 600 # Idle time (in seconds) to wait before running the above G-Code # commands. The default is 600 seconds. # Multi-stepper axes. On a cartesian style printer, the stepper # controlling a given axis may have additional config blocks defining # steppers that should be stepped in concert with the primary # stepper. One may define any number of sections with a numeric suffix # starting at 1 (for example, "stepper_z1", "stepper_z2", etc.). #[stepper_z1] #step_pin: ar36 #dir_pin: ar34 #enable_pin: !ar30 #step_distance: .005 # See the example.cfg for the definition of the above parameters. #endstop_pin: ^ar19 # If an endstop_pin is defined for the additional stepper then the # stepper will home until the endstop is triggered. Otherwise, the # stepper will home until the endstop on the primary stepper for the # axis is triggered. # Stepper phase adjusted endstops. To use this feature, define a # config section with an "endstop_phase" prefix followed by the name # of the corresponding stepper config section (for example, # "[endstop_phase stepper_z]"). This feature can improve the accuracy # of endstop switches. Add a bare "[endstop_phase]" declaration to # enable the ENDSTOP_PHASE_CALIBRATE command. #[endstop_phase stepper_z] #phases: # This specifies the number of phases of the given stepper motor # driver (which is the number of micro-steps multiplied by four). # This setting is automatically determined if one uses a TMC driver # with run-time configuration. Otherwise, this parameter must be # provided. #endstop_accuracy: 0.200 # Sets the expected accuracy (in mm) of the endstop. This represents # the maximum error distance the endstop may trigger (eg, if an # endstop may occasionally trigger 100um early or up to 100um late # then set this to 0.200 for 200um). The default is # phases*step_distance. #endstop_phase: # This specifies the phase of the stepper motor driver to expect # when hitting the endstop. Only set this value if one is sure the # stepper motor driver is reset every time the mcu is reset. If this # is not set, then the stepper phase will be detected on the first # home and that phase will be used on all subsequent homes. #endstop_align_zero: False # If true then the position_endstop of the axis will effectively be # modified so that the zero position for the axis occurs at a full # step on the stepper motor. (If used on the Z axis and the print # layer height is a multiple of a full step distance then every # layer will occur on a full step.) The default is False. # Heater cooling fans (one may define any number of sections with a # "heater_fan" prefix). A "heater fan" is a fan that will be enabled # whenever its associated heater is active. By default, a heater_fan # has a shutdown_speed equal to max_power. #[heater_fan my_nozzle_fan] #pin: #max_power: #shutdown_speed: #cycle_time: #hardware_pwm: #kick_start_time: # See the "fan" section in example.cfg for a description of the # above parameters. #heater: extruder # Name of the config section defining the heater that this fan is # associated with. If a comma separated list of heater names is # provided here, then the fan will be enabled when any of the given # heaters are enabled. The default is "extruder". #heater_temp: 50.0 # A temperature (in Celsius) that the heater must drop below before # the fan is disabled. The default is 50 Celsius. #fan_speed: 1.0 # The fan speed (expressed as a value from 0.0 to 1.0) that the fan # will be set to when its associated heater is enabled. The default # is 1.0 # Controller cooling fan (one may define any number of sections with a # "controller_fan" prefix). A "controller fan" is a fan that will be # enabled whenever its associated heater or any configured stepper # driver is active. The fan will stop, whenever an idle_timeout is # reached to ensure no overheating will occur after deactivating a # watched component. #[controller_fan my_controller_fan] #pin: #max_power: #shutdown_speed: #cycle_time: #hardware_pwm: #kick_start_time: # See the "fan" section in example.cfg for a description of the # above parameters. #idle_timeout: # The ammount of time (in seconds) after a stepper driver or heater # was active and the fan should be kept running. The default # is 30 seconds. #idle_speed: # The fan speed (expressed as a value from 0.0 to 1.0) that the fan # will be set to when a heater or stepper driver was active and before # the idle_timeout is reached. This must be greater or equal # max_power. The default is max_power #heater: # Name of the config section defining the heater that this fan is # associated with. If a comma separated list of heater names is # provided here, then the fan will be enabled when any of the given # heaters are enabled. The default is "extruder". # Temperature-triggered cooling fans (one may define any number of # sections with a "temperature_fan" prefix). A "temperature fan" is a # fan that will be enabled whenever its associated sensor is above a # set temperature. By default, a temperature_fan has a shutdown_speed # equal to max_power. #[temperature_fan my_temp_fan] #pin: #max_power: #shutdown_speed: #cycle_time: #hardware_pwm: #kick_start_time: # See the "fan" section in example.cfg for a description of the # above parameters. #sensor_type: EPCOS 100K B57560G104F #sensor_pin: analog13 # See the "heater" section for details about the sensor_type and # sensor_pin parameters. #min_temp: 0 #max_temp: 100 # The maximum range of valid temperatures (in Celsius) that the # sensor must remain within. This controls a safety feature # implemented in the micro-controller code - should the measured # temperature ever fall outside this range then the micro-controller # will go into a shutdown state. Set this range just wide enough so # that reasonable temperatures do not result in an error. These # parameters must be provided. #target_temp: 40.0 # A temperature (in Celsius) that will be the target temperature. # The default is 40 degrees. #max_speed: 1.0 # The fan speed (expressed as a value from 0.0 to 1.0) that the fan # will be set to when the sensor temperature exceeds the set value. # The default is 1.0. #min_speed: 0.3 # The minimum fan speed (expressed as a value from 0.0 to 1.0) that # the fan will be set to for PID temperature fans. # The default is 0.3. #control: watermark # Control algorithm (either watermark or pid). This parameter must # be provided. #pid_Kp: 40 # Kp is the "proportional" constant for the pid. This parameter must # be provided for PID temperature fans. #pid_Ki: 0.2 # Ki is the "integral" constant for the pid. This parameter must be # provided for PID temperature fans. #pid_Kd: 0.1 # Kd is the "derivative" constant for the pid. This parameter must # be provided for PID temperature fans. #pid_deriv_time: 2.0 # A time value (in seconds) over which the derivative in the pid # will be smoothed to reduce the impact of measurement noise. The # default is 2 seconds. #pid_integral_max: # The maximum "windup" the integral term may accumulate. The default # is to use the same value as max_power. #gcode_id: # If set, the temperature will be reported in M105 queries using the # given id. The default is to not report the temperature via M105. # Additional micro-controllers (one may define any number of sections # with an "mcu" prefix). Additional micro-controllers introduce # additional pins that may be configured as heaters, steppers, fans, # etc.. For example, if an "[mcu extra_mcu]" section is introduced, # then pins such as "extra_mcu:ar9" may then be used elsewhere in the # config (where "ar9" is a hardware pin name or alias name on the # given mcu). #[mcu my_extra_mcu] # See the "mcu" section in example.cfg for configuration parameters. # Servos (one may define any number of sections with a "servo" # prefix). The servos may be controlled using the SET_SERVO g-code # command. For example: SET_SERVO SERVO=my_servo ANGLE=180 #[servo my_servo] #pin: ar7 # PWM output pin controlling the servo. This parameter must be # provided. #maximum_servo_angle: 180 # The maximum angle (in degrees) that this servo can be set to. The # default is 180 degrees. #minimum_pulse_width: 0.001 # The minimum pulse width time (in seconds). This should correspond # with an angle of 0 degrees. The default is 0.001 seconds. #maximum_pulse_width: 0.002 # The maximum pulse width time (in seconds). This should correspond # with an angle of maximum_servo_angle. The default is 0.002 # seconds. #initial_angle: 70 # Initial angle to set the servo to when the mcu resets. Must be between # 0 and maximum_servo_angle This parameter is optional. If both # initial_angle and initial_pulse_width are set initial_angle will be used. #initial_pulse_width: 0.0015 # Initial pulse width time (in seconds) to set the servo to when # the mcu resets. Must be between minimum_pulse_width and maximum_pulse_width. # This parameter is optional. If both initial_angle and initial_pulse_width # are set initial_angle will be used #enable: True # Enable or disable servo. It can be enabled or disabled later using # SET_SERVO SERVO=my_servo ENABLE=<0|1> g-command. The default is True (=enabled) # Statically configured digital output pins (one may define any number # of sections with a "static_digital_output" prefix). Pins configured # here will be setup as a GPIO output during MCU configuration. They # can not be changed at run-time. #[static_digital_output my_output_pins] #pins: # A comma separated list of pins to be set as GPIO output pins. The # pin will be set to a high level unless the pin name is prefaced # with "!". This parameter must be provided. # Manual steppers (one may define any number of sections with a # "manual_stepper" prefix). These are steppers that are controlled by # the MANUAL_STEPPER g-code command. For example: "MANUAL_STEPPER # STEPPER=my_stepper MOVE=10 SPEED=5". See the docs/G-Codes.md file # for a description of the MANUAL_STEPPER command. The steppers are # not connected to the normal printer kinematics. #[manual_stepper my_stepper] #step_pin: #dir_pin: #enable_pin: #step_distance: # See the "[stepper_x]" section in example.cfg for a description of # these parameters. #velocity: # Set the default velocity (in mm/s) for the stepper. This value # will be used if a MANUAL_STEPPER command does not specify a SPEED # parameter. The default is 5mm/s. #accel: # Set the default acceleration (in mm/s^2) for the stepper. An # acceleration of zero will result in no acceleration. This value # will be used if a MANUAL_STEPPER command does not specify an ACCEL # parameter. The default is zero. #endstop_pin: # Endstop switch detection pin. If specified, then one may perform # "homing moves" by adding a STOP_ON_ENDSTOP parameter to # MANUAL_STEPPER movement commands. # Run-time configurable output pins (one may define any number of # sections with an "output_pin" prefix). Pins configured here will be # setup as output pins and one may modify them at run-time using # "SET_PIN PIN=my_pin VALUE=.1" type extended g-code commands. #[output_pin my_pin] #pin: # The pin to configure as an output. This parameter must be # provided. #pwm: False # Set if the output pin should be capable of pulse-width-modulation. # If this is true, the value fields should be between 0 and 1; if it # is false the value fields should be either 0 or 1. The default is # False. #static_value: # If this is set, then the pin is assigned to this value at startup # and the pin can not be changed during runtime. A static pin uses # slightly less ram in the micro-controller. The default is to use # runtime configuration of pins. #value: # The value to initially set the pin to during MCU configuration. # The default is 0 (for low voltage). #shutdown_value: # The value to set the pin to on an MCU shutdown event. The default # is 0 (for low voltage). #cycle_time: 0.100 # The amount of time (in seconds) per PWM cycle. It is recommended # this be 10 milliseconds or greater when using software based # PWM. The default is 0.100 seconds for pwm pins. #hardware_pwm: False # Enable this to use hardware PWM instead of software PWM. When # using hardware PWM the actual cycle time is constrained by the # implementation and may be significantly different than the # requested cycle_time. The default is False. #scale: # This parameter can be used to alter how the 'value' and # 'shutdown_value' parameters are interpreted for pwm pins. If # provided, then the 'value' parameter should be between 0.0 and # 'scale'. This may be useful when configuring a PWM pin that # controls a stepper voltage reference. The 'scale' can be set to # the equivalent stepper amperage if the PWM were fully enabled, and # then the 'value' parameter can be specified using the desired # amperage for the stepper. The default is to not scale the 'value' # parameter. # Multiple pin outputs (one may define any number of sections with a # "multi_pin" prefix). A multi_pin output creates an internal pin # alias that can modify multiple output pins each time the alias pin # is set. For example, one could define a "[multi_pin my_fan]" object # containing two pins and then set "pin=multi_pin:my_fan" in the # "[fan]" section - on each fan change both output pins would be # updated. These aliases may not be used with stepper motor pins. #[multi_pin my_multi_pin] #pins: # A comma separated list of pins associated with this alias. This # parameter must be provided. # SAMD SERCOM configuration to specify which pins to use on a given SERCOM. # One may define one section with the "samd_sercom" prefix per # SERCOM available. Each SERCOM must be configured prior to using it as # SPI or I2C peripheral. Place this config section above any other section # that makes use of SPI or I2C buses. #[samd_sercom sercom0] #tx_pin: # MOSI pin for SPI communication, or SDA (data) pin for I2C # communication. The pin must have a valid pinmux configuration # for the given SERCOM peripheral. This parameter must be provided. #rx_pin: # MISO pin for SPI communication. This pin is not used for I2C # communication (I2C uses tx_pin for both sending and receiving). # The pin must have a valid pinmux configuration for the given # SERCOM peripheral. This parameter is optional. #clk_pin: # CLK pin for SPI communication, or SCL (clock) pin for I2C # communication. The pin must have a valid pinmux configuration # for the given SERCOM peripheral. This parameter must be provided. # Statically configured AD5206 digipots connected via SPI bus (one may # define any number of sections with an "ad5206" prefix). #[ad5206 my_digipot] #enable_pin: # The pin corresponding to the AD5206 chip select line. This pin # will be set to low at the start of SPI messages and raised to high # after the message completes. This parameter must be provided. #spi_bus: #spi_speed: #spi_software_sclk_pin: #spi_software_mosi_pin: #spi_software_miso_pin: # These optional parameters allow one to customize the SPI settings # used to communicate with the chip. #channel_1: #channel_2: #channel_3: #channel_4: #channel_5: #channel_6: # The value to statically set the given AD5206 channel to. This is # typically set to a number between 0.0 and 1.0 with 1.0 being the # highest resistance and 0.0 being the lowest resistance. However, # the range may be changed with the 'scale' parameter (see below). # If a channel is not specified then it is left unconfigured. #scale: # This parameter can be used to alter how the 'channel_x' parameters # are interpreted. If provided, then the 'channel_x' parameters # should be between 0.0 and 'scale'. This may be useful when the # AD5206 is used to set stepper voltage references. The 'scale' can # be set to the equivalent stepper amperage if the AD5206 were at # its highest resistance, and then the 'channel_x' parameters can be # specified using the desired amperage value for the stepper. The # default is to not scale the 'channel_x' parameters. # Statically configured MCP4451 digipot connected via I2C bus (one may # define any number of sections with an "mcp4451" prefix). #[mcp4451 my_digipot] #i2c_mcu: mcu # The name of the micro-controller that the MCP4451 chip is # connected to. The default is "mcu". #i2c_address: # The i2c address that the chip is using on the i2c bus. This # parameter must be provided. #wiper_0: #wiper_1: #wiper_2: #wiper_3: # The value to statically set the given MCP4451 "wiper" to. This is # typically set to a number between 0.0 and 1.0 with 1.0 being the # highest resistance and 0.0 being the lowest resistance. However, # the range may be changed with the 'scale' parameter (see # below). If a wiper is not specified then it is left unconfigured. #scale: # This parameter can be used to alter how the 'wiper_x' parameters # are interpreted. If provided, then the 'wiper_x' parameters should # be between 0.0 and 'scale'. This may be useful when the MCP4451 is # used to set stepper voltage references. The 'scale' can be set to # the equivalent stepper amperage if the MCP4451 were at its highest # resistance, and then the 'wiper_x' parameters can be specified # using the desired amperage value for the stepper. The default is # to not scale the 'wiper_x' parameters. # Statically configured MCP4728 digital-to-analog converter connected # via I2C bus (one may define any number of sections with an "mcp4728" # prefix). #[mcp4728 my_dac] #i2c_mcu: mcu # The name of the micro-controller that the MCP4451 chip is # connected to. The default is "mcu". #i2c_address: 96 # The i2c address that the chip is using on the i2c bus. The default # is 96. #channel_a: #channel_b: #channel_c: #channel_d: # The value to statically set the given MCP4728 channel to. This is # typically set to a number between 0.0 and 1.0 with 1.0 being the # highest voltage (2.048V) and 0.0 being the lowest voltage. However, # the range may be changed with the 'scale' parameter (see # below). If a channel is not specified then it is left # unconfigured. #scale: # This parameter can be used to alter how the 'channel_x' parameters # are interpreted. If provided, then the 'channel_x' parameters # should be between 0.0 and 'scale'. This may be useful when the # MCP4728 is used to set stepper voltage references. The 'scale' can # be set to the equivalent stepper amperage if the MCP4728 were at # its highest voltage (2.048V), and then the 'channel_x' parameters # can be specified using the desired amperage value for the # stepper. The default is to not scale the 'channel_x' parameters. # Statically configured MCP4018 digipot connected via two gpio "bit # banging" pins (one may define any number of sections with an # "mcp4018" prefix). #[mcp4018 my_digipot] #scl_pin: # The SCL "clock" pin. This parameter must be provided. #sda_pin: # The SDA "data" pin. This parameter must be provided. #wiper: # The value to statically set the given MCP4018 "wiper" to. This is # typically set to a number between 0.0 and 1.0 with 1.0 being the # highest resistance and 0.0 being the lowest resistance. However, # the range may be changed with the 'scale' parameter (see # below). This parameter must be provided. #scale: # This parameter can be used to alter how the 'wiper' parameter is # interpreted. If provided, then the 'wiper' parameter should be # between 0.0 and 'scale'. This may be useful when the MCP4018 is # used to set stepper voltage references. The 'scale' can be set to # the equivalent stepper amperage if the MCP4018 is at its highest # resistance, and then the 'wiper' parameter can be specified using # the desired amperage value for the stepper. The default is to not # scale the 'wiper' parameter. # Configure an SX1509 I2C to GPIO expander. Due to the delay incurred # by I2C communication you should NOT use SX1509 pins as stepper enable, # step or dir pins or any other pin that requires fast bit-banging. They # are best used as static or gcode controlled digital outputs or hardware-pwm # pins for e.g. fans. One may define any number of sections with an "sx1509" # prefix. Each expander provides a set of 16 pins (sx1509_my_sx1509:PIN_0 to # sx1509_my_sx1509:PIN_15) which can be used in the printer configuration. #[sx1509 my_sx1509] #i2c_mcu: mcu # The name of the micro-controller that the SX1509 chip is connected # to. The default is "mcu". #i2c_address: # I2C address used by this expander. Depending on the hardware jumpers # this is one out of the following addresses: 62 63 112 113. This # parameter must be provided. #i2c_bus: # If the I2C implementation of your microcontroller supports # multiple I2C busses, you may specify the bus name here. The # default is to use the default micro-controller i2c bus. # Configure a TMC2130 stepper motor driver via SPI bus. To use this # feature, define a config section with a "tmc2130" prefix followed by # the name of the corresponding stepper config section (for example, # "[tmc2130 stepper_x]"). This also creates a # "tmc2130_stepper_x:virtual_enable" virtual pin which may be used as # the stepper's enable_pin (for enabling the driver via an SPI # message). #[tmc2130 stepper_x] #cs_pin: # The pin corresponding to the TMC2130 chip select line. This pin # will be set to low at the start of SPI messages and raised to high # after the message completes. This parameter must be provided. #spi_bus: #spi_speed: #spi_software_sclk_pin: #spi_software_mosi_pin: #spi_software_miso_pin: # These optional parameters allow one to customize the SPI settings # used to communicate with the chip. #microsteps: # The number of microsteps to configure the driver to use. Valid # values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must # be provided. #interpolate: True # If true, enable step interpolation (the driver will internally # step at a rate of 256 micro-steps). The default is True. #run_current: # The amount of current (in amps) to configure the driver to use # during stepper movement. This parameter must be provided. #hold_current: # The amount of current (in amps) to configure the driver to use # when the stepper is not moving. The default is to use the same # value as run_current. #sense_resistor: 0.110 # The resistance (in ohms) of the motor sense resistor. The default # is 0.110 ohms. #stealthchop_threshold: 0 # The velocity (in mm/s) to set the "stealthChop" threshold to. When # set, "stealthChop" mode will be enabled if the stepper motor # velocity is below this value. The default is 0, which disables # "stealthChop" mode. #driver_IHOLDDELAY: 8 #driver_TPOWERDOWN: 0 #driver_TBL: 1 #driver_TOFF: 4 #driver_HEND: 7 #driver_HSTRT: 0 #driver_PWM_AUTOSCALE: True #driver_PWM_FREQ: 1 #driver_PWM_GRAD: 4 #driver_PWM_AMPL: 128 #driver_SGT: 0 # Set the given register during the configuration of the TMC2130 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the # above list. #diag1_pin: # The micro-controller pin attached to the DIAG1 line of the TMC2130 # chip. Setting this creates a "tmc2130_stepper_x:virtual_endstop" # virtual pin which may be used as the stepper's endstop_pin. Doing # this enables "sensorless homing". (Be sure to also set driver_SGT # to an appropriate sensitivity value.) The default is to not enable # sensorless homing. See docs/Sensorless_Homing.md for details on how # to configure this. # Configure a TMC2208 (or TMC2224) stepper motor driver via single # wire UART. To use this feature, define a config section with a # "tmc2208" prefix followed by the name of the corresponding stepper # config section (for example, "[tmc2208 stepper_x]"). This also # creates a "tmc2208_stepper_x:virtual_enable" virtual pin which may # be used as the stepper's enable_pin (for enabling the driver via a # UART message). #[tmc2208 stepper_x] #uart_pin: # The pin connected to the TMC2208 PDN_UART line. This parameter # must be provided. #tx_pin: # If using separate receive and transmit lines to communicate with # the driver then set uart_pin to the receive pin and tx_pin to the # transmit pin. The default is to use uart_pin for both reading and # writing. #select_pins: # A comma separated list of pins to set prior to accessing the # tmc2208 UART. This may be useful for configuring an analog mux for # UART communication. The default is to not configure any pins. #microsteps: # The number of microsteps to configure the driver to use. Valid # values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must # be provided. #interpolate: True # If true, enable step interpolation (the driver will internally # step at a rate of 256 micro-steps). The default is True. #run_current: # The amount of current (in amps) to configure the driver to use # during stepper movement. This parameter must be provided. #hold_current: # The amount of current (in amps) to configure the driver to use # when the stepper is not moving. The default is to use the same # value as run_current. #sense_resistor: 0.110 # The resistance (in ohms) of the motor sense resistor. The default # is 0.110 ohms. #stealthchop_threshold: 0 # The velocity (in mm/s) to set the "stealthChop" threshold to. When # set, "stealthChop" mode will be enabled if the stepper motor # velocity is below this value. The default is 0, which disables # "stealthChop" mode. #driver_IHOLDDELAY: 8 #driver_TPOWERDOWN: 20 #driver_TBL: 2 #driver_TOFF: 3 #driver_HEND: 0 #driver_HSTRT: 5 #driver_PWM_AUTOGRAD: True #driver_PWM_AUTOSCALE: True #driver_PWM_LIM: 12 #driver_PWM_REG: 8 #driver_PWM_FREQ: 1 #driver_PWM_GRAD: 14 #driver_PWM_OFS: 36 # Set the given register during the configuration of the TMC2208 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the # above list. # Configure a TMC2209 stepper motor driver via single wire UART. To # use this feature, define a config section with a "tmc2209" prefix # followed by the name of the corresponding stepper config section # (for example, "[tmc2209 stepper_x]"). This also creates a # "tmc2209_stepper_x:virtual_enable" virtual pin which may be used as # the stepper's enable_pin (for enabling the driver via a UART # message). #[tmc2209 stepper_x] #uart_pin: #tx_pin: #select_pins: #microsteps: #interpolate: True #run_current: #hold_current: #sense_resistor: 0.110 #stealthchop_threshold: 0 # See the tmc2208 section above for the definition of these # parameters. #uart_address: # The address of the TMC2209 chip for UART messages (an integer # between 0 and 3). This is typically used when multiple TMC2209 # chips are connected to the same UART pin. The default is zero. #driver_IHOLDDELAY: 8 #driver_TPOWERDOWN: 20 #driver_TBL: 2 #driver_TOFF: 3 #driver_HEND: 0 #driver_HSTRT: 5 #driver_PWM_AUTOGRAD: True #driver_PWM_AUTOSCALE: True #driver_PWM_LIM: 12 #driver_PWM_REG: 8 #driver_PWM_FREQ: 1 #driver_PWM_GRAD: 14 #driver_PWM_OFS: 36 #driver_SGTHRS: 0 # Set the given register during the configuration of the TMC2209 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the # above list. # Configure a TMC2660 stepper motor driver via SPI bus. To use this # feature, define a config section with a tmc2660 prefix followed by # the name of the corresponding stepper config section (for example, # "[tmc2660 stepper_x]"). This also creates a # "tmc2660_stepper_x:virtual_enable" virtual pin which may be used as # the stepper's enable_pin (for enabling the driver via an SPI # message). #[tmc2660 stepper_x] #cs_pin: # The pin corresponding to the TMC2660 chip select line. This pin # will be set to low at the start of SPI messages and set to high # after the message transfer completes. This parameter must be provided. #spi_bus: # Select the SPI bus the TMC2660 stepper driver is connected to. # This depends on the physical connections on your board, as well as # the SPI implementation of your particular micro-controller. The # default is to use the default micro-controller spi bus. #spi_speed: 4000000 # SPI bus frequency used to communicate with the TMC2660 stepper # driver. The default is 4000000. #spi_software_sclk_pin: #spi_software_mosi_pin: #spi_software_miso_pin: # These optional parameters allow one to customize the SPI settings # used to communicate with the chip. #microsteps: # The number of microsteps to configure the driver to use. Valid # values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must # be provided. #interpolate: True # If true, enable step interpolation (the driver will internally # step at a rate of 256 micro-steps). This only works if microsteps # is set to 16. The default is True. #run_current: # The amount of current (in ampere) used by the driver during stepper # movement. This parameter must be provided. #sense_resistor: # The resistance (in ohms) of the motor sense resistor. This parameter # must be provided. #idle_current_percent: 100 # The percentage of the run_current the stepper driver will be # lowered to when the idle timeout expires (you need to set up the # timeout using a [idle_timeout] config section). The current will # be raised again once the stepper has to move again. Make sure to # set this to a high enough value such that the steppers do not lose # their position. There is also small delay until the current is # raised again, so take this into account when commanding fast moves # while the stepper is idling. The default is 100 (no reduction). #driver_TBL: 2 #driver_RNDTF: 0 #driver_HDEC: 0 #driver_CHM: 0 #driver_HEND: 3 #driver_HSTRT: 3 #driver_TOFF: 4 #driver_SEIMIN: 0 #driver_SEDN: 0 #driver_SEMAX: 0 #driver_SEUP: 0 #driver_SEMIN: 0 #driver_SFILT: 1 #driver_SGT: 0 #driver_SLPH: 0 #driver_SLPL: 0 #driver_DISS2G: 0 #driver_TS2G: 3 # Set the given parameter during the configuration of the TMC2660 # chip. This may be used to set custom driver parameters. The # defaults for each parameter are next to the parameter name in the # list above. See the TMC2660 datasheet about what each parameter # does and what the restrictions on parameter combinations are. # Be especially aware of the CHOPCONF register, where setting CHM to # either 0 or one will lead to layout changes (the first bit of HDEC) # is interpreted as the MSB of HSTRT in this case). # Configure a TMC5160 stepper motor driver via SPI bus. To use this # feature, define a config section with a "tmc5160" prefix followed by # the name of the corresponding stepper config section (for example, # "[tmc5160 stepper_x]"). This also creates a # "tmc5160_stepper_x:virtual_enable" virtual pin which may be used as # the stepper's enable_pin (for enabling the driver via an SPI # message). #[tmc5160 stepper_x] #cs_pin: # The pin corresponding to the TMC5160 chip select line. This pin # will be set to low at the start of SPI messages and raised to high # after the message completes. This parameter must be provided. #spi_bus: #spi_speed: #spi_software_sclk_pin: #spi_software_mosi_pin: #spi_software_miso_pin: # These optional parameters allow one to customize the SPI settings # used to communicate with the chip. #microsteps: # The number of microsteps to configure the driver to use. Valid # values are 1, 2, 4, 8, 16, 32, 64, 128, 256. This parameter must # be provided. #interpolate: True # If true, enable step interpolation (the driver will internally # step at a rate of 256 micro-steps). The default is True. #run_current: # The amount of current (in amps) to configure the driver to use # during stepper movement. This parameter must be provided. #hold_current: # The amount of current (in amps) to configure the driver to use # when the stepper is not moving. The default is to use the same # value as run_current. #sense_resistor: 0.075 # The resistance (in ohms) of the motor sense resistor. The default # is 0.075 ohms. #stealthchop_threshold: 0 # The velocity (in mm/s) to set the "stealthChop" threshold to. When # set, "stealthChop" mode will be enabled if the stepper motor # velocity is below this value. The default is 0, which disables # "stealthChop" mode. Try to reexperience this with tmc5160. # Values can be much higher than other tmcs. #driver_IHOLDDELAY: 6 #driver_TPOWERDOWN: 10 #driver_TBL: 2 #driver_TOFF: 3 #driver_HEND: 2 #driver_HSTRT: 5 #driver_FD3: 0 #driver_TPFD: 4 #driver_CHM: 0 #driver_VHIGHFS: 0 #driver_VHIGHCHM: 0 #driver_DISS2G: 0 #driver_DISS2VS: 0 #driver_PWM_AUTOSCALE: True #driver_PWM_AUTOGRAD: True #driver_PWM_FREQ: 1 #driver_FREEWHEEL: 0 #driver_PWM_GRAD: 0 #driver_PWM_OFS: 30 #driver_PWM_REG: 4 #driver_PWM_LIM: 12 #driver_SGT: 0 #driver_SEMIN: 0 #driver_SEUP: 0 #driver_SEMAX: 0 #driver_SEDN: 0 #driver_SEIMIN: 0 #driver_SFILT: 0 # Set the given register during the configuration of the TMC5160 # chip. This may be used to set custom motor parameters. The # defaults for each parameter are next to the parameter name in the # above list. #diag1_pin: # The micro-controller pin attached to the DIAG1 line of the TMC5160 # chip. Setting this creates a "tmc5160_stepper_x:virtual_endstop" # virtual pin which may be used as the stepper's endstop_pin. Doing # this enables "sensorless homing". (Be sure to also set driver_SGT # to an appropriate sensitivity value.) The default is to not enable # sensorless homing. See docs/Sensorless_Homing.md for details on how # to configure this. # Homing override. One may use this mechanism to run a series of # g-code commands in place of a G28 found in the normal g-code input. # This may be useful on printers that require a specific procedure to # home the machine. #[homing_override] #gcode: # A list of G-Code commands to execute in place of G28 commands # found in the normal g-code input. See docs/Command_Templates.md # for G-Code format. If a G28 is contained in this list of commands # then it will invoke the normal homing procedure for the printer. # The commands listed here must home all axes. This parameter must # be provided. #axes: xyz # The axes to override. For example, if this is set to "z" then the # override script will only be run when the z axis is homed (eg, via # a "G28" or "G28 Z0" command). Note, the override script should # still home all axes. The default is "xyz" which causes the # override script to be run in place of all G28 commands. #set_position_x: #set_position_y: #set_position_z: # If specified, the printer will assume the axis is at the specified # position prior to running the above g-code commands. Setting this # disables homing checks for that axis. This may be useful if the # head must move prior to invoking the normal G28 mechanism for an # axis. The default is to not force a position for an axis. # Safe Z homing. One may use this mechanism to home the Z axis at a # specific XY coordinate. This is useful if the toolhead, for example # has to move to the center of the bed before Z can be homed. #[safe_z_home] #home_xy_position: # A X,Y coordinate (e.g. 100,100) where the Z homing should be # performed. This parameter must be provided. #speed: 50.0 # Speed at which the toolhead is moved to the safe Z home coordinate. # The default is 50 mm/s #z_hop: 0.0 # Lift the Z axis prior to homing. This is applied to any homing command, # even if it doesn't home the Z axis. If the Z axis is already homed and # the zhop would exceed the printer limits, the zhop is ignored. # The default is 0.0mm. #z_hop_speed: 20.0 # Speed at which the Z axis is lifted prior to homing. The default is 20mm/s. # Support manually moving stepper motors for diagnostic purposes. # Note, using this feature may place the printer in an invalid state - # see docs/G-Codes.md for important details. #[force_move] #enable_force_move: False # Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION # extended G-Code commands. The default is false. # A virtual sdcard may be useful if the host machine is not fast # enough to run OctoPrint well. It allows the Klipper host software to # directly print gcode files stored in a directory on the host using # standard sdcard G-Code commands (eg, M24). #[virtual_sdcard] #path: ~/.octoprint/uploads/ # The path of the local directory on the host machine to look for # g-code files. This is a read-only directory (sdcard file writes # are not supported). One may point this to OctoPrint's upload # directory (generally ~/.octoprint/uploads/ ). This parameter must # be provided. # Support for a display attached to the micro-controller. #[display] #lcd_type: # The type of LCD chip in use. This may be "hd44780" (which is used # in "RepRapDiscount 2004 Smart Controller" type displays), "st7920" # (which is used in "RepRapDiscount 12864 Full Graphic Smart # Controller" type displays), "uc1701" (which is used in "MKS Mini # 12864" type displays), or "ssd1306". This parameter must be # provided. #rs_pin: #e_pin: #d4_pin: #d5_pin: #d6_pin: #d7_pin: # The pins connected to an hd44780 type lcd. These parameters must # be provided when using an hd44780 display. #cs_pin: #sclk_pin: #sid_pin: # The pins connected to an st7920 type lcd. These parameters must be # provided when using an st7920 display. #cs_pin: #a0_pin: # The pins connected to an uc1701 type lcd. These parameters must be # provided when using an uc1701 display. #rs_pin: #cs_pin: #a0_pin: # The pins connected to an st7567 type lcd. These parameters must be # provided when using an st7567 display. #contrast: # The contrast to set when using a uc1701/st7567 type displays. The value # may range from 0 to 63. Default is 40 for uc1701 and 60 for st7567. #cs_pin: #dc_pin: #spi_bus: #spi_speed: #spi_software_sclk_pin: #spi_software_mosi_pin: #spi_software_miso_pin: # The pins connected to an ssd1306 type lcd when in "4-wire" spi # mode. The parameters that start with "spi_" are optional and they # control the spi settings used to communicate with the chip. The # default is to use i2c mode for ssd1306 displays. #menu_root: # Entry point for menu, root menu container name. If this parameter # is not provided then default menu root is used. When provided # menu entry is 'deck' type then it'll be initiated immediately at startup. # Description of menu items is located in example-menu.cfg file. #menu_timeout: # Timeout for menu. Being inactive this amount of seconds will trigger # menu exit or return to root menu when having autorun enabled. # The default is 0 seconds (disabled) #encoder_pins: # The pins connected to encoder. 2 pins must be provided when # using encoder. This parameter must be provided when using menu. #click_pin: # The pin connected to 'enter' button or encoder 'click'. This parameter # must be provided when using menu. The presence of an 'analog_range_click_pin' # config parameter turns this parameter from digital to analog. #back_pin: # The pin connected to 'back' button. This parameter is optional, menu # can be used without it. The presence of an 'analog_range_back_pin' # config parameter turns this parameter from digital to analog. #up_pin: # The pin connected to 'up' button. This parameter must be provided # when using menu without encoder. The presence of an 'analog_range_up_pin' # config parameter turns this parameter from digital to analog. #down_pin: # The pin connected to 'down' button. This parameter must be provided # when using menu without encoder. The presence of an 'analog_range_down_pin' # config parameter turns this parameter from digital to analog. #kill_pin: # The pin connected to 'kill' button. This button will call emergency stop. # The presence of an 'analog_range_kill_pin' config parameter turns this # parameter from digital to analog. #analog_pullup_resistor: 4700 # The resistance (in ohms) of the pullup attached to the analog button. # The default is 4700 ohms. #analog_pin_debug: # When enabled it will output analog (ADC) button readings to the log. # It's useful for finding analog button resistance range values. # The default is False (disabled) #analog_range_click_pin: # The resistance range for a 'enter' button. Range minimum and maximum # comma-separated values must be provided when using analog button. #analog_range_back_pin: # The resistance range for a 'back' button. Range minimum and maximum # comma-separated values must be provided when using analog button. #analog_range_up_pin: # The resistance range for a 'up' button. Range minimum and maximum # comma-separated values must be provided when using analog button. #analog_range_down_pin: # The resistance range for a 'down' button. Range minimum and maximum # comma-separated values must be provided when using analog button. #analog_range_kill_pin: # The resistance range for a 'kill' button. Range minimum and maximum # comma-separated values must be provided when using analog button. # Custom thermistors (one may define any number of sections with a # "thermistor" prefix). A custom thermistor may be used in the # sensor_type field of a heater config section. (For example, if one # defines a "[thermistor my_thermistor]" section then one may use a # "sensor_type: my_thermistor" when defining a heater.) Be sure to # place the thermistor section in the config file above its first use # in a heater section. #[thermistor my_thermistor] #temperature1: #resistance1: #temperature2: #resistance2: #temperature3: #resistance3: # Three resistance measurements (in Ohms) at the given temperatures # (in Celsius). The three measurements will be used to calculate the # Steinhart-Hart coefficients for the thermistor. These parameters # must be provided when using Steinhart-Hart to define the # thermistor. #beta: # Alternatively, one may define temperature1, resistance1, and beta # to define the thermistor parameters. This parameter must be # provided when using "beta" to define the thermistor. # Custom ADC temperature sensors (one may define any number of # sections with an "adc_temperature" prefix). This allows one to # define a custom temperature sensor that measures a voltage on an # Analog to Digital Converter (ADC) pin and uses linear interpolation # between a set of configured temperature/voltage (or # temperature/resistance) measurements to determine the # temperature. The resulting sensor can be used as a sensor_type in a # heater section. (For example, if one defines a "[adc_temperature # my_sensor]" section then one may use a "sensor_type: my_sensor" when # defining a heater.) Be sure to place the sensor section in the # config file above its first use in a heater section. #[adc_temperature my_sensor] #temperature1: #voltage1: #temperature2: #voltage2: #... # A set of temperatures (in Celsius) and voltages (in Volts) to use # as reference when converting a temperature. At least two # measurements must be provided. #temperature1: #resistance1: #temperature2: #resistance2: #... # Alternatively one may specify a set of temperatures (in Celsius) # and resistance (in Ohms) to use as reference when converting a # temperature. At least two measurements must be provided. # MAXxxxxx serial peripheral interface (SPI) temperature based # sensors. The following parameters are available in heater sections # that use one of these sensor types. #[extruder] # See the "extruder" section in example.cfg for a description of # heater parameters. The parameters below describe sensor parameters. #sensor_type: # One of "MAX6675", "MAX31855", "MAX31856", or "MAX31865". #spi_speed: 4000000 # The SPI speed (in hz) to use when communicating with the chip. # The default is 4000000. #spi_bus: #spi_software_sclk_pin: #spi_software_mosi_pin: #spi_software_miso_pin: # These optional parameters allow one to customize the SPI settings # used to communicate with the chip. #sensor_pin: # The chip select line for the sensor chip. This parameter must be # provided. #tc_type: K #tc_use_50Hz_filter: False #tc_averaging_count: 1 # The above parameters control the sensor parameters of MAX31856 # chips. The defaults for each parameter are next to the parameter # name in the above list. #rtd_nominal_r: 100 #rtd_reference_r: 430 #rtd_num_of_wires: 2 #rtd_use_50Hz_filter: False # The above parameters control the sensor parameters of MAX31865 # chips. The defaults for each parameter are next to the parameter # name in the above list. # G-Code macros (one may define any number of sections with a # "gcode_macro" prefix). #[gcode_macro my_cmd] #gcode: # A list of G-Code commands to execute in place of "my_cmd". See # docs/Command_Templates.md for G-Code format. This parameter must # be provided. #default_parameter_: # One may define any number of options with a "default_parameter_" # prefix. Use this to define default values for g-code parameters. # For example, if one were to define the macro MY_DELAY with gcode # "G4 P{DELAY}" along with "default_parameter_DELAY = 50" then the # command "MY_DELAY" would evaluate to "G4 P50". The default is to # require that all parameters used in the gcode script be present in # the command invoking the macro. #variable_: # One may specify any number of options with a "variable_" prefix. # The given variable name will be assigned the given value (parsed # as a Python literal) and will be available during macro expansion. # For example, a config with "variable_fan_speed = 75" might have # gcode commands containing "M106 S{ fan_speed * 255 }". Variables # can be changed at run-time using the SET_GCODE_VARIABLE command. # Enable the "M118" and "RESPOND" extended commands. # [respond] # default_type: echo # Sets the default prefix of the "M118" and "RESPOND" output to one of # the following: # echo: "echo: " (This is the default) # command: "// " # error: "!! " # default_prefix: echo: # Directly sets the default prefix. If present, this value will override # the "default_type". # The heater_generic section is used to describe a custom/generic heater. # These behave the same as typical heaters (extruders, heated beds) and # can be configured as similarly. # However, a gcode_id must be supplied which is used for temperature reporting. # See notes on the SET_HEATER_TEMPERATURE command for setting the temperature. #[heater_generic my_generic_heater] #gcode_id: C # A mandatory parameter that is required for reporting the temperature # through the M105 command. #heater_pin: #max_power: #sensor_type: #sensor_pin: #pullup_resistor: #adc_voltage: #smooth_time: #control: #pid_Kp: #pid_Ki: #pid_Kd: #pid_integral_max: #pwm_cycle_time: #min_extrude_temp: #min_temp: #max_temp: # See the heater section in example.cfg for the definition of the # above parameters. # Temperature sensors. One can define any number of temperature # sensors. Their values are reported via the M105 command. #[temperature_sensor my_sensor] #sensor_type: #sensor_pin: #min_temp: #max_temp: # See the heater section in example.cfg for the definition of the # above parameters. #gcode_id: # See the heater_generic section above for the definition of this # parameter. # Pause/Resume functionality with support of position capture and restore #[pause_resume] #recover_velocity: 50. # When capture/restore is enabled, the speed at which to return to # the captured position (in mm/s). Default is 50.0 mm/s. # Filament Switch Sensor. Support for filament insert and runout detection # using a switch sensor, such as an endstop switch. #[filament_switch_sensor my_sensor] #pause_on_runout: True # When set to True, a PAUSE will execute immediately after a runout # is detected. Note that if pause_on_runout is False and the # runout_gcode is omitted then runout detection is disabled. Default # is True. #runout_gcode: # A list of G-Code commands to execute after a filament runout is # detected. See docs/Command_Templates.md for G-Code format. If # pause_on_runout is set to True this G-Code will run after the # PAUSE is complete. The default is not to run any G-Code commands. #insert_gcode: # A list of G-Code commands to execute after a filament insert is # detected. See docs/Command_Templates.md for G-Code format. The # default is not to run any G-Code commands, which disables insert # detection. #event_delay: 3.0 # The minimum amount of time in seconds to delay between events. # Events triggered during this time period will be silently # ignored. The default is 3 seconds. #switch_pin: # The pin on which the switch is connected. This parameter must be # provided. # TSLl401CL Based Filament Width Sensor #[tsl1401cl_filament_width_sensor] #pin: analog5 #default_nominal_filament_diameter: 1.75 # (mm) # Maximum allowed filament diameter difference as mm #max_difference: 0.2 # The distance from sensor to the melting chamber as mm #measurement_delay: 100 # Neopixel (aka WS2812) LED support (one may define any number of # sections with a "neopixel" prefix). One may set the LED color via # "SET_LED LED=my_neopixel RED=0.1 GREEN=0.1 BLUE=0.1" type extended # g-code commands. #[neopixel my_neopixel] #pin: # The pin connected to the neopixel. This parameter must be # provided. #chain_count: # The number of Neopixel chips that are "daisy chained" to the # provided pin. The default is 1 (which indices only a single # Neopixel is connected to the pin). #color_order_GRB: True # Set the pixel order to green, red, blue. If using the WS2811 chip # (in 800Khz mode) then set this to False. The default is True. #initial_RED: 0.0 #initial_GREEN: 0.0 #initial_BLUE: 0.0 # Sets the initial LED color of the Neopixel. Each value should be # between 0.0 and 1.0. The default for each color is 0. # Dotstar (aka APA102) LED support (one may define any number of # sections with a "dotstar" prefix). One may set the LED color via # "SET_LED LED=my_dotstar RED=0.1 GREEN=0.1 BLUE=0.1" type extended # g-code commands. #[dotstar my_dotstar] #data_pin: # The pin connected to the data line of the dotstar. This parameter # must be provided. #clock_pin: # The pin connected to the clock line of the dotstar. This parameter # must be provided. #chain_count: #initial_RED: 0.0 #initial_GREEN: 0.0 #initial_BLUE: 0.0 # See the "neopixel" section for information on these parameters. # Firmware filament retraction. This enables G10 (retract) and G11 # (unretract) GCODE commands issued by many slicers. The parameters # below provide startup defaults, although the values can be adjusted # via the SET_RETRACTION command, allowing per-filament settings and # runtime tuning. #[firmware_retraction] #retract_length: 0 # The length of filament (in mm) to retract when G10 is activated, and to # unretract when G11 is activated (but see unretract_extra_length below). # The default is 0 mm. #retract_speed: 20 # The speed of retraction, in mm/s. The default is 20 mm/s. #unretract_extra_length: 0 # The length (in mm) of *additional* filament to add when unretracting. #unretract_speed: 10 # The speed of unretraction, in mm/s. The default is 10 mm/s. # Include file support. One may include additional config file from # the main printer config file. Wildcards may also be used (eg, # "configs/*.cfg"). #[include my_other_config.cfg] # Replicape support - see the generic-replicape.cfg file for further # details. #[replicape] # Execute gcode when a button is pressed or released (or when a pin changes # state). You can check the state of the button my using # QUERY_BUTTON button=my_gcode_button #[gcode_button my_gcode_button] #pin: # The pin on which the button is connected. This parameter must be # provided. #press_gcode: # A list of G-Code commands to execute when the button is pressed. # G-Code templates are supported. #release_gcode: # A list of G-Code commands to execute when the button is released. # G-Code templates are supported. # Execute a gcode on a set delay. #[delayed_gcode my_delayed_gcode] #initial_duration: 0. # The duration of the initial delay (in seconds). If set to a non-zero # value the delayed_gcode will execute the specified number of seconds # after the printer enters the "ready" state. This can be useful for # initialization procedures or a repeating delayed_gcode. If set to 0 # the delayed_gcode will not execute on startup. Default is 0. #gcode: # A list of G-Code commands to execute when the delay duration has # elapsed. G-Code templates are supported. This parameter must be # provided.