When you hear the word “joystick,” you probably think of the standard dual-axis joysticks that we see on video game controllers. As the name implies, those move and provide signals for two axes (X and Y). But there is no reason that a joystick needs two axes and, in fact, that may not be desirable. To demonstrate the practicality of single-axis joysticks, Austin Allen built this simple controller suitable for several different applications.
Allen’s device controls three different things with its three single-axis joysticks: an RGB LED, a servo motor, and a stepper motor. Each of those is an example of a single-axis at work. That axis maps to color (red and green) and brightness for the LED, horn position for the servo, and rotation direction/speed for the stepper motor. There are, of course, several other viable use cases for single-axis joysticks.
To showcase this, Allen’s unit provides signals to an Arduino Nano board, which then controls the LED and motors. It controls the LED and servo motor directly, but goes through a TMC2208 driver to handle the stepper motor. The signals from the joysticks are easy to read, because they’re just potentiometers. Each joystick accepts positive and negative power, then outputs a voltage between those two based on its position. With a standard analogRead() function, the Arduino can check the voltage and determine the joystick position.
You may not have any use for this specific controller, but it does do a good job of illustrating potential applications for single-axis joysticks and you should consider them for future projects.