Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

SparkFun Arduino Boards w/ XInput Build Status

This repository contains support for the following SparkFun Arduino-compatible development boards, modified to work as XInput devices. Originally forked from the SparkFun repo.

These boards are meant to be used in conjunction with the ArduinoXInput library.

Included Boards


└───Arduino Installation
	│   ├───arduino
	│   ├───tools
	│   ├───xinput
	│   └───xinput_sparkfun
	│       └───avr
	│           ├───bootloaders
	│           ├───cores
	│           ├───libraries
	│           └───variants

To install, you first need to install the latest version of the Arduino XInput AVR Core, which can be found here. Follow the installation instructions provided in that repository and verify that those boards are installed correctly before proceeding.

This boards package uses the same process for installation. Download the latest version of this repository to your PC. Navigate to the directory containing your Arduino installation, and then open up the 'hardware' folder. Extract the contents of the .zip file into this directory. You should have a new 'xinput_sparkfun' folder with an 'avr' folder inside of it, containing the files from this repository (see the tree view above).

Restart the Arduino IDE. If the SparkFun boards are installed correctly, you should see a new collection of "SparkFun AVR Boards w/ XInput" in the Tools -> Boards menu.

To uninstall, delete the 'xinput_sparkfun' folder in the 'hardware' directory, and then restart the Arduino IDE.

Upload Warning and Instructions

!!!!!!! IMPORTANT !!!!!!!

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.

Full instructions for uploading are provided in the AVR Core repository.

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 reflash the bootloader with an external programmer.