

The Joystick 5-Way Navigation (Manufacturer Part ID: 5-way navigation switch Joystick) is a compact and versatile input device that allows for directional control in five positions: up, down, left, right, and center (press). This joystick is commonly used in gaming controllers, navigation devices, and user interfaces where precise directional input is required. Its small size and ease of integration make it ideal for both hobbyist and professional applications.








| Parameter | Value |
|---|---|
| Manufacturer | Generic |
| Part ID | 5-way navigation switch Joystick |
| Operating Voltage | 3.3V to 5V |
| Operating Current | <10mA |
| Contact Resistance | <100mΩ |
| Insulation Resistance | >100MΩ |
| Actuation Force | ~200g (varies by direction) |
| Lifespan | >100,000 cycles |
| Dimensions | ~20mm x 20mm x 15mm |
| Mounting Type | Through-hole or PCB mount |
The joystick has five directional outputs and one common ground pin. The pinout is as follows:
| Pin Number | Label | Description |
|---|---|---|
| 1 | UP | Output signal for upward movement |
| 2 | DOWN | Output signal for downward movement |
| 3 | LEFT | Output signal for leftward movement |
| 4 | RIGHT | Output signal for rightward movement |
| 5 | CENTER | Output signal for center press |
| 6 | GND | Ground connection for the joystick |
Wiring the Joystick:
GND pin of the joystick to the ground of your circuit.UP, DOWN, LEFT, RIGHT, CENTER) to a digital input pin on your microcontroller or other input device.Reading the Joystick State:
Example Circuit:
UP to digital pin 2DOWN to digital pin 3LEFT to digital pin 4RIGHT to digital pin 5CENTER to digital pin 6GND to Arduino GNDBelow is an example Arduino sketch to read the joystick's state and print the direction to the Serial Monitor:
// Pin definitions for the joystick
const int pinUp = 2;
const int pinDown = 3;
const int pinLeft = 4;
const int pinRight = 5;
const int pinCenter = 6;
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Set joystick pins as inputs
pinMode(pinUp, INPUT);
pinMode(pinDown, INPUT);
pinMode(pinLeft, INPUT);
pinMode(pinRight, INPUT);
pinMode(pinCenter, INPUT);
}
void loop() {
// Check each direction and print the state
if (digitalRead(pinUp) == HIGH) {
Serial.println("Joystick moved UP");
}
if (digitalRead(pinDown) == HIGH) {
Serial.println("Joystick moved DOWN");
}
if (digitalRead(pinLeft) == HIGH) {
Serial.println("Joystick moved LEFT");
}
if (digitalRead(pinRight) == HIGH) {
Serial.println("Joystick moved RIGHT");
}
if (digitalRead(pinCenter) == HIGH) {
Serial.println("Joystick pressed CENTER");
}
// Small delay to avoid spamming the Serial Monitor
delay(100);
}
Joystick Not Responding:
GND pin.Incorrect or Erratic Readings:
Directional Pins Always HIGH or LOW:
Joystick Feels Stiff or Unresponsive:
Q: Can this joystick be used with a Raspberry Pi?
A: Yes, the joystick can be connected to the GPIO pins of a Raspberry Pi. Use appropriate pull-up resistors and ensure the voltage levels are compatible.
Q: Is the joystick waterproof?
A: No, this joystick is not waterproof. Avoid exposing it to moisture or liquids.
Q: Can I use this joystick for analog input?
A: No, this joystick provides digital signals for each direction. For analog input, consider using an analog joystick module.
Q: How do I mount the joystick on a PCB?
A: The joystick is designed for through-hole mounting. Align the pins with the PCB holes and solder them securely.
By following this documentation, you can effectively integrate the Joystick 5-Way Navigation into your projects and troubleshoot any issues that arise.