Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esp32beans/esp32_flight_stick
Arduino USB flight joystick for ESP32S3 and ESP32S2
https://github.com/esp32beans/esp32_flight_stick
arduino esp32-s3 esp32s3 flight-stick joystick usb-controller xac xbox-adaptive-controller
Last synced: about 16 hours ago
JSON representation
Arduino USB flight joystick for ESP32S3 and ESP32S2
- Host: GitHub
- URL: https://github.com/esp32beans/esp32_flight_stick
- Owner: esp32beans
- License: mit
- Created: 2023-05-22T03:39:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-29T22:56:41.000Z (4 months ago)
- Last Synced: 2024-11-04T07:42:54.403Z (about 2 months ago)
- Topics: arduino, esp32-s3, esp32s3, flight-stick, joystick, usb-controller, xac, xbox-adaptive-controller
- Language: C++
- Homepage:
- Size: 7.81 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# USB Flight Joystick for ESP32
See https://registry.platformio.org/libraries/schnoog/Joystick_ESP32S2 for a
more powerful and flexible USB joystick library for ESP32-S2 and ESP32-S3.This has only been tested on ESP32S3 boards. It should work on ESP32S2 boards.
The 3D joystick has the following controls.
Control |Description
--------|---------------
X |10 bits, 0..1023
Y |10 bits, 0..1023
Z |8 bits, 0..255
Throttle|8 bits, 0..255
Buttons |12 buttons
Hat |8 way hat switch/direction padThe HID report has been carefully chosen so it works with the Xbox Adaptive
Controller(XAC). All the other open source XAC joysticks I have seen use 8 bits
for X and Y. When used with XAC, only the X, Y, and 8 buttons are supported.
This is a limitation of the XAC.Install this library by downloading a zip file from this repo. Use the IDE
"Add .zip library" option.## Troubleshooting
Set "Tools->USB Mode" to "Hardware CDC and JTAG". This seems wrong but it
works when using ESP32 USB device libraries.After uploading firmware, powering cycling and/or reseting the board is
required.