V1 Setting V2 Setting Description
Not available in v2

If true, creates and enables a new Joystick module with the specified name.

The joystick module reads analog input from joystick devices and uses it to control machine movement via the Jogger module or other control systems.

Each joystick instance requires a unique name.

Not available in v2

Specifies which SmoothieBoard pin should be used to read the analog joystick value.

The pin must be one of the analog-capable pins (typically 0.2, 0.3, 0.23-0.26, 1.30, 1.31).

Connect the joystick wiper (output) to this pin, with the potentiometer ends connected to 3.3V and ground.

Not available in v2

Sets how many times per second to update the joystick reading. Higher values give more responsive control but use more CPU time.

  • Typical range: 10-100 Hz
  • Default: 10 Hz if not specified
Not available in v2

Sets what voltage will map to zero output — typically the center position of the joystick, usually around 1.65V (half of 3.3V).

The joystick module subtracts this offset from the measured voltage before scaling. It can also be determined automatically using the auto_zero feature.

Not available in v2

Sets what voltage will map to +1 or -1 output, defining the full range of motion for the joystick.

  • If endpoint is greater than zero_offset, it specifies what voltage maps to +1
  • If endpoint is less than zero_offset, it specifies what voltage maps to -1

Typical value is 3.3V (or close to it, like 3.2V) for maximum range.

Not available in v2

If true, enables the auto-zeroing feature, which automatically determines the zero_offset value at startup by averaging readings during the startup_time period.

This is useful for joysticks where the center position voltage may vary slightly between devices.

Do not move the joystick during startup when this is enabled.

Not available in v2

Sets how long (in milliseconds) after SmoothieBoard resets to obtain readings to average for the auto-zero offset calculation.

Must be at least 1000 / refresh_rate to ensure sufficient samples, but should not be too long, to avoid the joystick being moved during measurement. Typical value is 1000ms (1 second).

Not available in v2

Sets the default value of the joystick output during the startup_time period when auto-zeroing is active.

This value should be between -1 and 1, and is typically 0 to indicate no movement during calibration — preventing unwanted motion while the auto-zero feature is determining the center position.

This is a wiki! If you'd like to improve this page, you can edit it on GitHub.