{"id":20587852,"url":"https://github.com/sparkfun/qwiic_joystick","last_synced_at":"2025-04-14T21:41:35.101Z","repository":{"id":137300827,"uuid":"163340074","full_name":"sparkfun/Qwiic_Joystick","owner":"sparkfun","description":"The SparkFun Qwiic Joystick combines the convenience of the Qwiic connection system and an analog joystick that feels reminiscent of the thumbstick from a PlayStation 2 controller.","archived":false,"fork":false,"pushed_at":"2024-02-05T18:50:51.000Z","size":2780,"stargazers_count":23,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T09:43:13.253Z","etag":null,"topics":["joystick","sparkfun","sparkfun-products"],"latest_commit_sha":null,"homepage":"https://www.sparkfun.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sparkfun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-12-27T22:09:08.000Z","updated_at":"2025-03-18T14:18:47.000Z","dependencies_parsed_at":"2024-02-05T20:22:17.944Z","dependency_job_id":null,"html_url":"https://github.com/sparkfun/Qwiic_Joystick","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Joystick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Joystick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Joystick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfun%2FQwiic_Joystick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sparkfun","download_url":"https://codeload.github.com/sparkfun/Qwiic_Joystick/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248965811,"owners_count":21190679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["joystick","sparkfun","sparkfun-products"],"created_at":"2024-11-16T07:19:17.877Z","updated_at":"2025-04-14T21:41:35.071Z","avatar_url":"https://github.com/sparkfun.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"SparkFun Qwiic Joystick\n========================================\n\n![SparkFun Qwiic Joystick](https://cdn.sparkfun.com/assets/parts/1/3/5/5/8/15168-SparkFun_Qwiic_Joystick-01.jpg)\n\n[*SparkFun Qwiic Joystick (COM-15168)*](https://www.sparkfun.com/products/15168)\n\nNow, you can easily add an HID/controller to your project! The [SparkFun Qwiic Joystick](https://www.sparkfun.com/products/15168) combines the convenience of the Qwiic connection system and an analog joystick that feels reminiscent of the _thumbstick_ from a PlayStation 2 controller.\n\nThanks to an ATtiny85 on the [Qwiic Joystick](https://www.sparkfun.com/products/15168), all the necessary bits are taken care of and your microcontroller only needs to look for your inputs in the registers of the I\u003csup\u003e2\u003c/sup\u003eC device.\n\n\u003ch3 style=\"text-decoration: underline;\"\u003eFactory Default I2C Slave Address: 0x20\u003c/h3\u003e\n\n\u003ch3 style=\"text-decoration: underline;\"\u003eI2C Registers\u003c/h3\u003e\u003cbr/\u003e\n\n| Address | Contents |\n| ------- | -------- |\n| 0x00 | Default I2C Address |\n| 0x01-0x02 | Firmware Version |\n| 0x03-0x04 | Horizontal Position (MSB First) |\n| 0x05-0x06 | Vertical Position (MSB First) |\n| 0x07 | Button Position; clears after read. |\n| 0x08 | Button Status: Indicates if button was pressed since last read of button state (i.e. last time reg `0x07` was read). |\n| 0x09 | Lock Register for I2C Address Change |\n| 0x0A | Current I2C Slave Address. Can only be changed once Lock Register is set to 0x13, then it clears the Lock Register. |\n\nIn the registers for the joystick position, the MSB contains the first 8 bits of the 10-bit ADC value and the LSB contains the last two bits. As an example, this is how the library converts the two registers back to a 10-bit value.\n\n`uint_16t full10bitvalue = (MSB | LSB)\u003e\u003e6;`\n\nYou could potentially only look at the MSB and get an 8-bit (256 position) reading. The firmware was intentionally written this way in the hopes that it would be useful for customers who don't need the full resolution of the joystick position.\n\nRepository Contents\n-------------------\n\n* **/Firmware** - Firmware for ATtiny85 and Python Example Code \n* **/Hardware** - Eagle design files (.brd, .sch)\n\nDocumentation\n--------------\n* **[Library](https://github.com/sparkfun/SparkFun_Qwiic_Joystick_Arduino_Library)** - Arduino library for the Qwiic Joystick.\n* **[Hookup Guide](https://learn.sparkfun.com/tutorials/qwiic-joystick-hookup-guide)** - Basic hookup guide for the Qwiic Joystick.\n\nProduct Versions\n----------------\n* [COM-15168](https://www.sparkfun.com/products/15168)- Retail packaging of standard description here\n\nVersion History\n---------------\n* [SparkFun Qwiic Joystick COM-15168](https://www.sparkfun.com/products/15168) - Firmware was update so that the board acts like a *normal* I2C slave device, the silk screen was changed to follow retail product guidelines, and the ISP pins were reconfigured for programming on a test bed.\n* [SparkX Qwiic Joystiic v1.1 SPX-14656](https://www.sparkfun.com/products/14656) - 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.\n* [SparkX Qwiic Joystiic SPX-14619](https://www.sparkfun.com/products/retired/14619) - Original SparkX Joystiic.\n\nLicense Information\n-------------------\n\nThis product is _**open source**_! \n\nPlease review the LICENSE.md file for license information. \n\nIf you have any questions or concerns on licensing, please visit the [SparkFun Forum](https://forum.sparkfun.com/index.php) and post a topic. For more general questions related to our qwiic system, please visit this section of the forum: [SparkFun Forums: QWIIC SYSTEMS](https://forum.sparkfun.com/viewforum.php?f=105)\n\nDistributed as-is; no warranty is given.\n\n- Your friends at SparkFun.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfun%2Fqwiic_joystick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkfun%2Fqwiic_joystick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfun%2Fqwiic_joystick/lists"}