The Dual Analog PS2 Joystick Module is a compact, versatile input device designed for Arduino UNO R3 and other microcontroller projects. It features a 2-axis analog joystick (X and Y) plus a built-in push button (Z-axis), providing precise directional control and a selectable action in a single, easy-to-integrate module. It is an ideal solution for robotics, game controllers, camera pan-tilt systems, menu navigation, and DIY electronics projects.
At the heart of the module is a PS2-style thumbstick with two 10kΩ potentiometers arranged perpendicularly to sense movement along the X and Y axes. Each axis outputs an analog voltage that varies with the joystick’s position, centered at approximately VCC/2 when the stick is at rest. Moving the stick changes the voltage on each axis, allowing your microcontroller to read the precise position and direction of movement. The built-in push button activates when the stick is pressed down, providing an additional digital input for selection or action commands.
The module features five pins for easy connection: VCC, GND, VRx (X-axis analog output), VRy (Y-axis analog output), and SW (button digital output). The analog outputs connect directly to your microcontroller’s ADC pins, while the button output connects to a digital input pin. This simple interface makes the module compatible with Arduino, ESP32, STM32, Raspberry Pi, and other microcontrollers.
The compact form factor with mounting holes allows easy integration into custom enclosures, handheld controllers, and robot chassis. The ergonomic thumbstick design provides comfortable, precise control for extended use. The module operates from a 3.3V to 5V DC supply, making it compatible with both modern low-power microcontrollers and traditional 5V systems.
The Dual Analog PS2 Joystick Module is widely used in robotics, RC vehicles, game controllers, camera gimbals, pan-tilt mechanisms, menu navigation systems, robot arm control, and educational STEM projects. It is also popular in DIY electronics and maker projects where precise directional input is required.
Important Note: The joystick’s analog outputs are centered at approximately VCC/2 when at rest. In your code, you should calibrate the center position and apply a dead zone to prevent drift or unintended movement. The module is not waterproof and should be kept dry. For long-term reliability, avoid applying excessive force to the thumbstick beyond its mechanical limits.
Whether you are building a robot, a game controller, or an interactive project, the Dual Analog PS2 Joystick Module provides a reliable, affordable solution for precise 2-axis control with button input. It is suitable for individual makers, students, and businesses purchasing in bulk for product development or educational programs.
Features
-
2-axis analog control — X and Y axes with 10kΩ potentiometers for precise positioning
-
Built-in push button — Z-axis button for selection and action commands
-
Analog voltage output — Centered at VCC/2, varies with joystick position
-
5-pin interface — VCC, GND, VRx, VRy, SW for simple connection
-
Wide voltage range — 3.3V to 5V DC, compatible with Arduino, ESP32, STM32, Raspberry Pi
-
Ergonomic thumbstick — Comfortable, precise control for extended use
-
Compact form factor — With mounting holes for easy integration
-
Wide application range — Robotics, game controllers, camera gimbals, menu navigation
-
Simple interface — Direct connection to ADC and digital input pins
-
Cost-effective — Affordable solution for joystick input in volume production
Technical Specifications
| # | Parameter | Specification |
|---|---|---|
| 1 | Module Type | Dual analog joystick with push button |
| 2 | Axes | 2 analog (X, Y) + 1 digital (Z button) |
| 3 | Potentiometer Resistance | 10kΩ per axis |
| 4 | Operating Voltage | 3.3V – 5V DC |
| 5 | Output Type | Analog (VRx, VRy) + Digital (SW) |
| 6 | Center Voltage | Approximately VCC/2 |
| 7 | Pin Count | 5 pins (VCC, GND, VRx, VRy, SW) |
| 8 | Module Dimensions | Compact PCB with mounting holes |













