All Projects → dmadison → ArduinoXInput_AVR

dmadison / ArduinoXInput_AVR

Licence: LGPL-2.1 license
AVR boards package for the ArduinoXInput project

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to ArduinoXInput AVR

Arduinoxinput
XInput library for USB capable Arduino boards
Stars: ✭ 126 (+137.74%)
Mutual labels:  usb, arduino-ide, xbox
xbox-winfsp
Brings native support for Xbox filesystems (FATX, STFS & GDFX/XGD/XDVDFS) to Windows.
Stars: ✭ 37 (-30.19%)
Mutual labels:  xbox, xbox360
gamepad.js
A simple HTML5 Gamepad handler that provides keyboard-like events for Gamepad sticks and buttons.
Stars: ✭ 21 (-60.38%)
Mutual labels:  xbox, xbox-controller
SwitchXBOXController
Turn your Nintendo Switch into an XBOX360 controller to play on your Windows computer
Stars: ✭ 46 (-13.21%)
Mutual labels:  xbox, xbox360
mi-360
Xbox360 controller emulation for Xiaomi Gamepad, with vibration support
Stars: ✭ 118 (+122.64%)
Mutual labels:  xinput, xbox360
fatx-tools
Data recovery tools for FATX drives (XBOX and XBOX 360).
Stars: ✭ 51 (-3.77%)
Mutual labels:  xbox, xbox360
Xb2XInput
XB2X: User-mode Windows driver for Xbox OG controllers, supporting both XInput and DirectInput.
Stars: ✭ 70 (+32.08%)
Mutual labels:  xbox, xinput
ControllerBuddy
Highly advanced game controller mapping
Stars: ✭ 47 (-11.32%)
Mutual labels:  xinput, xbox-controller
xone
Linux kernel driver for Xbox One and Xbox Series X|S accessories
Stars: ✭ 636 (+1100%)
Mutual labels:  usb, xbox
Gimx
The GIMX software.
Stars: ✭ 421 (+694.34%)
Mutual labels:  usb, xbox
Xow
Linux driver for the Xbox One wireless dongle
Stars: ✭ 947 (+1686.79%)
Mutual labels:  usb, xbox
xcloud-keyboard-mouse
Chrome extension for controlling Xbox Cloud Gaming (Project xCloud) using a keyboard and mouse
Stars: ✭ 78 (+47.17%)
Mutual labels:  xbox, xbox-controller
arduino-primo-tutorials
Here some tutorials to explain and show how to make use of the new features of the Arduino Primo and Arduino Primo Core, such as Wifi, BLE, NFC, InfraRed and various sensors. Hope you can find this helpful to create amazing stuff, save the planet or make a cool project to look smart at the dinning table with your uncles.
Stars: ✭ 12 (-77.36%)
Mutual labels:  arduino-ide, arduino-boards
FATXTools
FATX Data Recovery Tools (C#)
Stars: ✭ 34 (-35.85%)
Mutual labels:  xbox, xbox360
Arduino
🚀 Proyectos de todo tipo para arduino utilizando sus sensores y actuadores. 🤖
Stars: ✭ 27 (-49.06%)
Mutual labels:  arduino-ide, arduino-boards
vcvrack-rtlsdr
📻 FM radio for rtl-sdr USB dongles in the VCVRack environment
Stars: ✭ 20 (-62.26%)
Mutual labels:  usb
SubscriptionInfo
See on Steam if the game is currently available on any Subscription package like Xbox Game Pass PC & Console, Ubisoft+ or EA Play
Stars: ✭ 51 (-3.77%)
Mutual labels:  xbox
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (-16.98%)
Mutual labels:  usb
Project17-B-Map
Map SDK를 활용한 POI Clustering Interaction Dev
Stars: ✭ 78 (+47.17%)
Mutual labels:  core
8814au
Linux Driver for USB WiFi Adapters that are based on the RTL8814AU Chipset
Stars: ✭ 283 (+433.96%)
Mutual labels:  usb

XInput USB Core for Arduino AVR

Build Status

The files in this repository allow you to emulate an Xbox gamepad (XInput) using a USB-capable Arduino microcontroller. Originally forked from the official Arduino AVR core.

This is meant to be used in conjunction with the ArduinoXInput library.

Automated Installation

Follow the official instructions for adding third party boards and adding boards to the Arduino IDE.

Add the following line to the "Additional Boards Manager URLs" list:

https://raw.githubusercontent.com/dmadison/ArduinoXInput_Boards/master/package_dmadison_xinput_index.json

If you've done this correctly, the XInput boards packages will be available within the Boards Manager. Install the "XInput AVR Boards" package to add these boards to the IDE.

Manual Installation

└───Arduino App Data Folder
    ├───cache
    ├───logs
    ├───staging
    └───packages
        ├───arduino
        └───xinput
            └───hardware
                └───avr
                    └───{version}
                        ├───bootloaders
                        ├───cores
                        ├───drivers
                        ├───libraries
                        └───variants

To install manually you will need to find the Arduino IDE's application data folder. On Windows this is located in %APPDATA%\..\Local\Arduino15.

You will need to create the necessary folders in the "packages" directory: xinput/hardware/avr/{version}, where {version} is the current semantic version number of the repository (e.g. "1.0.0"). The repository should then be cloned into this folder. See the tree view above for reference.

After you have copied the files, restart the Arduino IDE. If the XInput AVR core is installed correctly, you should see a new collection of "XInput AVR Boards" in the Tools -> Boards menu.

To uninstall, delete the 'xinput' folder and then restart the Arduino IDE.

Upload Warning and Instructions

Due to the nature of how the XInput USB mode works, Arduinos that have XInput sketches on them will not automatically reset when programmed by the IDE! You will need to reset the board by hand every time you upload new code.

You can ignore this section if you're using an external programmer.

How to Upload

Connect the board to your computer using a USB cable, and make sure you have the proper board selected in the IDE's 'boards' menu (with or without XInput). If the board already has an XInput sketch on it, you do not need to select a serial port. You should also turn on 'verbose output' for uploading in the Arduino IDE's preferences (File -> Preferences). This makes it easier to time the manual reset and see if the upload succeeded.

Lastly, you need to know where the 'reset' button is on your Arduino. If your board does not have a 'reset' button, you can wire your own by momentarily connecting the 'reset' pin to ground.

To upload to the board:

  • Press the 'Upload' button in the IDE
  • Wait until the status bar says "Uploading..."
  • Press the reset button twice, quickly

If you timed it properly, the board should reset to the bootloader and the upload should begin. AVRDUDE will do its thing and you should see avrdude done. Thank you. near the bottom of the output window.

Note that the IDE may say that it "Couldn't find a Board on the selected port" even if the upload succeeded. This is why it's important to turn on the verbose uploading output - look for the avrdude message.

Do not upload XInput sketches to your Arduino unless you know how to reset it! Otherwise you will not be able to program it anymore and you'll have to remove the XInput sketch by flashing the board with an external programmer.

Supported Boards

Unfortunately boards such as the Uno, Nano, or Mega that do not have native USB support will not work.

Limitations

No Console Support

This will not enable you to use your Arduino with an Xbox console! Genuine controllers use a dedicated hardware security chip that handshakes with the console. The Arduinos do not have this chip, and its security method has not been (openly) broken.

No Commercial Use

These board definitions make use of Microsoft's VID and PID in order to latch on to the PC driver. As such this is strictly for educational or development use by non-commercial entities.

License

The Arduino core files are licensed under the terms of the GNU Lesser General Public License (LGPL) version 2.1. Modifications are released under these same terms. See the LICENSE file for more information.

Newly contributed files for XInput support are licensed under the terms of the more permissive MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].