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

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

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

Introduction

The Adafruit Mini Analog Thumbstick (Part ID: 3246) is a compact joystick module designed to provide precise analog input for a variety of applications. It features two axes of movement (X and Y) and an integrated push-button switch, making it ideal for controlling devices such as robots, gaming systems, and interactive projects. Its small size and versatility make it a popular choice for hobbyists and professionals alike.

Explore Projects Built with Adafruit 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!
Arduino Nano-Based Multi-Sensor Controller with Joystick and Accelerometer
Image of perf: A project utilizing Adafruit Mini Analog Thumbstick in a practical application
This circuit features two Arduino Nano microcontrollers interfaced with various input devices including analog 2-axis joysticks, rotary potentiometers, pushbuttons, and ADXL345 accelerometers. The setup is designed to capture and process multiple analog and digital inputs for potential applications in control systems or data acquisition.
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 Adafruit 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
Arduino Nano Joystick and Potentiometer Controller
Image of HW13: A project utilizing Adafruit Mini Analog Thumbstick in a practical application
This circuit uses an Arduino Nano to read analog signals from a joystick module and a potentiometer. The joystick's X and Y axes are connected to analog pins A0 and A1, respectively, while the potentiometer's output is connected to analog pin A2. The Arduino Nano processes these inputs for further use in a control or monitoring application.
Cirkit Designer LogoOpen Project in Cirkit Designer
Adafruit Circuit Playground-Based Interactive Control System with Pushbutton and Slide Potentiometers
Image of Lever Up Controller: A project utilizing Adafruit Mini Analog Thumbstick in a practical application
This circuit features an Adafruit Circuit Playground Dev Edition microcontroller interfaced with a pushbutton and two slide potentiometers. The pushbutton is connected to digital pin D6, while the potentiometers provide analog input to pins D9 and D10, allowing for variable control inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit 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 perf: A project utilizing Adafruit Mini Analog Thumbstick in a practical application
Arduino Nano-Based Multi-Sensor Controller with Joystick and Accelerometer
This circuit features two Arduino Nano microcontrollers interfaced with various input devices including analog 2-axis joysticks, rotary potentiometers, pushbuttons, and ADXL345 accelerometers. The setup is designed to capture and process multiple analog and digital inputs for potential applications in control systems or data acquisition.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of camera beginnings: A project utilizing Adafruit 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
Image of HW13: A project utilizing Adafruit Mini Analog Thumbstick in a practical application
Arduino Nano Joystick and Potentiometer Controller
This circuit uses an Arduino Nano to read analog signals from a joystick module and a potentiometer. The joystick's X and Y axes are connected to analog pins A0 and A1, respectively, while the potentiometer's output is connected to analog pin A2. The Arduino Nano processes these inputs for further use in a control or monitoring application.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Lever Up Controller: A project utilizing Adafruit Mini Analog Thumbstick in a practical application
Adafruit Circuit Playground-Based Interactive Control System with Pushbutton and Slide Potentiometers
This circuit features an Adafruit Circuit Playground Dev Edition microcontroller interfaced with a pushbutton and two slide potentiometers. The pushbutton is connected to digital pin D6, while the potentiometers provide analog input to pins D9 and D10, allowing for variable control inputs.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotics control systems
  • Gaming controllers and arcade machines
  • User interface navigation
  • DIY electronics projects
  • Remote-controlled devices

Technical Specifications

The Adafruit Mini Analog Thumbstick is designed for ease of use and compatibility with microcontrollers like Arduino. Below are its key technical details:

Key Specifications

Parameter Value
Manufacturer Adafruit
Part ID 3246
Operating Voltage 3.3V to 5V
Output Type Analog (X and Y axes), Digital (button)
X/Y Axis Resistance 10 kΩ potentiometers
Push-Button Type Momentary switch
Dimensions 26mm x 26mm x 20mm
Weight 6g

Pin Configuration

The module has 5 pins for interfacing with a microcontroller. The table below describes each pin:

Pin Name Description
VCC Power supply input (3.3V to 5V)
GND Ground
VRx Analog output for the X-axis
VRy Analog output for the Y-axis
SW Digital output for the push-button (active LOW)

Usage Instructions

Connecting the Thumbstick

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

  1. Power the module: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Connect the analog outputs: Connect the VRx and VRy pins to analog input pins on your microcontroller (e.g., Arduino).
  3. Connect the push-button: Connect the SW pin to a digital input pin on your microcontroller. Use a pull-up resistor if necessary, as the button output is active LOW.

Example Circuit with Arduino UNO

Below is an example of how to connect the thumbstick to an Arduino UNO:

  • VCC → 5V
  • GND → GND
  • 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 internal pull-up
  pinMode(SWPin, INPUT_PULLUP);
}

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

  // Read the push-button state (LOW when pressed)
  bool buttonPressed = (digitalRead(SWPin) == LOW);

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

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

Best Practices

  • Use a stable power supply to ensure consistent readings.
  • Avoid applying excessive force to the joystick to prevent damage.
  • Use proper pull-up or pull-down resistors for the push-button if not using the internal pull-up feature of your microcontroller.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Joystick readings are unstable or noisy:

    • Ensure the power supply is stable and free of noise.
    • Add a small capacitor (e.g., 0.1 µF) between the VRx/VRy pins and ground to filter noise.
  2. Push-button does not register presses:

    • Verify the SW pin is connected to the correct digital input pin.
    • Check if the internal pull-up resistor is enabled or add an external pull-up resistor.
  3. Joystick does not respond:

    • Double-check all connections, especially VCC and GND.
    • Ensure the microcontroller's analog pins are functioning correctly.
  4. Readings are inverted:

    • If the X or Y axis values are inverted, reverse the connections to the analog pins in your code.

FAQs

Q: Can I use this joystick with a Raspberry Pi?
A: Yes, the joystick can be used with a Raspberry Pi. Connect the analog outputs (VRx and VRy) to an ADC (Analog-to-Digital Converter) module, as the Raspberry Pi does not have built-in analog input pins.

Q: What is the range of the analog output values?
A: The analog output values range from 0 to 1023 when using a 10-bit ADC, such as the one on an Arduino UNO.

Q: Is the joystick compatible with 3.3V systems?
A: Yes, the joystick operates at both 3.3V and 5V, making it compatible with a wide range of microcontrollers.

Q: Can I replace the push-button?
A: The push-button is integrated into the module and cannot be replaced without significant modification.