NEW FINDS EVERY WEEK!




Free standard shipping on orders over $35
We currently ship to all countries worldwide except those restricted by the United States government, including but not limited to Cuba, Iran, North Korea, Sudan, Syria, and the Crimea, Donetsk, and Luhansk regions of Ukraine.
All other destinations are eligible for international delivery. Orders are typically processed within 1–3 business days. Once shipped, the estimated delivery time is approximately 12–35 business days, depending on your location and local customs procedures.
When you place an order, our system will provide an estimated shipping and delivery date based on item availability and the shipping option you choose. Depending on the carrier, shipping date estimates may also appear on the checkout page.
Please note that shipping rates for many products are weight-based. The weight of each item can be found on its detail page. In line with carrier policies, all weights are rounded up to the next full pound.
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
Who Is This For
- Arduino hobbyists building remote control cars, robot arms, or pan-tilt camera mounts
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.
Thanks for subscribing!
This email has been registered!