Parameters
Writing parameters
To write a parameter, send an F22 P V command, where P is the parameter number and V is the parameter value.
Reading parameters
To read parameters, use one of the following two commands.
| Action | Command | Parameter Number | 
|---|---|---|
| Report all parameters | F20 | |
| Read parameter | F21 | P | 
The firmware will respond in the format R21 P V, where P is the parameter number and V is the parameter value.
List of parameters
The firmware uses the following parameters, as found in the code repository at src/ParameterList.h.
General
| ID | Name | Description | 
|---|---|---|
| 0 | PARAM_VERSION | Version number of the parameter set | 
| 1 | PARAM_TEST | Used for diagnostics | 
| 2 | PARAM_CONFIG_OK | Set when the firmware is sufficiently configured | 
Movements
| ID | Name | Description | 
|---|---|---|
| 4 | PARAM_E_STOP_ON_MOV_ERR | Determines wether or not the firmware should emergency stop upon movement error | 
| 5 | PARAM_MOV_NR_RETRY | Number of times to retry a movement before stopping with error | 
| 11 12 13 | MOVEMENT_TIMEOUT_XMOVEMENT_TIMEOUT_YMOVEMENT_TIMEOUT_Z | Time in seconds before a movement along an axis times out and stops with error | 
Motors
| ID | Name | Description | 
|---|---|---|
| 15 16 17 | MOVEMENT_KEEP_ACTIVE_XMOVEMENT_KEEP_ACTIVE_YMOVEMENT_KEEP_ACTIVE_Z | Determines if motors should remain powered when idle | 
| 31 32 33 | MOVEMENT_INVERT_MOTOR_XMOVEMENT_INVERT_MOTOR_YMOVEMENT_INVERT_MOTOR_Z | Reverses the direction a motor spins when moving in both the positive and negative directions | 
| 36 | MOVEMENT_SECONDARY_MOTOR_X | Enables the use of a second X-axis motor | 
| 37 | MOVEMENT_SECONDARY_MOTOR_INVERT_X | Inverts the rotation of the second X-axis motor | 
| 51 52 53 | MOVEMENT_HOME_UP_XMOVEMENT_HOME_UP_YMOVEMENT_HOME_UP_Z | Determines which direction the bot must move to reach the home (zero) position | 
| 55 56 57 | MOVEMENT_STEP_PER_MM_XMOVEMENT_STEP_PER_MM_YMOVEMENT_STEP_PER_MM_Z | Determines the steps/mm scaling factor | 
Motor speeds
| ID | Name | Description | 
|---|---|---|
| 41 42 43 | MOVEMENT_STEPS_ACC_DEC_XMOVEMENT_STEPS_ACC_DEC_YMOVEMENT_STEPS_ACC_DEC_Z | Number of steps used to accelerate along an axis | 
| 61 62 63 | MOVEMENT_MIN_SPD_XMOVEMENT_MIN_SPD_YMOVEMENT_MIN_SPD_Z | Minimum speed in steps/second | 
| 71 72 73 | MOVEMENT_MAX_SPD_XMOVEMENT_MAX_SPD_YMOVEMENT_MAX_SPD_Z | Maximum speed in steps/second | 
| 65 66 67 | MOVEMENT_HOME_SPEED_XMOVEMENT_HOME_SPEED_YMOVEMENT_HOME_SPEED_Z | Homing and calibrating speed in steps/second | 
Endpoints
| ID | Name | Description | 
|---|---|---|
| 25 26 27 | MOVEMENT_ENABLE_ENDPOINTS_XMOVEMENT_ENABLE_ENDPOINTS_YMOVEMENT_ENABLE_ENDPOINTS_Z | Enables the use of endstop hardware such as limit switches | 
| 21 22 23 | MOVEMENT_INVERT_ENDPOINTS_XMOVEMENT_INVERT_ENDPOINTS_YMOVEMENT_INVERT_ENDPOINTS_Z | Inverts which endstop represents the maximum and minimum locations along an axis | 
| 75 76 77 | MOVEMENT_INVERT_2_ENDPOINTS_XMOVEMENT_INVERT_2_ENDPOINTS_YMOVEMENT_INVERT_2_ENDPOINTS_Z | Changes the type of limit switch being used from NO to NC | 
| 45 46 47 | MOVEMENT_STOP_AT_HOME_XMOVEMENT_STOP_AT_HOME_YMOVEMENT_STOP_AT_HOME_Z | Determines if the bot is allowed to move past the minimum/home (zero) position | 
| 145 146 147 | MOVEMENT_STOP_AT_MAX_XMOVEMENT_STOP_AT_MAX_YMOVEMENT_STOP_AT_MAX_Z | Determines if the bot is allowed to move past the maximum position | 
| 141 142 143 | MOVEMENT_AXIS_NR_STEPS_XMOVEMENT_AXIS_NR_STEPS_YMOVEMENT_AXIS_NR_STEPS_Z | Size of an axis in steps (lower byte) | 
| 151 152 153 | MOVEMENT_AXIS_NR_STEPS_H_XMOVEMENT_AXIS_NR_STEPS_H_YMOVEMENT_AXIS_NR_STEPS_H_Z | Size of an axis in steps (higher byte) | 
TMC2130 stepper drivers
| ID | Name | Description | 
|---|---|---|
| 81 82 83 | MOVEMENT_MOTOR_CURRENT_XMOVEMENT_MOTOR_CURRENT_YMOVEMENT_MOTOR_CURRENT_Z | Sets the current in milliamps | 
| 85 86 87 | MOVEMENT_STALL_SENSITIVITY_XMOVEMENT_STALL_SENSITIVITY_YMOVEMENT_STALL_SENSITIVITY_Z | Sets the amount of back emf required to trigger a stall | 
| 91 92 93 | MOVEMENT_MICROSTEPS_XMOVEMENT_MICROSTEPS_YMOVEMENT_MICROSTEPS_Z | Sets the number of microsteps per step | 
Encoders
| ID | Name | Description | 
|---|---|---|
| 101 102 103 | ENCODER_ENABLED_XENCODER_ENABLED_YENCODER_ENABLED_Z | Enables the use of rotary encoders | 
| 105 106 107 | ENCODER_TYPE_XENCODER_TYPE_YENCODER_TYPE_Z | Sets the type of encoder being used (single ended or differential) | 
| 111 112 113 | ENCODER_MISSED_STEPS_MAX_XENCODER_MISSED_STEPS_MAX_YENCODER_MISSED_STEPS_MAX_Z | Sets the maximum number of steps an encoder can deviate from the expected count before determining a stall has occurred | 
| 115 116 117 | ENCODER_SCALING_XENCODER_SCALING_YENCODER_SCALING_Z | Determines the scaling factor between encoder steps and motor steps | 
| 121 122 123 | ENCODER_MISSED_STEPS_DECAY_XENCODER_MISSED_STEPS_DECAY_YENCODER_MISSED_STEPS_DECAY_Z | Sets the amount the missed encoder step count should decrease by with each recorded step | 
| 125 126 127 | ENCODER_USE_FOR_POS_XENCODER_USE_FOR_POS_YENCODER_USE_FOR_POS_Z | Determines if the controller should continue moving based on the position as reported by the encoders | 
| 131 132 133 | ENCODER_INVERT_XENCODER_INVERT_YENCODER_INVERT_Z | Reverses the direction the encoder must rotate to count in each direction | 
Pin guard
| ID | Name | Description | 
|---|---|---|
| 201 202 203 | PIN_GUARD_1_PIN_NRPIN_GUARD_1_TIME_OUTPIN_GUARD_1_ACTIVE_STATE | Pin guard 1 pin number, timeout (in seconds), and active state (low or high) | 
| 205 206 207 | PIN_GUARD_2_PIN_NRPIN_GUARD_2_TIME_OUTPIN_GUARD_2_ACTIVE_STATE | Pin guard 2 pin number, timeout (in seconds), and active state (low or high) | 
| 211 212 213 | PIN_GUARD_3_PIN_NRPIN_GUARD_3_TIME_OUTPIN_GUARD_3_ACTIVE_STATE | Pin guard 3 pin number, timeout (in seconds), and active state (low or high) | 
| 215 216 217 | PIN_GUARD_4_PIN_NRPIN_GUARD_4_TIME_OUTPIN_GUARD_4_ACTIVE_STATE | Pin guard 4 pin number, timeout (in seconds), and active state (low or high) | 
| 221 222 223 | PIN_GUARD_5_PIN_NRPIN_GUARD_5_TIME_OUTPIN_GUARD_5_ACTIVE_STATE | Pin guard 5 pin number, timeout (in seconds), and active state (low or high) | 
Deprecated
The following parameters are no longer used, though support for them may still remain in the firmware.
| ID | Name | Description | 
|---|---|---|
| 3 | PARAM_USE_EEPROM | |
| 18 19 20 | MOVEMENT_HOME_AT_BOOT_XMOVEMENT_HOME_AT_BOOT_YMOVEMENT_HOME_AT_BOOT_Z | Deprecated |