+251 99 380 2995 | +251 97 022 2227 | [email protected]






Joystick Module
Br 750.00
- Dual Axis Joystick Module
- Two independent Potentiometer: one for each axis ( X and Y)
- Auto return to center position
- Cup-type Knob
- Compatible to interface with Arduino or with most microcontrollers
- Operating Voltage: 5V
- Internal Potentiometer value: 10k
- Cross rocker as a two-way 10K resistor, with the rocker in a different direction
- With the help of this Joystick Module, you can measure position coordinates on the X and Y axis by moving the “hat”. It also contains a switch that is press-able by pushing the “hat”. It also contains a switch that is press-able by pushing the “hat” down. Similar to the XBOX controller
- The X and Y axes are two 10k potentiometers which control 2D movement by generating analog signals. When the module is in working mode, it will output two analog values, representing two directions
- This module uses the 5V power supply, and value, when reading through analog input, would be about 2.5V, a value will increase with joystick movement and will go up till maximum 5V; the value will decrease when the joystick is moved in other direction till 0V
- Dimensions: 40 x 27 x 15 (LxWxH) mm
- 2.54mm pin interface leads
- KY-023 Arduino joystick module, it uses a biaxial potentiometer to control the X and Y axis. When pushed down, it activates a switch. Based on the PS2 controller’s joystick, it’s used to control a wide range of projects from RC vehicles to color LEDs.
- Arduino joystick module KY-023 consists of two potentiometers 10k perpendicularly placed to control the X and Y axes by changing resistance when moving the joystick. A push button is activated when the joystick is pushed down on the Z axis.
- It’s “self-centering” and “spring-loaded.” This means that whenever you stop pushing it and let go, it automatically bounces back to the center position all by itself. The joystick also has a comfortable cup-shaped knob that fits your thumb perfectly.
- At the heart of how this joystick works are two 10K potentiometers. If you look at the joystick module closely, you’ll notice two gray box-shaped components on either side—these are the potentiometers. As you move the joystick, you’ll notice that each one only responds to movement in one direction. The potentiometer on one side only detects when you move the stick left or right (X-axis movement), while the other only detects when you move it up or down (Y-axis movement). These potentiometers are connected to the joystick through a mechanical system called a “gimbal mechanism“. This clever arrangement ensures that when you move the joystick diagonally, it properly separates that movement into the correct amounts of horizontal and vertical signals.
- The gimbal mechanism is what allows the joystick to move smoothly in multiple directions. When you move the joystick, the thumb handle moves a thin rod that sits between two rotatable slotted shafts. These shafts form the gimbal system. One shaft controls movement along the X-axis (left and right), while the other controls movement along the Y-axis (up and down). When you tilt the joystick forward or backward, the Y-axis shaft rotates. When you move it left or right, the X-axis shaft rotates instead. And here’s where it gets really interesting—when you push the joystick diagonally, both shafts rotate simultaneously. Each of the rotating shafts in the joystick connects to its own potentiometer. As you move the joystick, the shafts rotate, which causes the potentiometers to rotate as well. Inside each potentiometer is a contact arm (wiper) that slides along a resistive track. When the joystick moves all the way in one direction, this contact arm moves to one end of the track. When you move the joystick in the opposite direction, the arm moves to the other end.
- Another feature of this joystick is the built-in momentary pushbutton switch—it’s that small black box you can see on one side of the joystick module. This switch activates whenever you press down directly on the joystick knob. This changing voltage can be read by the Analog-to-Digital Converter (ADC) in a microcontroller to figure out exactly where the joystick is positioned.
- The joystick outputs an analog signal with a voltage between 0 and VCC—that represents its position. As you move the joystick along the X-axis from one extreme to the other, the output voltage changes from 0V to VCC. The same happens for the Y-axis. When the joystick is in its center (or resting) position, the output voltage is about half of the supply voltage. When using an Arduino, which has a 10-bit ADC resolution, the analog readings for each axis can range from 0 to 1023. So as you move the joystick along the X-axis, the readings change in a predictable pattern. When you push it all the way to the left, the X-axis reads a value close to 0. When the joystick sits in its center or neutral position, the X-axis reads approximately 512. And when you push the joystick all the way to the right, the X-axis reads close to 1023. The Y-axis works in exactly the same way. When you move the joystick diagonally, both X and Y values change at the same time. By reading both the X and Y values together, your program can determine the exact position of the joystick at any moment. For example, if X = 512 and Y = 1023, you know the joystick is being pushed straight down. If X = 0 and Y = 0, it’s being pushed to the top-left corner.
Pin Configuration
- VCC powers the joystick module. Connect it to your positive power supply – usually 5V or 3.3V, depending on what your project needs.
- GND is the ground pin.
- VRx pin provides an analog output signal that corresponds to the horizontal (left-right) movement of the joystick. When you move the joystick all the way to the left, this pin outputs close to 0 volts. When you move it all the way to the right, it outputs a voltage close to whatever your VCC is (5V or 3.3V). When the joystick sits in the middle without being touched, this pin outputs approximately half of your VCC voltage (around 2.5V if you’re using 5V power).
- VRy pin works just like VRx, but for the vertical (up-down) movement of the joystick. Moving the joystick all the way up gives you close to 0 volts, while moving it all the way down might give you the maximum voltage (VCC). Again, when the joystick is centered and not being touched, this pin outputs about half of your VCC voltage.
- SW pin connects to a built-in pushbutton switch inside the joystick. This button activates when you press down on the joystick knob itself. An important thing to understand about this pin is that, by default, it floats, meaning it doesn’t automatically give clear HIGH or LOW signals on its own. To make the switch work properly, you need to use a pull-up resistor. This can be either the internal pull-up resistor in your Arduino (which you can enable in your code) or an external resistor you add to your circuit. With the pull-up in place, the pin will normally read as HIGH, and when you press down on the joystick, it will change to LOW.
You may also like…
-

Rotary Encoder
Br 500.00 -

Potentiometer
Br 300.00













