Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

SparkFun Arduino Boards w/ XInput

Build Status

This repository contains support for the 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.

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:

If you've done this correctly, the XInput boards packages will be available within the Boards Manager. Install the "XInput AVR Boards" package as well as the "XInput SparkFun Boards" package. Note that the core "XInput AVR Boards" package is required for the SparkFun boards to work.

Manual Installation

└───Arduino App Data Folder

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_sparkfun/hardware/avr/{version}, where {version} is the current semantic version number of the repository (e.g. "1.0.0"). The subfolder of this repository containing the boards files should then be copied into this folder. See the tree view above for reference.

You will also need to copy the boards files from the Arduino XInput AVR core. Follow the instructions in the README. The two folders, xinput and xinput_sparkfun, should live next to each-other in the "packages" directory.

After you have copied the files, restart the Arduino IDE. If the SparkFun boards files are installed correctly, you should see a new collection of "SparkFun AVR Boards w/ XInput" in the Tools -> Boards menu. If you get an error while compiling, make sure the XInput AVR core is installed properly.

To uninstall, delete both "xinput" folders 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.

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 remove the XInput sketch by flashing the board with an external programmer.

Included Boards

All of the following boards make use of the Arduino XInput AVR core:

Other SparkFun boards may be theoretically compatible with XInput, but are not yet available because the XInput USB modifications have not been ported to their architecture.