Five Direction Navigation Button Module for MCU AVR Game 5D Rocker Joystick Independent Keyboard for Arduino Joystick Module

SKU: FA3015-3
Module Type

Five-direction navigation button module

Directions

Up, Down, Left, Right, Center Press

Output Type

Digital (HIGH/LOW) per direction

Operating Voltage

3.3V – 5V DC

Switch Type

Tactile rocker switch

Pin Count

5–6 pins (VCC, GND, UP, DOWN, LEFT, RIGHT, SW)

Compatibility

Arduino, ESP32, STM32, Raspberry Pi, AVR

Module Dimensions

Compact PCB with mounting holes

The Five Direction Navigation Button Module is a compact, tactile input device designed for Arduino, AVR, and other microcontroller projects. It features a 5-direction rocker switch (Up, Down, Left, Right, and Center Press) that functions like a miniature joystick but provides digital outputs instead of analog signals. This makes it an ideal solution for menu navigation, game controls, robot steering, and any application requiring directional input with a selectable action — all from a single, easy-to-integrate module.

At the heart of the module is a 5-way tactile rocker switch that combines four directional contacts (Up, Down, Left, Right) with a center push button. When you tilt the rocker in any direction or press it down, the corresponding contact closes, pulling the associated output pin to LOW. This digital operation eliminates the need for analog-to-digital conversion and simplifies code development compared to analog joysticks. Each direction has its own dedicated output pin, allowing your microcontroller to detect exactly which direction is being pressed.

The module features a 5-pin interface (or 6-pin depending on variant) for easy connection: VCC, GND, and four directional outputs (UP, DOWN, LEFT, RIGHT), plus a center press output (SW). The outputs connect directly to your microcontroller’s digital input pins. This simple interface makes the module compatible with Arduino, ESP32, STM32, Raspberry Pi, AVR, and other microcontrollers.

The tactile rocker design provides a satisfying click feel with each direction press, giving users clear tactile feedback. The compact form factor with mounting holes allows easy integration into custom enclosures, handheld controllers, and robot chassis. 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 Five Direction Navigation Button Module is widely used in menu navigation systems, game controllers, robot steering, camera pan-tilt control, embedded user interfaces, robot arm control, and educational STEM projects. It is also popular in DIY electronics and maker projects where reliable directional input is required.

Important Note: The module outputs digital signals (HIGH/LOW) rather than analog values. Each direction is either pressed or not pressed — there is no intermediate position. The module is not waterproof and should be kept dry. For reliable operation, enable the internal pull-up resistors on your microcontroller’s input pins, or add external 10kΩ pull-up resistors.

Whether you are building a game controller, a menu-driven device, or a robot steering system, the Five Direction Navigation Button Module provides a reliable, affordable solution for 5-way directional input. It is suitable for individual makers, students, and businesses purchasing in bulk for product development or educational programs.

Features

  • 5-direction input — Up, Down, Left, Right, and Center Press

  • Digital output — Each direction provides a clean HIGH/LOW signal

  • Tactile rocker switch — Satisfying click feel with each press

  • Independent keyboard design — Each direction has a dedicated output pin

  • Simple interface — 5-pin connection (VCC, GND, and directional outputs)

  • Wide voltage range — 3.3V to 5V DC, compatible with Arduino, ESP32, STM32, AVR

  • Compact form factor — With mounting holes for easy integration

  • Wide application range — Menu navigation, game controllers, robot steering, camera control

  • No ADC required — Digital operation simplifies code development

  • Cost-effective — Affordable solution for directional input in volume production

Technical Specifications

# Parameter Specification
1 Module Type Five-direction navigation button module
2 Directions Up, Down, Left, Right, Center Press
3 Output Type Digital (HIGH/LOW) per direction
4 Operating Voltage 3.3V – 5V DC
5 Switch Type Tactile rocker switch
6 Pin Count 5–6 pins (VCC, GND, UP, DOWN, LEFT, RIGHT, SW)
7 Compatibility Arduino, ESP32, STM32, Raspberry Pi, AVR
8 Module Dimensions Compact PCB with mounting holes

Usage

Getting Started

  1. Connect power — Supply 3.3V or 5V DC to the VCC pin and GND to ground.

  2. Connect the outputs — Connect the directional output pins (UP, DOWN, LEFT, RIGHT) and the center press pin (SW) to digital input pins on your microcontroller:

    • Arduino: D2–D6

    • ESP32: Any available GPIO pins

  3. Enable pull-ups — Set each input pin to INPUT_PULLUP in your code, or add external 10kΩ pull-up resistors.

  4. Upload a test sketch — Read the digital state of each pin and verify that pressing each direction pulls the corresponding pin LOW.

  5. Implement control logic — Use the pin states to navigate menus, control motors, or trigger actions in your project.

Output Logic

Condition Output State
Direction pressed LOW (pulled to GND)
Direction not pressed HIGH (pulled up)

Pin Connections

Module Pin Function
VCC Power (3.3V–5V)
GND Ground
UP Up direction output
DOWN Down direction output
LEFT Left direction output
RIGHT Right direction output
SW Center press output

Example Arduino Code

cpp
#define UP_PIN    2
#define DOWN_PIN  3
#define LEFT_PIN  4
#define RIGHT_PIN 5
#define SW_PIN    6

void setup() {
  Serial.begin(9600);
  pinMode(UP_PIN, INPUT_PULLUP);
  pinMode(DOWN_PIN, INPUT_PULLUP);
  pinMode(LEFT_PIN, INPUT_PULLUP);
  pinMode(RIGHT_PIN, INPUT_PULLUP);
  pinMode(SW_PIN, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(UP_PIN) == LOW)    Serial.println("UP");
  if (digitalRead(DOWN_PIN) == LOW)  Serial.println("DOWN");
  if (digitalRead(LEFT_PIN) == LOW)  Serial.println("LEFT");
  if (digitalRead(RIGHT_PIN) == LOW) Serial.println("RIGHT");
  if (digitalRead(SW_PIN) == LOW)    Serial.println("CENTER");
  delay(100);
}

Typical Applications

  • Menu navigation — Directional input for embedded UIs and settings menus

  • Game controllers — Custom gamepad and handheld gaming projects

  • Robot steering — Manual control of robot movement

  • Camera pan-tilt — Directional control for camera gimbals

  • Robot arm control — Multi-axis manipulation

  • Embedded user interfaces — Navigation for industrial control panels

  • Educational STEM projects — Teaching digital input and control principles

Notes for Business Buyers

  • Digital simplicity — No ADC required; each direction is a simple digital input.

  • Tactile feedback — Satisfying click feel for each direction press.

  • Compact design — With mounting holes for easy integration into projects.

  • Suitable for bulk purchasing — Ideal for robotics kit manufacturers, game controller makers, and educational institutions.

Q: What is the Five Direction Navigation Button Module used for?

It is a 5-way directional input device for menu navigation, game controllers, robot steering, camera control, and embedded user interfaces.

Q: How many directions does the module support?

It supports 5 directions: Up, Down, Left, Right, and Center Press.

Q: What is the difference between this module and an analog joystick?

This module provides digital outputs (each direction is either pressed or not pressed), while an analog joystick provides analog voltage outputs that vary with position. The digital module is simpler to use and requires no ADC.

Q: What voltage does the module require?

It operates from 3.3V to 5V DC, making it compatible with Arduino, ESP32, STM32, AVR, and Raspberry Pi.

Q: How do I connect the module to an Arduino?

Connect VCC to 5V, GND to GND, and the directional pins to D2–D6. Set each pin to INPUT_PULLUP in your code.

Q: Do I need external pull-up resistors?

You can use the microcontroller’s internal pull-up resistors by setting pinMode(pin, INPUT_PULLUP). External 10kΩ resistors are optional.

Q: What is the output logic?

When a direction is pressed, the corresponding output is LOW. When not pressed, the output is HIGH (pulled up).

Q: Is the module waterproof?

No. The module is not waterproof and should be kept dry.

Q: Can I use this module with a 3.3V microcontroller?

Yes. The module operates from 3.3V to 5V DC, making it compatible with both voltage levels.

Q: Can I purchase in bulk for a product development project?

Yes. This module is suitable for both individual users and business purchasing, including robotics kit manufacturers, game controller makers, and educational institutions.