Please click here if you are unsure of any of the terms in the options that follow.
The feed rate is the speed for "feed" movements ( G1/G2/G3 ) during which the tool is active, as opposed to "seek" movements ( G0 ) during which the tool is inactive
This value is the default speed, that will be used for feed moves at boot time, until a speed is actually specificed by a F parameter
In simple terms, the "feed rate" is the speed the cutting tool is moving while performing an actuall cutting of the material at a starting preset rate until an actuall feed rate is specified.
The seek rate is the speed for "seek" movements ( G0 ) during which the tool is inactive, as opposed to "feed" movements ( G1/G2/G3 ) during which the tool is active
This value is the default speed, that will be used for seek moves at boot time, until a speed is actually specificed by a F parameter
In simpler trms, this is the speed at which the cutting head moves into position before performing an actual cutting operation, at a default spped until an actual speed is specified in the design file.
Arcs ( generated by the G2/G3 G-codes ), are cut into small segments
This value determines how small the segments should be
Smaller values mean more precision, but also more processing power being used
In simpler terms, the smaller the number , the more acurate the arc will be, but at the expense of processing time.
Lines can be cut into smaller segments, but this is optional
If this value is set, lines will be cut into smaller segments, the length of which will not be longer than this value
This can be useful if your machine is exceptionally large, or if you are not using the cartesian arm solution, but is generally not used
Unless you have a strangely set up machine you can ignore this setting.
The alpha actuator is typically the X axis on cartesian machines (like in a gantry setup), and the first tower on delta machines. By default it controls the M1 motor driver.
This value sets the number of steps of the stepper motor to rotate, for the axis to move (in a straight line) one millimeter
Note that this value corresponds to the number of steps the microcontroller generates, therefore it refers to microsteps, not full stepper motor steps
The best way to make sure this value is accurate is to create a design file with a line of known length, make the cut, then measure with a micrometer to verify the distance. If it is not accurate, adjust this value and re-run the cut file and remeasure. Do this until you have an accurate steps/mm.
The beta actuator is typically the Y axis on cartesian machines (like in a gantry machine), and the second tower on delta machines. By default it controls the M2 motor driver.
This value sets the number of steps of the stepper motor to rotate, for the axis to move (in a straight line) one millimeter
Note that this value corresponds to the number of steps the microcontroller generates, therefore it refers to microsteps, not full stepper motor steps
The gamma actuator is typically the Z axis on cartesian machines (like in a gantry machine), and the third tower on delta machines. By default it controls the M3 motor driver.
This value sets the number of steps of the stepper motor to rotate, for the axis to move (in a straight line) one millimeter
Note that this value corresponds to the number of steps the microcontroller generates, therefore it refers to microsteps, not full stepper motor steps
The best way to make sure this value is accurate is to create a design file with a line of known length, make the cut, then measure with a micrometer to verify the distance. If it is not accurate, adjust this value and re-run the cut file and remeasure. Do this until you have an accurate steps/mm.
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
If unsure of the type of machine you have, cartesian is the standard x,y basic CNC setup. 90% plus of machines are of this style. If you have custom built a machine that is not like this, you are probably aware of what type it is. You can always Google the differnt machine types if unsure.
In the case of a linear_delta arm solution, this is the length of an arm from hinge to hinge
Only change this value if you know for sure that this is the type of machine you have.
In the case of a linear_delta arm solution, this is the horizontal distance from hinge to hinge when the effector is centered
Only change this value if you know for sure that this is the type of machine you have.
In the case of a rotatable_cartesian arm solution, angle by which the plane is rotated
Only change this value if you know for sure that this is the type of machine you have.
In the case of a morgan arm solution, length of the first arm
Only change this value if you know for sure that this is the type of machine you have.
In the case of a morgan arm solution, length of the second arm
Only change this value if you know for sure that this is the type of machine you have.
In the case of a morgan arm solution, X offset
Only change this value if you know for sure that this is the type of machine you have.
In the case of a morgan arm solution, Y offset
Only change this value if you know for sure that this is the type of machine you have.
In the case of a morgan arm solution, scaling in the X axis
Only change this value if you know for sure that this is the type of machine you have.
In the case of a morgan arm solution, scaling in the Y axis
Only change this value if you know for sure that this is the type of machine you have.
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 !
Really, we meant it, don't adjust this unless you understand the code behind this function and know what it means.
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.
The best way to adjust this is to start with a low value and raise it slowly until the quality decreases, then lower it back dowen to the value that last provide a stable machine.
Acceleration for Z only moves, in millimeters/second/second, same as acceleration but for movements of the Z axis
Do not set this value if you use a delta arm solution.
Once again, the best way to adjust this is to start with a low value and raise it slowly until the quality decreases, then lower it back dowen to the value that last provide a stable machine.
Number of times per second the speed is updated
Do not modify unless you know exactly what you are doing !
Realy, we maean don't adjust this unless you understand the code behind this function and know what it means.
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
You are best to use lower values as they will provide better quality results, with not that much increase in processing time.
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.
This can usually be set to 0, unless you notice a decrease in quality. If so, enable it and see if this helps.
Sets the minimum planner speed in millimetres/sec
This is the lowest speed the planner will ever set a move to
Not generally useful.
99.9% of users can ignore this setting.
Duration of step pulses to the stepper motor drivers, in microseconds
If you notice that the stepper motor is skiupping sets, try increasing this value slowly, until the problem goes away.
Base frequency for stepping, a fixed frequency all step generation is synchronized with, higher values gives smoother movement
Do not modify unless you know exactly what you are doing, 100khz ( 100000 ) is the only officially supported value.
Maximum allowable speed for the X axis, in millimetres/minute
Smoothie will never exceed that value for that axis.
Too high of a value will cause the stepper motors to lose steps, as well decreasing the accuracy and quality.
Maximum allowable speed for the Y axis, in millimetres/minute
Smoothie will never exceed that value for that axis.
Too high of a value will cause the stepper motors to lose steps, as well decreasing the accuracy and quality.
Maximum allowable speed for the Z axis, in millimetres/minute
Smoothie will never exceed that value for that axis.
Too high of a value will cause the stepper motors to lose steps, as well decreasing the accuracy and quality.
Pin for alpha stepper step signal
Alpha usually refers to the X axis.
Pin for alpha stepper direction
Alpha usually refers to the X axis.
Pin for alpha enable pin
Alpha usually refers to the X axis.
When a driver is disabled, the motor has no holding torque and can be moved freely by hand
Alpha, or M1 stepper motor driver current, in Amperes.
Alpha usually refers to the X axis.
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.
Alpha usually refers to the X axis.
Pin for beta stepper step signal
Beta usually refers to the Y axis.
Pin for beta stepper direction
Beta usually refers to the Y axis.
Pin for beta enable
Beta usually refers to the Y axis.
When a driver is disabled, the motor has no holding torque and can be moved freely by hand
Beta, or M2 stepper motor driver current, in Amperes.
Beta usually refers to the Y axis.
Maximum allowable speed for this actuator, in millimetres/minute.
Beta usually refers to the Y axis.
Pin for gamma stepper step signal
Gamma usually refers to the Z axis.
Pin for gamma stepper direction
Gamma usually refers to the Z axis.
Pin for gamma enable
Gamma usually refers to the Z axis.
When a driver is disabled, the motor has no holding torque and can be moved freely by hand
Gamma, or M3 stepper motor driver current, in Amperes.
Gamma usually refers to the Z axis.
Maximum allowable speed for this actuator , in millimetres/minute.
Gamma usually refers to the Z axis.
Baud rate for the default hardware serial port ( UART0, labelled "Serial" on the board, close to the USB connector )
Defaults to 9600 baud if undefined, or if the configuration file can not be read.
115000 is usually the upper limit of this speed, works on most configurations.
This enables a second serial port over the USB connection ( for example to have both Pronterface and a terminal connected)
Depending on your configuration, this may slow down communications.
Disable the 4 flashing LEDs on the board
Not necessary unless they bother you with their flashing
Disable the "play" status LED
Not necessary unless it bothers you with its flashing
Enable the "pause" input button
Allows you to pause the job that is running.
Pin for the "pause" input button
This refers to the pin on the smoothieboard that you connect to the button you want to use as the pause button.
Enable the "kill" button
Allows you to kill, or permantly stop the job that is running.
Pin for the "kill" button
This refers to the pin on the smoothieboard that you connect to the button you want to use as the kill button.
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)
Not usually required.
For Linux developers, set to true to enable DFU, which allows you to flash new firmwares over USB
If set to true, return an error if a G-code is received but not understood.
This is very usefull for diagnosing troublesome G code files.
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
Enabling this option allows you to set the current available to the stepper motors without having to manually use a screwdriver like on stepstick drivers
Select the digipot chip with which to control the current for the stepper motor drivers
Supported chips are mcp4451 and ad5206
Check your control board specifications to determine which chip you have, if any.
Maximum current that can be set
Setting this too high may damage your stepper motor or the driver chip.
Factor for converting the current into digipot values
??????????????????
Current setting for the 6th stepper motor driver current control
Very few boards have this many motor drivers, so you will probably not need to use this option
Current setting for the 7th stepper motor driver current control
Very few boards have this many motor drivers, so you will probably not need to use this option
Current setting for the 8th stepper motor driver current control
Very few boards have this many motor drivers, so you will probably not need to use this option
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.
Be carefull not to include any commands that would harm your machine, like spindle controls or turning the laser on.
If set to true, play the on_boot_gcode file when the board boots up
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
If you are unsure of G code programming, it is best not to use this option
G-code to execute automatically right after the resume command is received, but before resuming execution
This is useful in particular to un-do what was done by after_suspend_gcode
If you are unsure of G code programming, it is best not to use this option
The _ character gets converted into space
If set to true, heaters are left ON when the suspend command is received
If set to false, heaters are turned OFF when suspend is received, and then turned back ON when resume is received.
If you are using the run gcode before/after suspend option, make sure that you are not duplicating any of its commands by running this option
Whether to activate the extruder module at all
All configuration of the extruder(s) 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.
Steps/millimetre for the extruder stepper motor
This is the number of steps to move one millimetre of filament
To calculate exactly, make a mark on your filament 100mm above the extruder. Set your machine to extrude 100mm of filament, then using the mark you made measure how much filament was actually extruded. Then new steps/mm = old steps * (100 / distance_actually_moved)
Filament diameter, in millimetres, used for volumetric extrusion control
Most newer 3D printers are using 1.75mm however it is best to measure yours with a caliper to be sure.
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.
Make sure this default setting does not exceed the extruders capabilities.
Acceleration for the extruder stepper motor, in millimetres/second/second
This is how fast the controller brings the extruder motor up to speed
Too high a value will cause errors in the extrusion of the filament
Maximum allowable speed for the extruder stepper motor, in millimetres/second
Too high of a value will cause the extruder stepper to miss steps and cause errors with the extrusion.
Pin for extruder stepper motor driver's step signal
This is the pin that the controller sends the command to move steps to the stepper motor
Pin for extruder stepper motor driver's direction signal
This is the pin the control uses to tell the stepper motor which direction to rotate in.
Pin for extruder stepper motor driver's enable signal
This is the pin the controller uses to tell the stepper motor to turn on or off.
When a driver is disabled, the motor has no holding torque and can be moved freely by hand
Extruder offset from origin in millimetres for the X axis
This is useful when you have multiple extruders to specify the offset from each extruder to the first one.
Most 3D printers only offset extruders in the X direction
Extruder offset from origin in millimetres for the Y axis.
This is useful when you have multiple extruders to specify the offset from each extruder to the first one.
Most 3D printers only offset extruders in the X direction
Extruder offset from origin in millimetres for the Z axis.
This is useful when you have multiple extruders to specify the offset from each extruder to the first one.
Most 3D printers only offset extruders in the X direction
Retract length in millimetres
Retract is a retractation of the filament called using the G10 G-code
It is recovered ( reverted ) using the G11 G-code
Retraction is used to prevent stringing (fine wisps of filament) from happening when moving the extruder to a new place on the bed.
Retract feed-rate ( filament speed ) in millimetres/second
Too high of a feedrate can cause the stepper motor to lose steps and cause errors.
Additional length when recovering ( if you retract by 1mm, you will be recovering by 1mm plus this value )
Recovery feed-rate in millimetres/second (should be less than retract feedrate)
Z-lift on retract in millimeters, set to 0 if you want to disable retraction Z-lift
Z-lift is a small increase in the Z axis position when retracting.
Z-lift feed-rate in millimetres/minute ( Note : mm/min NOT mm/sec)
First extruder stepper motor driver ( M4 ) current in Amperes
Second extruder stepper motor driver ( M5 ) current in Amperes
Whether to activate the laser module at all
All configuration of the laser module is ignored if false
The laser module is used for laser cutting/engraving using a laser diode or CO2 laser tube.
This pin will control the laser
Pulse width will be modulated to vary power output ( PWM )
Note : PWM is available only on pins 2.0 to 2.5, 1.18, 1.20, 1.21, 1.23, 1.24, 1.26, 3.25 and 3.26
Differet power supplies will have different inputs that you would connect this pin to. Check your power supply manual for more information on which input to connect to
This is the maximum duty cycle that will be applied to the laser
Duty cycle is the percentage of the time that the laser is active.
Setting this to 1 equals 100 percent of the time. This may cause premature failure of the laser, especially when using laser diodes.
Value is from 0 to 1
This option will be used for travel moves to keep the laser active without actually burning
Useful for some diode setups, as they require a small current be applied to basically wake up the laser diode and get it ready to fire.
Value is from 0 (none) to 1 (100%)
This value will be very low, check your laser diode manual for more information on the required tickle current
PWM frequency expressed as the period in microseconds
?????????????????????????????????????????
Whether to activate this temperaturecontrol module
You can create as many temperaturecontrol modules as you want, simply by giving a new module a name, and setting it's enable option to true
This module is used to read the temperature of something like a heated bed using a thermistor
Pin for the thermistor to read
ADC ports TH1 to TH4 are pins 0.23 to 0.26.
These are the pins that wyou would connect the thermistor to. You can have up to 4 enabled at once.
How many times per second to read temperature from the sensor.
The higher the value, the more accurate your reading, however setting the value too high could cause performance issues.
How many times per second to switch the heating element on or off
Set to a low value ( 20 ) if using a Solid State Relay.
Pin that controls the heater
This can be used to control a Mosfet on board or an external Solid State Relay
Set to nc if a readonly thermistor is being defined
?????????????????????????????????????
Set the thermistor model for this module
Several different common models are pre-defined, see here for a list
??????????????????????????????????????
Manually set the beta value for your thermistor
This is useful if your thermistor is not in the common pre-defined models.
The data sheet for your thermistor should have this value listed.
Manually set the r0 resistance value for your thermistor
This is useful if your thermistor is not in the common pre-defined models
The data sheet for your thermistor should have this value listed.
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.
Calling this M-code will return the current temperature.
?????????????????????????????????????
This is the M-code for simply setting the temperature
For example here, the value is 104 so you use M104 S50 to set this module's heater's temperature to 50.
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.
The letter this module's temperature will be identified as in the M105 command's answer
For example here the value is T, so M105 will answer ok T:23.4 /0.0 @0
?????????????????????????????????????
P factor for PID temperature regulation
PID is a control loop feedback mechanism to minimise fluctuations in the temperature
P accounts for present values of the error. For example, if the error is large and positive, the control output will also be large and positive.
I factor for PID temperature regulation
PID is a control loop feedback mechanism to minimise fluctuations in the temperature
I accounts for past values of the error. For example, if the current output is not sufficiently strong, error will accumulate over time, and the controller will respond by applying a stronger action.
D factor for PID temperature regulation
PID is a control loop feedback mechanism to minimise fluctuations in the temperature
D accounts for possible future values of the error, based on its current rate of change
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.
Set to true to use bang bang control rather than PID
Bang Bang control is a feedback controller that switches abruptly between two states.
Most common residential thermostats are bang–bang controllers.
Set to the temperature in degrees C to use as hysteresis for bang bang control
This is the temperature setting that the controller will turn off the heating element when reached.
It is usually set slightly below the desired temperature, as the element will continue to provide heat for a short time after being switched off.
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
????????????????????????????????????????
If the sensor is set to max31855, sets the chip select pin for the SPI port
This allows you to have multiple sensors sharing the same SPI port, as long as they each get a chip select ( CS ) pin.
??????????????????????????????????????????????
If the sensor is set to max31855, SPI channel using which to talk to the thermocouple chip.
If using multiple sensors, set each to a different channel
If set, no temperature above this will be accepted and if the temperature exceeds this value the system will be forced into a HALT state.
Very usefull to prevent overheating an extruder.
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.
When this pin becomes high the switch changes to the ON state, and when it becomes low the switch changes to the OFF state
( see the input_pin_behavior option for more details }}
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.
So if set to toggle each time you change the input value it will change between on and off, if set to momentary, the change will always happen with a change of pin state from high to low.
Calling this command sets the switch ON
Works best when pin is set to toggle
Calling this command sets the switch OFF
Works best when pin is set to toggle
the subcode that the input on or input off commands respond to M106.1
This will run the gcode file assigned to this function
This command is called when the switch changes to the ON state
Allows you to have it trigger a relay, light an Led etc.
This command is called when the switch changes to the OFF state
Can be used to trigger a relay, gcode file etc.
This pin will be set low when the switch is OFF, and high when the switch is ON
Omly assign to pins that are available for customisation
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.
Statup state of the switch
If set to false the module is initialized OFF, if set to true the module is initualized ON
Statup value of the switch if the output_type is pwm.
Has no effect if switch set to be High/Low
Maximum value for the PWM output
(only used for pwm output type, not for hwpwm
Period used by the H/W PWM, 20ms is 50Hz which is the default if not set
0 or 1 what to set the output pin to in case of a crash or HALT condition
This can be used to trigger relays, lights or run a gcode file.
set to true to not set the fail safe value when a HALT condition is triggered
Create and enable a new TemperatureSwitch module if set to true
This module automatically toggles a Switch module at a specified temperature ( read from a TemperatureControl module ).
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.
This module does not have any output by itself, instead, it switches the state of an existing Switch module
Here you must speficy the name of that Switch module.
Turn the switch ON above this temperature, and OFF below this temperature
In °C.
Poll temperature at this frequency ( in seconds ) when heating up.
Too high a value can cause performace issues.
Poll temperature at this frequency ( in seconds ) when cooling down.
Too high a value can cause performance issues.
can be level, rising, falling - level is the default
If set to rising triggers when the temperature read starts increasing in value, falling triggers it when temperature read starts to decrease, level triggers it when the temperature read hits a preset level.
will turn the switch off when the temp > target and vice versa when set true
M code used to arm the edge triggered switch eg M1100 S1 arms it
If set to true, enables the Spindle module, which uses an encoder to PID-control a PWM-modulated spindle motor
PID refers to a feedback loop to minimise fluctuations of spiundle speed and PWM refers to control the spindle speed using a varying frequency input.
Output PWM pin (uses hardware PWM)
Note : hardware PWM is available only on pins 2.0 to 2.5, 1.18, 1.20, 1.21, 1.23, 1.24, 1.26, 3.25 and 3.26
This is the pin that will send the varying frequency to the spindle speed controller.
PWM period to use in microseconds
??????????????????????????
Feedback input pin (must be Port 0 or 2, meaning the pin number must be 2.x or 0.x )
This is the pin that will recieve the feedback from the spindle controller to use in the feedback loop controlling the spindles speed.
Number of feedback pulses per revolution on the feedback input pin
The higher the number, the more accuraate the reading, however too high of a number can cause performance issues.
RPM to use if none given in M3 command, in rotations/minute
Make sure that this value is not set too high or low as it can cause problems during cutting. It is best to always specify a speed in the M3 command to avoid having issues.
PID P factor (unit is 1 / RPM)
PID is a feedback loop used to minimise fluctuations in the system being controlled
P accounts for present values of the error. For example, if the error is large and positive, the control output will also be large and positive.
PID I factor (unit is 1 / ( RPM x seconds ))
PID is a feedback loop used to minimise fluctuations in the system being controlled
I accounts for past values of the error. For example, if the current output is not sufficiently strong, error will accumulate over time, and the controller will respond by applying a stronger action.
<PID D factor (unit is 1 / (R PM / seconds ))
PID is a feedback loop used to minimise fluctuations in the system being controlled
D accounts for possible future values of the error, based on its current rate of change.
The endstop module is enabled if this is set to true
Endstops are used to prevent the machine from moving past the preset limity, so physical damage to the machine is prevented
All of it's parameters are ignored otherwise.
Set to true if this machine uses a corexy or a h-bot arm solution
Set to true if this machine uses a linear_delta arm solution
Set to true if this machine uses a scara arm solution
Alpha ( X axis or alpha tower ) minimum limit endstop
Endstops are used to prevent the machine from moving past the preset limity, so physical damage to the machine is prevented
Minimum endstops are usually used for homing the axis to the Zero position
Set to nc if not installed on your machine.
Alpha ( X axis or alpha tower ) maximum limit endstop
Endstops are used to prevent the machine from moving past the preset limit, so physical damage to the machine is prevented
Maximum endstops are usually used for stopping the machine from moving the axis past its physical endpoint,preventing mechanical damage
Set to nc if not installed on your machine.
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
Most machines are set to home to the minimum stop
This gets loaded after homing when alpha_homing_direction is set to home_to_min and the minimum endstop is hit.
This lets the software know that it is now at the Zero position.
This gets loaded after homing when alpha_homing_direction is set to home_to_max and the maximum endstop is hit.
This lets the software know that the axis is now at the end of it's physical travel.
Beta ( Y axis or beta tower ) minimum limit endstop
Endstops are used to prevent the machine from moving past the preset limity, so physical damage to the machine is prevented
Minimum endstops are usually used for homing the axis to the Zero position
Set to nc if not installed on your machine.
Beta ( Y axis or beta tower ) maximum limit endstop
Endstops are used to prevent the machine from moving past the preset limit, so physical damage to the machine is prevented
Maximum endstops are usually used for stopping the machine from moving the axis past its physical endpoint,preventing mechanical damage
Set to nc if not installed on your machine.
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
Most machines are set to home to the minimum stop
This gets loaded after homing when beta_homing_direction is set to home_to_min and the minimum endstop is hit.
This lets the software know that it is now at the Zero position.
This gets loaded after homing when beta_homing_direction is set to home_to_max and the maximum endstop is hit.
This lets the software know that the axis is now at the end of it's physical travel.
Gamma ( Z axis or gamma tower ) minimum limit endstop
Endstops are used to prevent the machine from moving past the preset limity, so physical damage to the machine is prevented
Minimum endstops are usually used for homing the axis to the Zero position
Set to nc if not installed on your machine.
Gamma ( Z axis or gamma tower ) maximum limit endstop
Set to nc if not installed on your machine.
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
Most machines are set to home to the minimum stop
This gets loaded after homing when gamma_homing_direction is set to home_to_min and the minimum endstop is hit.
This lets the software know that it is now at the Zero position.
This gets loaded after homing when gamma_homing_direction is set to home_to_max and the maximum endstop is hit.
This lets the software know that the axis is now at the end of it's physical travel.
Optional order in which axis will home, default is they all home at the same time, if this is set it will force each axis to home one at a time in the specified order
For example XZY means : X axis followed by Z, then Y last.
If set to true, the machine will stop if one of the alpha ( X axis or alpha tower ) endstops are hit
If set to true, the machine will stop if one of the beta ( Y axis or beta tower ) endstops are hit
If set to true, the machine will stop if one of the gamma ( Z axis or gamma tower ) endstops are hit
Speed, in millimetres/second, at which to home for the alpha actuator ( X axis or alpha tower )
Too high of a rate can cause the stepper motor to lose steps.
Speed, in millimetres/second, at which to home for the beta actuator ( Y axis or beta tower )
Too high of a rate can cause the stepper motor to lose steps.
Speed, in millimetres/second, at which to home for the gamma actuator ( Z axis or gamma tower )
Too high of a rate can cause the stepper motor to lose steps.
Distance to retract the alpha actuator ( X axis or alpha tower ) once the endstop is first hit, before re-homing at a slower speed.
20mm is usually enough
Distance to retract the beta actuator ( Y axis or beta tower ) once the endstop is first hit, before re-homing at a slower speed.
20mm is usually enough
Distance to retract the alpha actuator ( Z axis or gamma tower ) once the endstop is first hit, before re-homing at a slower speed.
20mm is usually enough
Speed, in millimetres/second, at which to re-home for the alpha actuator ( X axis or alpha tower ) once the endstop is hit once.
The slower the speed, the more accurate the homing function will be
Speed, in millimetres/second, at which to re-home for the beta actuator ( Y axis or beta tower ) once the endstop is hit once.
The slower the speed, the more accurate the homing function will be
Speed, in millimetres/second, at which to re-home for the gamma actuator ( Z axis or gamma tower ) once the endstop is hit once.
The slower the speed, the more accurate the homing function will be
Debounce each endstop pin over this number of values
Set to 100 if your endstops are too noisy and give false readings.
You can lower this number until it causes an error in homing, then increase it by about 10% to be set well.
DELTA ONLY Software trim for alpha ( X axis or alpha tower ) stepper endstop (in millimetres )
When the endstop is hit, the axis will move this distance towards the endstop (negative values move endstop away from the endstop )
???????????????????????????
DELTA ONLY Software trim for beta ( Y axis or beta tower ) stepper endstop (in millimetres )
When the endstop is hit, the axis will move this distance towards the endstop (negative values move endstop away from the endstop )
???????????????????????????
DELTA ONLY Software trim for gamma ( Z axis or gamma tower ) stepper endstop (in millimetres )
When the endstop is hit, the axis will move this distance towards the endstop (negative values move endstop away from the endstop )
???????????????????????????
If set to true, once homing is complete, the machine will move to it's origin point
Depending on where the origin was set, this may be different from the 0,0,0 position.
Origin is usually set to a place on the cutting bed where the material is located
Set to true to enable the Z-probe module
This is used to scan surfaces, and to calibrate parameters and compensate for non-planar surfaces.
Leveling the bed on a 3D printer is also a use for this.
Pin the probe is connected to.
Speed in millimetres/second at which the probe seeks a surface.
Slower speeds create a more accurate result.
Speed in millimetres/second at which the probe does fast moves.
These are moves from one location to another where the surface is not being measured.
Speed in millimetres/second at which the probe does the return after a probe.
Do not set too high as it may cause the stepper motor to lose steps and skew your results.
Debounce the probe pin over this number of values
Set to 100 if your probe is too noisy and give false readings.
Slowly lower this value until errors occour, then raise by 10% and you should be well set.
Distance above the bed at which the probing is started, once the bed's height is known.
Make sure the Z porbe can travel this distance, and allow 5-10% leeway to ensure it makes good contact with the bed surface.
Set to true to enable the leveling strategy that probes three points to define a plane and then keeps the Z parallel to that plane
This is useful if your Z plate/bed is not perfectly aligned with your XY gantry
This is a common issue with 3D printers.
The first probe point (X, Y) when performing the 3 point leveling option.
The second probe point (X, Y) when performing the 3 point leveling option.
The third probe point (X, Y) when performing the 3 point leveling option.
Home the X and Y axes before probing
When set, this will cause the machine to home all axis' before starting the leveling procedure. This is the reccomended way of doing this.
The probe tolerance in millimetres, anything less that this will be ignored, default is 0.03mm
,p>Check the specifications of your probe for its accuracy and do not set it higher than the probe can handle or it will cause the leveling operation to have errors.The probe offset from nozzle, must be X,Y,Z, default is no offset
This is used if your nozzle is not exactly at the same position as where your tool would be.
Set to true to allow the bed plane to be saved with M500, default is false
This will save the settings to your controller so the next time you start it, it will use the last leveling data as the current settings. Usually used on CNC routers, but not 3D printers as the bed is spring loaded and can change from use to use.
Set to true to enable the delta calibration levelling strategy
This uses the probe to figure out the plane's tilt and arm's radius in a delta machine
Only enable if you are using a DFelta configuration on your machine.
Radius at which to probe the three points
Ensure that this value is smaller than the physical bed size.
the initial height above the bed we stop the initial move down after home to find the bed
This should be a height that is enough that the probe will not hit the bed and is an offset from gamma_max (can be set to 0 if gamma_max takes into account the probe offset)
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.
Common examples are the RepRapDiscount Full Graphic Smart Controller and 2004 LCD Smart Controller
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, viki2, mini_viki2 and universal_adapter.
The specification sheet for your control panel should have the info of what type of panel it is.
SPI channel to use
This is the communications channel used to talk between the controller board and LCD panel.
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 (12864 LCD) panel does not support this and requires being alone on it's port.
SPI port frequency
??????????????????????????????????
Contrast value for panels that support it ( viki2, mini_viki2 and st7565_glcd )
Specify a value between 1 and 10, the higher the value, the more the contrast.
Panels that do not support this usually have a small trimmer potentiometer that controls the contrast.
If set to true, reverse the screen.
???????????????????????????
If using the universal_adapter, this pin can be connected to the adapter to ask it if it is busy or not.
This can be used to ensure that the data can be accep\ted by the panel.
A pin for the encoder wheel
Encoders have two pins : A and B
Set to nc if you use no encoder.
Most 3D printer panels have an encoder.
B pin for the encoder wheel
Encoders have two pins : A and B
Most 3D printer panels have an encoder.
Set to nc if you use no encoder.
the number of pulses the encoder emits per detent/click
The higher the value, the more it will scroll the screen or adjust an entry number per click of the encoder.
Too high a value will make it difficult to navigate or change settings.
Pin for the click ( "enter" ) button
The enter button is usually when you press down on the encoder knob, instead of turning it which scrolls the menus or changes settings.
Pin for the buzzer
Most panels have a small pizeo buzzer that can be used for audible feedback while using the panel.
Pin for the back button
Most panels do not have a button for this purpose.
You can use a momentary switch to use this option
Pin for the up button
Most panels do not have a button for this purpose.
You can use a momentary switch to use this option
Pin for the down button
Most panels do not have a button for this purpose.
You can use a momentary switch to use this option
On some panels, this value must be set to 1
This is a number of lines to offset the menu lines by on screen.
X jogging feedrate in millimetres/minute
This is used when jogging using the panel screen.
10mm/jog is usually a good setting.
Y jogging feedrate in millimetres/minute
This is used when jogging using the panel screen.
10mm/jog is usually a good setting.
Z jogging feedrate in millimetres/minute
5mm/jog is usually a good setting.
This is used when jogging using the panel screen.
Temperature to set the hotend to when using the pre-heating menu item
The hot end is the heating block in a 3D printer head, it is what melts the filament.
Temperature to set the bed to when using the pre-heating menu item
The heated bed is usually found only on 3D printers.
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
Using an External SD card allows you to run the machine without having a PC hooked up to it.
Set the SPI channel the external SD card is on
You can use the same channel for multiple card slots as long as the have chip select pins and you set the option "Spi cs pin"
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
SD card detect signal pin, set to nc if you don't use a SD card detect signal
???????????????????????????????????
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.
The name that will be displayed in the panel's menus
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
If set to true, enable the Ethernet network services
Very useful to access files that are on differnt PC's than the one connected to the smoothieboard via a USB cable.
Ethernet access is more reliable than USB access.
If set to true, enable the web server service, on port 80, which provides a control and upload web interface
You can then use an PC on your network to control the machine.
If set to true, enable the telnet service, on port 23, which behaves much like a Serial interface
This is used to connect using programs like Pronterface.
If set to true, enable the plan9 network filesystem on port 564 which allows mounting the Smoothieboard
This shows the machine as a device on the network when viewing network attached devices from a file explorer programm on a network connect computer.
If set to auto, use DHCP to request an IP address
If set to an IP address, use that address as a static IP.
Static IP's are better as this does not require you to figure out what the smoothieboard IP is each time it is rebooted.
If using a static IP, define the mask for the network.
Most home networks will have a value of 255.255.255.0
If using a static IP, define the gateway for the network.
This is usually the IP address of the network router (or cable modem/DSL modem).
If set, override the MAC adress for the Ethernet interface
Only set this if you have a conflict on your network.
The MAC address is usually on the controller board if it is network capable like the smoothieboard.
Some DHCP servers accept a hostname for the machine, which then allows you to connect to it using that name instead of it's IP.
An example would be naming the machine something like Lser Cutter, or 3D printer.
I2C-1 SDA.
Used to communicate with the on-board I2C bus, used to control the digipots that control the current setting of the stepper motor drivers. Do not use this pin as a free GPIO as it would disturb the stepper drivers.
I2C-1 SCL.
Used to communicate with the on-board I2C bus, used to control the digipots that control the current setting of the stepper motor drivers. Do not use this pin as a free GPIO as it would disturb the stepper drivers.
UART0 TX ( transmit ) pin.
Connecting to this UART port ( for example using a FTDI cable ) allows you to send commands and receive answers the same way you would do using the USB/Serial port or the Ethernet/Telnet post.
Smoothieboard also sends debug information to this port. It can also be used to flash the bootloader and to do MRI Debugging via GDB
UART0 RX ( receive ) pin.
Connecting to this UART port ( for example using a FTDI cable ) allows you to send commands and receive answers the same way you would do using the USB/Serial port or the Ethernet/Telnet post.
Smoothieboard also sends debug information to this port. It can also be used to flash the bootloader and to do MRI Debugging via GDB
Alpha ( M1 ) motor driver enable pin (alpha_en_pin's default value ).
Used to enable or disable the stepper motor driver. When the driver is disabled, the motor has no holding torque and can be moved freely. The driver must be enabled for the motors to rotate.
Alpha ( M1 ) motor driver direction pin (alpha_dir_pin's default value ).
Used to signal the stepper motor driver which direction to rotate.
SPI1 ( SD card SPI port ) SSEL ( selector ) pin.
Smoothieboard uses the SPI port 1 to talk to the on-board SD-card, and this is one of the pins used to do so. This selector pin is used to tell the SD card it is the peripheral on this port currently being talked to. Other peripherals could be added to the same port if they have their own, separate SSEL pin.
SPI1 ( SD card SPI port ) SCK ( clock ) pin.
Smoothieboard uses the SPI port 1 to talk to the on-board SD-card, and this is one of the pins used to do so. This clock pin is used to synchronize communications.
SPI1 ( SD card SPI port ) MISO ( master in, slave out ) pin.
Smoothieboard uses the SPI port 1 to talk to the on-board SD-card, and this is one of the pins used to do so. This MISO pin is used to transmit data from the SD card ( slave out ) to the Smoothieboard ( master in ).
SPI1 ( SD card SPI port ) MOSI ( master out, slave in ) pin.
Smoothieboard uses the SPI port 1 to talk to the on-board SD-card, and this is one of the pins used to do so. This MOSI pin is used to transmit data from the Smoothieboard ( master out ) to the SD card ( slave in ).
Beta ( M2 ) motor driver enable pin (beta_en_pin's default value ).
Used to enable or disable the stepper motor driver. When the driver is disabled, the motor has no holding torque and can be moved freely. The driver must be enabled for the motors to rotate.
Beta ( M2 ) motor driver direction pin (beta_dir_pin's default value ).
Used to signal the stepper motor driver which direction to rotate.
SPI0 ( User SPI port ) SCK ( clock ) pin.
The user SPI port allows users to connect SPI peripherals ( like LCD screens and thermocouple boards ). This clock pin is used to synchronize communications.
If the User SPI port is not used to talk to a SPI peripheral, this pin can be used as a free GPIO pin
SPI0 ( User SPI port ) SSEL ( selector ) pin.
The user SPI port allows users to connect SPI peripherals ( like LCD screens and thermocouple boards ). This selector pin is used to tell a given peripheral it is the peripheral on this port currently being talked to. Other peripherals could be added to the same port if they have their own, separate SSEL pin.
If the User SPI port is not used to talk to a SPI peripheral, this pin can be used as a free GPIO pin
SPI0 ( User SPI port ) MISO ( master in, slave out ) pin.
Smoothieboard uses the SPI port 0 to talk to user-connected peripherals, and this is one of the pins used to do so. This MISO pin is used to transmit data from the peripheral ( slave out ) to the Smoothieboard ( master in ).
If the User SPI port is not used to talk to a SPI peripheral, this pin can be used as a free GPIO pin
SPI0 ( User SPI port ) MOSI ( master out, slave in ) pin.
Smoothieboard uses the SPI port 0 to talk to user-connected peripherals, and this is one of the pins used to do so. This MOSI pin is used to transmit data from the Smoothieboard ( master out ) to the peripheral ( slave in ).
If the User SPI port is not used to talk to a SPI peripheral, this pin can be used as a free GPIO pin
Gamma ( M3 ) motor driver enable pin (gamma_en_pin's default value ).
Used to enable or disable the stepper motor driver. When the driver is disabled, the motor has no holding torque and can be moved freely. The driver must be enabled for the motors to rotate.
Gamma ( M3 ) motor driver direction pin (gamma_dir_pin's default value ).
Used to signal the stepper motor driver which direction to rotate.
Delta ( M4 ) motor driver enable pin ( typically M4 is used for the first extruder ).
Used to enable or disable the stepper motor driver. When the driver is disabled, the motor has no holding torque and can be moved freely. The driver must be enabled for the motors to rotate.
Is not used by any stepper drivers on the 3X boards and can therefore be used as a free GPIO on those boards, but not on the 5X and 4X
Delta ( M4 ) motor driver direction pin ( typically M4 is used for the first extruder ).
Used to signal the stepper motor driver which direction to rotate.
Is not used by any stepper drivers on the 3X boards and can therefore be used as a free GPIO on those boards, but not on the 4X and 5X
T0 ADC ( Analog to Digital Converter ) input. Typically used to read the resistance, and therefore the temperature, of thermistors.
T0 is typically used to read the first extruder's hotend's temperature.
T1 ADC ( Analog to Digital Converter ) input. Typically used to read the resistance, and therefore the temperature, of thermistors.
T1 is typically used to read the heated bed temperature.
T2 ADC ( Analog to Digital Converter ) input. Typically used to read the resistance, and therefore the temperature, of thermistors.
T2 is typically used to read the second extruder's hotend's temperature.
T3 ADC ( Analog to Digital Converter ) input. Typically used to read the resistance, and therefore the temperature, of thermistors.
T3 is typically used to read the third extruder's hotend's temperature.
I2C-0 SDA.
This I2C bus is left un-used. It can be used to communicate with I2C peripherals ( note however, that SPI is mostly designed to be used for peripherals on the same PCB, using wires will likely result in communication errors ).
The pin can also be used as a free GPIO pin. Note that because it is used in a I2C bus, the pin has a 2.2Kohm pull-up resistor.
I2C-0 SCL.
This I2C bus is left un-used. It can be used to communicate with I2C peripherals ( note however, that SPI is mostly designed to be used for peripherals on the same PCB, using wires will likely result in communication errors ).
The pin can also be used as a free GPIO pin. Note that because it is used in a I2C bus, the pin has a 2.2Kohm pull-up resistor.
LED1, first LED in the bar of 4 status LEDs. Used by the firmware to report it's current status. Turns ON if the firmware booted correctly.
If the config value leds_disable is set to true , then that pin is unused by the firmware and can be used as a free GPIO.
LED2, second LED in the bar of 4 status LEDs. Used by the firmware to report it's current status. Blinks if the firmware is currently executing.
If the config value leds_disable is set to true , then that pin is unused by the firmware and can be used as a free GPIO.
LED3, third LED in the bar of 4 status LEDs. Used by the firmware to report it's current status. Blinks if the firmware is currently executing.
If the config value leds_disable is set to true , then that pin is unused by the firmware and can be used as a free GPIO.
LED4, fourth LED in the bar of 4 status LEDs. Used by the firmware to report it's current status. Turns ON if the firmware was able to access the SD card.
If the config value leds_disable is set to true , then that pin is unused by the firmware and can be used as a free GPIO.
3rd small mosfet control pin. This pin controls whether the third small mosfet is turned on or off.
Because this mosfet is not present on the 4X and 3X Smoothieboards, this pin can safely be used as a free GPIO on those boards, but not on the 5X boards.
3rd large mosfet control pin. This pin controls whether the third large mosfet is turned on or off.
Because this mosfet is not present on the 4X and 3X Smoothieboards, this pin can safely be used as a free GPIO on those boards, but not on the 5X boards.
XMIN endstop input. Reads the endstop status of the "minimum" endstop for the X ( or alpha ) axis.
Typically the default pin for the alpha_min_pin configuration option.
Because this is an endstop input, it is equipped with a pull-up resistor, and a capacitor to reduce noise. It is optimally designed to read "Normally Closed" (NC) endstops or switche.
XMAX endstop input. Reads the endstop status of the "maximum" endstop for the X ( or alpha ) axis.
Typically the default pin for the alpha_max_pin configuration option.
Because this is an endstop input, it is equipped with a pull-up resistor, and a capacitor to reduce noise. It is optimally designed to read "Normally Closed" (NC) endstops or switche.
YMIN endstop input. Reads the endstop status of the "minimum" endstop for the Y ( or beta ) axis.
Typically the default pin for the beta_min_pin configuration option.
Because this is an endstop input, it is equipped with a pull-up resistor, and a capacitor to reduce noise. It is optimally designed to read "Normally Closed" (NC) endstops or switche.
YMAX endstop input. Reads the endstop status of the "maximum" endstop for the Y ( or beta ) axis.
Typically the default pin for the beta_max_pin configuration option.
Because this is an endstop input, it is equipped with a pull-up resistor, and a capacitor to reduce noise. It is optimally designed to read "Normally Closed" (NC) endstops or switche.
ZMIN endstop input. Reads the endstop status of the "minimum" endstop for the Z ( or gamma ) axis.
Typically the default pin for the gamma_min_pin configuration option.
Because this is an endstop input, it is equipped with a pull-up resistor, and a capacitor to reduce noise. It is optimally designed to read "Normally Closed" (NC) endstops or switche.
ZMAX endstop input. Reads the endstop status of the "maximum" endstop for the Z ( or gamma ) axis.
Typically the default pin for the gamma_max_pin configuration option.
Because this is an endstop input, it is equipped with a pull-up resistor, and a capacitor to reduce noise. It is optimally designed to read "Normally Closed" (NC) endstops or switche.
Free GPIO pin. Can be used by the user for anything.
If a RRD GLCD is connected, this is used to control it's click button.
Free GPIO pin. Can be used by the user for anything.
If a RRD GLCD is connected, this is used to control it's buzzer.
Alpha ( M1 ) motor driver step pin (alpha_step_pin's default value ).
Used to signal the stepper motor driver to move one microstep further.
Beta ( M2 ) motor driver step pin (beta_step_pin's default value ).
Used to signal the stepper motor driver to move one microstep further.
Gamma ( M3 ) motor driver step pin (gamma_step_pin's default value ).
Used to signal the stepper motor driver to move one microstep further.
Delta ( M4 ) motor driver step pin ( typically the step pin for the first extruder module ).
Used to signal the stepper motor driver to move one microstep further.
Is not used by any stepper drivers on the 3X boards and can therefore be used as a free GPIO on those boards, but not on the 5X and 4X
First small mosfet control pin. This pin controls whether the first small mosfet is turned on or off.
This mosfet is present on all board types, and is therefore always busy controlling the mosfet, and can not be used as a free GPIO pin.
Second large mosfet control pin. This pin controls whether the third large mosfet is turned on or off.
Because this mosfet is not present on the 3X Smoothieboards, this pin can safely be used as a free GPIO on those boards, but not on the 4X and 5X boards.
Second small mosfet control pin. This pin controls whether the second small mosfet is turned on or off.
This mosfet is present on all board types, and is therefore always busy controlling the mosfet, and can not be used as a free GPIO pin.
First large mosfet control pin. This pin controls whether the first large mosfet is turned on or off.
Because this mosfet is not present on the 3X Smoothieboards, this pin can safely be used as a free GPIO on those boards, but not on the 4X and 5X boards.
Epsion ( M5 ) motor driver step pin ( typically the step pin for the second extruder module ).
Used to signal the stepper motor driver to move one microstep further.
Is not used by any stepper drivers on the 4X and 3X boards and can therefore be used as a free GPIO on those boards, but not on the 5X
Free GPIO pin. Can be used by the user for anything.
If a RRD GLCD is connected, this is used to control it's pause/kill/back pin.
Free GPIO pin. Can be used by the user for anything.
Typically used as the kill button
Epsilon ( M5 ) motor driver direction pin ( typically the second extruder's direction pin ).
Used to signal the stepper motor driver which direction to rotate.
Because there is no M5 driver on the 3X and 4X boards, on those this pin can be used as a free GPIO pin.
Free GPIO pin. Can be used by the user for anything.
If a RRD GLCD is connected, this is used to connect it's encoder.
Free GPIO pin. Can be used by the user for anything.
If a RRD GLCD is connected, this is used to connect it's encoder.