Documentation

ShillehTek KY-023 Dual Axis Joystick Module PS2 Analog Sensor for Arduino | ShillehTek Product Manual

black joystick module with pins on circuit board ShillehTek KY-023 Dual Axis Joystick Module

Purchase / View Product

What it is

The ShillehTek KY-023 Dual Axis Joystick Module PS2 Analog Sensor for Arduino is a PS2-style analog joystick module that provides two analog axes (X and Y) plus a push-button click when you press the stick down. It’s a popular DIY controller input for Arduino and ESP32 projects like robot remote controls, display menu navigation, camera pan/tilt, and interactive games.

Pins

Pin names can vary slightly by module revision. Refer to the silkscreen labels on the board/module and the listing photos for the exact pin names, then connect the two analog axis outputs to your microcontroller’s ADC-capable pins and the push-button to a digital input.

Technical Specifications

Item Details
Module type Dual-axis analog joystick module (PS2 style)
Outputs 2× analog axes (X, Y) + 1× push-button click
Interface Analog voltages (read via ADC)
Microcontroller compatibility Arduino (ADC pins), ESP32 (ADC capable pins)
Pinout / labeling See listing photos / board silkscreen
Operating voltage Varies by module revision

Frequently Asked Questions

How do I connect the KY-023 joystick module to an Arduino?

Connect the two axis outputs to Arduino analog (ADC) inputs and connect the push-button output to a digital input. Use the silkscreen labels on your board and the listing photos for the exact pin names.

Does the KY-023 work with ESP32?

Yes. The module outputs standard analog voltages for X/Y and a digital-style push-button signal, so it can be read using ESP32 ADC-capable pins and a GPIO input.

What readings should I expect from the KY-023 analog joystick?

You’ll read two changing analog values (X and Y) as you move the stick, plus a separate button state when you press down. The exact numeric range depends on your microcontroller ADC settings and supply voltage.

Is there a KY-023 pinout or datasheet I can follow?

Use the pin labels printed on the module (silkscreen) and the product photos as the most reliable pinout reference for your specific revision. Many Arduino joystick tutorial examples apply because the outputs are standard analog axes plus a click button.