Dual-axis XY Joystick Module | PS2 Control Lever Sensor KY-023 for Arduino

one size
$10.00 USD
Sale price  $10.00 USD Regular price  $0.00 USD

Dual-axis XY Joystick Module | PS2 Control Lever Sensor KY-023 for Arduino

$10.00 USD
Sale price  $10.00 USD Regular price  $0.00 USD
Colorone size

This dual-axis XY joystick module works with Arduino boards and other microcontroller projects. It uses a PS2 style rocker potentiometer to deliver precise analog control for your interactive builds. The module gives you smooth two-axis movement and a built-in push button for digital input.

This joystick sensor module is built around a familiar PS2 joystick potentiometer. It outputs analog signals for both X and Y axes, plus a digital signal for the Z-axis button press. The module runs on 3.3V to 5V DC, making it compatible with most Arduino boards and sensor expansion shields. Each axis is wired separately with standard 3-pin headers, so you can plug it directly into an Arduino expansion board without soldering or extra wiring. The cross-shaped joystick uses two 10K resistors that change resistance as you move the lever. At rest, the X and Y outputs read about 2.5V. Pushing the lever in one direction increases the voltage up to 5V, while the opposite direction drops it down to 0V. This gives you a full range of analog control for precise movement in your projects.

Whether you are building a robot arm controller, a gamepad for a retro console, or a remote control system, this joystick module gives you reliable input. The breakout design with separate signal leads makes it easy to integrate into breadboard circuits or connect to Arduino sensor shields. The module is lightweight and compact, so it fits into handheld enclosures or prototype frames without taking up too much space.

Key Features and Benefits

- Dual-axis analog output that gives you smooth variable control for X and Y movement

  • Integrated push button on the Z-axis that adds a digital click for menu selection or action triggers
  • Separate 3-pin headers for each axis that let you plug directly into Arduino expansion boards
  • Wide input voltage range from 3.3V to 5V that works with most microcontroller platforms
  • Standard PS2 style rocker that feels familiar and responsive for game and control applications

Who Is This For

- Arduino hobbyists building remote control cars, robot arms, or pan-tilt camera mounts

  • Students learning electronics who need a simple analog input component for their projects
  • Makers prototyping game controllers or custom input devices for retro gaming systems
  • Engineers testing human-machine interfaces who want a reliable joystick module for rapid development

Usage Scenario

Leo was building a two-axis solar tracker for his backyard weather station. He needed a way to manually aim the solar panel during testing before programming the automatic tracking logic. He connected this KY-023 joystick module to his Arduino Uno with a sensor expansion shield. The X-axis controlled the horizontal rotation, and the Y-axis controlled the tilt angle. Within minutes, he was moving the panel smoothly in any direction. The analog output let him fine-tune the position without jerky movements. When he pressed the joystick down, it triggered a digital signal that saved the current position to memory. The module worked exactly as expected and saved him hours of coding guesswork.

Micro Comparison

Many basic joystick modules use only digital switches that give you on-off control. This KY-023 module uses analog potentiometers that give you variable voltage output. That means you get proportional control instead of just directional clicks. The separate 3-pin headers for each axis also make wiring cleaner compared to modules that bundle all signals into a single connector. If you need precise speed control or smooth movement in your Arduino project, this analog module gives you much more flexibility than a simple digital switch.

Specifications

Input Voltage: DC 3.3V to 5V

Output Signal: Dual analog (X, Y) + digital (Z button)

Joystick Type: PS2 style cross rocker with 10K potentiometers

Interface: 3-pin headers for each axis

Compatibility: Arduino, Raspberry Pi, STM32, and other 3.3V/5V microcontrollers

Size Guide

Module dimensions: 3.7 cm x 2.8 cm x 3.2 cm / 1.5 in x 1.1 in x 1.3 in

Please allow 1-3 cm / 0.4-1.2 in difference due to manual measurement.

Package Includes

- 1 x Dual-axis XY Joystick Module (KY-023)

Why You Will Love It

You get a plug-and-play joystick module that works with your Arduino projects right out of the box. The analog output gives you real variable control instead of just on-off switching. It is a small upgrade that makes a big difference in how responsive and precise your builds feel.

Questions and Answers

Question: Does this joystick module work with a 5V Arduino Uno?

Answer: Yes, it works with 5V Arduino boards. The input voltage range is 3.3V to 5V DC.

Question: Can I use this module with a Raspberry Pi?

Answer: Yes, you can use it with a Raspberry Pi using the 3.3V supply and reading the analog output through an ADC converter like the MCP3008.

Question: How do I connect this to an Arduino without a sensor shield?

Answer: Connect the X output to an analog pin, Y output to another analog pin, and the Z button to a digital pin. Use the 5V and GND pins for power.

Question: Does the joystick return to center automatically when released?

Answer: Yes, it has a spring-loaded mechanism that returns the lever to the center position when you let go.

Question: What is the analog voltage reading when the joystick is centered?

Answer: At center position, the X and Y outputs read approximately 2.5V with a 5V supply.

You may also like