We are still shipping! However, order processing may take longer than usual and we cannot guarantee same day shipments due to staffing guidelines from the CDC. Please see all COVID-19 updates here. Thank you for your continued support.

Joystiic v1.1 - Qwiic Joystick Breakout

This analog joystick has a feel that's reminiscent of the PlayStation 2 controller and for that reason it's become a favorite of ours. The only thing that could make it better is a "smart" version, so we made one! This thumbstick will report its position over I2C and is designed to be compatible with the Qwiic system so you can add it to your project solder-free!

The Joystiic's I2C address is software selectable so you can add a bunch of them to the same bus with no collision.

Version 1.1 is a minor revision which adds a power LED and corrects the wide IC footprint. It's functionally identical to the previous version.

We do not plan to regularly produce SparkX products so get them while they’re hot!

Experimental Product: SparkX products are rapidly produced to bring you the most cutting edge technology as it becomes available. These products are tested but come with no guarantees. Live technical support is not available for SparkX products. Head on over to our forum for support or to ask a question.
  • Qwiic Compatible
  • Software Selectable Slave Address
  • Low Power ATtiny85 controller
  • Reports X and Y Joystick position + button press


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Has anyone gotten this to work with a Raspberry Pi?

    I've been trying to read the x,y and button values using a Raspberry Pi 3 B+ and the Qwiic HAT, without any luck. It works fine with an Arduino, and I'm able to read the Qwiic MMA8452 accelometer via i2c and the Qwiic Hat just fine. I've done a few other devices with the Qwiic Hat, so I believe it's working alright.

    But the Joystick always reads 0xFF for every byte. I see the joystick using i2cdetect at 0x20, and I'm reading from reg 0x00 to 0x04 in a block of 5 bytes.

    I'm using the same Python code as the updated Qwiic Joystick, the red one, and I've changed the reg value from 0x03 to 0x00 for the readings. But so far I've had no luck. I may try cutting the Pullup resistor jumpers to see if that helps.

    • Cut the pull-up resistor's but that didn't help, it still reads all 0xFF on a Raspberry Pi. There's no i2c error on the read, just the data byte is always 0xFF.

Customer Reviews

No reviews yet.