Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Mini Analog Thumbstick: Examples, Pinouts, and Specs

Image of Mini Analog Thumbstick
Cirkit Designer LogoDesign with Mini Analog Thumbstick in Cirkit Designer

Introduction

The Mini Analog Thumbstick by PiHut is a compact joystick designed for precise two-dimensional input. It is commonly used in gaming controllers, robotics, and other interactive devices where smooth and accurate control of movement is required. The thumbstick features two potentiometers for X and Y-axis control and a tactile push-button for additional input functionality. Its small size and versatility make it ideal for DIY electronics projects and prototyping.

Explore Projects Built with Mini Analog Thumbstick

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Game Controller with SparkFun Pro Micro and Raspberry Pi 4B
Image of Raspberry Pi handheld: A project utilizing Mini Analog Thumbstick in a practical application
This circuit is a custom game controller featuring a SparkFun Pro Micro microcontroller, multiple tactile pushbuttons, and two analog joysticks. The Pro Micro reads inputs from the buttons and joysticks, processes them, and sends the corresponding gamepad signals. Additionally, a Raspberry Pi 4B is powered by a Pisugar S Pro battery module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Joystick-Controlled Bluetooth Module with Battery Power
Image of padelpro transmitter: A project utilizing Mini Analog Thumbstick in a practical application
This circuit is a wireless joystick controller that uses an Arduino Nano to read analog signals from a KY-023 Dual Axis Joystick Module and transmits the data via an HC-05 Bluetooth Module. The system is powered by a 18650 Li-Ion battery with a rocker switch for power control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi Pico-based PS2 Controller Emulator with ADS1115 Analog Input
Image of PS2Pico: A project utilizing Mini Analog Thumbstick in a practical application
This circuit appears to be a game controller interface that uses a Raspberry Pi Pico microcontroller to emulate a PS2 controller, interfacing with a PS2 joystick and a PS2 console cable. The ADS1115 analog-to-digital converter is used to read the joystick's analog signals, and the microcontroller's SPI and I2C interfaces are utilized for communication with the PS2 console and the ADS1115, respectively. Additionally, an NPN transistor and a resistor are configured to handle the PS2 controller's acknowledge signal.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Based Remote Control System with Joystick and Bluetooth Connectivity
Image of camera beginnings: A project utilizing Mini Analog Thumbstick in a practical application
This circuit features an Arduino Nano microcontroller interfaced with various input devices including a 2-axis joystick, pushbutton, rotary potentiometers, and an ADXL345 accelerometer. It also includes an HC-05 Bluetooth module for wireless communication and multiple LEDs for visual feedback, all powered by a 9V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Mini Analog Thumbstick

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Raspberry Pi handheld: A project utilizing Mini Analog Thumbstick in a practical application
Battery-Powered Game Controller with SparkFun Pro Micro and Raspberry Pi 4B
This circuit is a custom game controller featuring a SparkFun Pro Micro microcontroller, multiple tactile pushbuttons, and two analog joysticks. The Pro Micro reads inputs from the buttons and joysticks, processes them, and sends the corresponding gamepad signals. Additionally, a Raspberry Pi 4B is powered by a Pisugar S Pro battery module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of padelpro transmitter: A project utilizing Mini Analog Thumbstick in a practical application
Arduino Nano Joystick-Controlled Bluetooth Module with Battery Power
This circuit is a wireless joystick controller that uses an Arduino Nano to read analog signals from a KY-023 Dual Axis Joystick Module and transmits the data via an HC-05 Bluetooth Module. The system is powered by a 18650 Li-Ion battery with a rocker switch for power control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of PS2Pico: A project utilizing Mini Analog Thumbstick in a practical application
Raspberry Pi Pico-based PS2 Controller Emulator with ADS1115 Analog Input
This circuit appears to be a game controller interface that uses a Raspberry Pi Pico microcontroller to emulate a PS2 controller, interfacing with a PS2 joystick and a PS2 console cable. The ADS1115 analog-to-digital converter is used to read the joystick's analog signals, and the microcontroller's SPI and I2C interfaces are utilized for communication with the PS2 console and the ADS1115, respectively. Additionally, an NPN transistor and a resistor are configured to handle the PS2 controller's acknowledge signal.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of camera beginnings: A project utilizing Mini Analog Thumbstick in a practical application
Arduino Nano-Based Remote Control System with Joystick and Bluetooth Connectivity
This circuit features an Arduino Nano microcontroller interfaced with various input devices including a 2-axis joystick, pushbutton, rotary potentiometers, and an ADXL345 accelerometer. It also includes an HC-05 Bluetooth module for wireless communication and multiple LEDs for visual feedback, all powered by a 9V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Gaming controllers for directional input
  • Robotics for controlling movement or servos
  • Remote-controlled vehicles
  • User interfaces for embedded systems
  • DIY projects requiring analog input

Technical Specifications

The Mini Analog Thumbstick has the following key specifications:

Parameter Value
Operating Voltage 3.3V - 5V
X-Axis Resistance 10 kΩ (Potentiometer)
Y-Axis Resistance 10 kΩ (Potentiometer)
Push-Button Type Momentary tactile switch
Dimensions 26mm x 26mm x 20mm
Mounting Type PCB through-hole

Pin Configuration

The Mini Analog Thumbstick has 5 pins, as described in the table below:

Pin Name Description
1 GND Ground connection for the thumbstick.
2 VCC Power supply input (3.3V or 5V).
3 VRx Analog output for the X-axis (horizontal movement).
4 VRy Analog output for the Y-axis (vertical movement).
5 SW Digital output for the push-button (active LOW when pressed, HIGH when released).

Usage Instructions

Connecting the Thumbstick

To use the Mini Analog Thumbstick in a circuit, follow these steps:

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Analog Outputs: Connect the VRx and VRy pins to the analog input pins of your microcontroller (e.g., Arduino).
  3. Push-Button: Connect the SW pin to a digital input pin of your microcontroller. Use a pull-up resistor if necessary.

Example Circuit with Arduino UNO

Below is an example of how to connect the Mini Analog Thumbstick to an Arduino UNO:

Thumbstick Pin Arduino Pin
GND GND
VCC 5V
VRx A0
VRy A1
SW D2

Example Arduino Code

The following Arduino sketch reads the X and Y-axis values and detects button presses:

// Pin definitions
const int VRxPin = A0; // X-axis analog input
const int VRyPin = A1; // Y-axis analog input
const int SWPin = 2;   // Push-button digital input

void setup() {
  // Initialize serial communication for debugging
  Serial.begin(9600);

  // Configure the push-button pin as input with pull-up resistor
  pinMode(SWPin, INPUT_PULLUP);
}

void loop() {
  // Read the X and Y-axis values (0-1023)
  int xValue = analogRead(VRxPin);
  int yValue = analogRead(VRyPin);

  // Read the push-button state (LOW when pressed, HIGH when released)
  int buttonState = digitalRead(SWPin);

  // Print the values to the Serial Monitor
  Serial.print("X: ");
  Serial.print(xValue);
  Serial.print(" | Y: ");
  Serial.print(yValue);
  Serial.print(" | Button: ");
  Serial.println(buttonState == LOW ? "Pressed" : "Released");

  // Add a small delay for stability
  delay(100);
}

Important Considerations

  • Voltage Compatibility: Ensure the thumbstick is powered within its operating voltage range (3.3V - 5V).
  • Debouncing: If the push-button is used, consider implementing software debouncing to avoid false triggers.
  • Calibration: The analog outputs may require calibration to account for variations in the potentiometers.

Troubleshooting and FAQs

Common Issues

  1. No Output from VRx or VRy Pins

    • Cause: Incorrect wiring or insufficient power supply.
    • Solution: Double-check the connections and ensure the VCC and GND pins are properly connected.
  2. Push-Button Not Detected

    • Cause: Missing pull-up resistor or incorrect pin configuration.
    • Solution: Use the INPUT_PULLUP mode in your microcontroller or add an external pull-up resistor.
  3. Inconsistent Analog Readings

    • Cause: Electrical noise or loose connections.
    • Solution: Use shorter wires and ensure secure connections. Add capacitors for noise filtering if necessary.

FAQs

Q: Can I use the thumbstick with a Raspberry Pi?
A: Yes, the thumbstick can be used with a Raspberry Pi. Connect the analog outputs to an ADC (Analog-to-Digital Converter) module, as the Raspberry Pi lacks built-in analog input pins.

Q: What is the default position value for VRx and VRy?
A: When the thumbstick is in its neutral position, the VRx and VRy outputs typically read around half the supply voltage (e.g., ~512 for a 5V system).

Q: Is the push-button active HIGH or active LOW?
A: The push-button is active LOW, meaning it outputs LOW (0V) when pressed and HIGH (VCC) when released.