

The Blackberry Trackballer Breakout is a compact breakout board designed to interface with the trackball sensor commonly found in Blackberry devices. This module allows for seamless integration of the trackball into microcontroller-based projects, enabling precise directional input and button press detection. The breakout board simplifies the connection process by providing easy-to-use pins for power, ground, and signal outputs.








The Blackberry Trackballer Breakout features a 4-directional trackball sensor with an integrated push-button. It uses optical encoders to detect movement in the X and Y axes and outputs signals via four quadrature pins. The breakout board is compatible with 3.3V and 5V logic levels, making it suitable for a wide range of microcontrollers.
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V to 5V |
| Current Consumption | ~10mA |
| Output Type | Quadrature signals (X1, X2, Y1, Y2) |
| Push Button | Active-low signal |
| Dimensions | 25mm x 25mm |
| Pin Name | Description |
|---|---|
| VCC | Power supply input (3.3V to 5V). |
| GND | Ground connection. |
| X1 | Quadrature signal for X-axis movement (channel 1). |
| X2 | Quadrature signal for X-axis movement (channel 2). |
| Y1 | Quadrature signal for Y-axis movement (channel 1). |
| Y2 | Quadrature signal for Y-axis movement (channel 2). |
| SW | Push-button output (active-low). |
VCC pin to a 3.3V or 5V power source and the GND pin to ground.X1 and X2 to two digital input pins on your microcontroller to read X-axis movement.Y1 and Y2 to two digital input pins for Y-axis movement.SW pin to a digital input pin to detect button presses.X1, X2, Y1, Y2) to determine the direction and speed of movement. The signals are phase-shifted to indicate direction.SW pin may require an external pull-up resistor if your microcontroller does not have internal pull-ups enabled.Below is an example of how to interface the Blackberry Trackballer Breakout with an Arduino UNO to read X and Y movements and detect button presses.
// Pin definitions
const int X1_PIN = 2; // X1 signal connected to digital pin 2
const int X2_PIN = 3; // X2 signal connected to digital pin 3
const int Y1_PIN = 4; // Y1 signal connected to digital pin 4
const int Y2_PIN = 5; // Y2 signal connected to digital pin 5
const int SW_PIN = 6; // Push-button signal connected to digital pin 6
void setup() {
// Configure pins as inputs
pinMode(X1_PIN, INPUT);
pinMode(X2_PIN, INPUT);
pinMode(Y1_PIN, INPUT);
pinMode(Y2_PIN, INPUT);
pinMode(SW_PIN, INPUT_PULLUP); // Enable internal pull-up resistor for SW pin
// Initialize serial communication for debugging
Serial.begin(9600);
}
void loop() {
// Read quadrature signals
int x1 = digitalRead(X1_PIN);
int x2 = digitalRead(X2_PIN);
int y1 = digitalRead(Y1_PIN);
int y2 = digitalRead(Y2_PIN);
// Read button state
int buttonState = digitalRead(SW_PIN);
// Print the values to the Serial Monitor
Serial.print("X1: "); Serial.print(x1);
Serial.print(" X2: "); Serial.print(x2);
Serial.print(" Y1: "); Serial.print(y1);
Serial.print(" Y2: "); Serial.print(y2);
Serial.print(" Button: "); Serial.println(buttonState == LOW ? "Pressed" : "Released");
// Add a small delay to avoid flooding the Serial Monitor
delay(100);
}
No Response from the Trackball:
VCC and GND pins are properly connected.Erratic or Incorrect Movement Detection:
X1, X2, Y1, Y2).Button Not Detected:
SW pin is connected to a digital input pin.Q: Can I use this breakout board with a 3.3V microcontroller?
A: Yes, the breakout board is compatible with both 3.3V and 5V logic levels.
Q: How do I decode the quadrature signals?
A: You can use a quadrature decoder library or write custom code to interpret the phase-shifted signals from X1, X2, Y1, and Y2.
Q: Is the push-button debounce necessary?
A: Yes, debouncing is recommended to ensure reliable detection of button presses, as mechanical switches can produce noise.
Q: Can I use this breakout board for gaming applications?
A: Absolutely! The trackball's precise directional input makes it suitable for custom game controllers and other interactive projects.