Skip to content

Commit 3c89abe

Browse files
authored
Merge pull request #2 from dmadison/xinput
XInput
2 parents 6978ae2 + 9fbf4a7 commit 3c89abe

File tree

3 files changed

+67
-29
lines changed

3 files changed

+67
-29
lines changed

README.md

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
# SparkFun Arduino Boards
1+
# SparkFun Arduino Boards w/ XInput
22

3-
This repository contains support for the following SparkFun Arduino-compatible development boards.
3+
This repository contains support for the following SparkFun Arduino-compatible development boards, modified to work as XInput devices. Originally forked from [the SparkFun repo](https://github.com/sparkfun/Arduino_Boards).
44

5-
#### AVR Boards
5+
These boards are meant to be used in conjunction with the [ArduinoXInput library](https://github.com/dmadison/ArduinoXInput).
6+
7+
## Included Boards
68

79
* [MaKey MaKey](https://www.sparkfun.com/products/11511)
810
* [Pro Micro 3.3V](https://www.sparkfun.com/products/10999)
@@ -11,7 +13,43 @@ This repository contains support for the following SparkFun Arduino-compatible d
1113
* [Qduino Mini](https://www.sparkfun.com/products/13614)
1214
* [LilyPad USB Plus](https://www.sparkfun.com/products/14346)
1315

14-
### Notes
16+
## Installation
17+
<pre>
18+
└───Arduino Installation
19+
├───drivers
20+
├───examples
21+
├───hardware
22+
│ ├───arduino
23+
│ ├───tools
24+
│ ├───<b>xinput</b>
25+
│ └───<b>xinput_sparkfun
26+
│ └───avr
27+
│ ├───bootloaders
28+
│ ├───cores
29+
│ ├───libraries
30+
│ └───variants</b>
31+
├───java
32+
├───lib
33+
├───libraries
34+
├───reference
35+
├───tools
36+
└───tools-builder
37+
</pre>
38+
39+
To install, you first need to install the latest version of the Arduino XInput AVR Core, [which can be found here](https://github.com/dmadison/ArduinoXInput_AVR). Follow [the installation instructions](https://github.com/dmadison/ArduinoXInput_AVR/#installation) provided in that repository and verify that those boards are installed correctly before proceeding.
40+
41+
This boards package uses the same process for installation. Download [the latest version](../../releases/latest) 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).
42+
43+
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.
44+
45+
To uninstall, delete the 'xinput_sparkfun' folder in the 'hardware' directory, and then restart the Arduino IDE.
46+
47+
## Upload Warning and Instructions
48+
49+
**!!!!!!! IMPORTANT !!!!!!!**
50+
51+
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.
52+
53+
[Full instructions for uploading are provided in the AVR Core repository](https://github.com/dmadison/ArduinoXInput_AVR/#upload-warning-and-instructions).
1554

16-
* Some boards such as the Arduino Pro and Pro Mini come in more than one flavor. For these **you must select the correct processor** in the 'Tools' menu.
17-
* Information on compiling and programming the bootloaders can be found in the bootloaders directory.
55+
**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](https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader/all) with an external programmer.

xinput_sparkfun/avr/boards.txt

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ menu.cpu=Processor
1010
################################################################################
1111
#################################### MaKey MaKey ###############################
1212
################################################################################
13-
makeymakey.name=SparkFun MaKey MaKey
13+
makeymakey.name=SparkFun MaKey MaKey w/ XInput
1414
makeymakey.build.board=AVR_MAKEYMAKEY
1515
makeymakey.build.vid.0=0x1B4F
1616
makeymakey.build.pid.0=0x2B74
@@ -35,10 +35,10 @@ makeymakey.bootloader.tool=arduino:avrdude
3535

3636
makeymakey.build.mcu=atmega32u4
3737
makeymakey.build.f_cpu=16000000L
38-
makeymakey.build.vid=0x1B4F
39-
makeymakey.build.pid=0x2B75
38+
makeymakey.build.vid=0x045E
39+
makeymakey.build.pid=0x028E
4040
makeymakey.build.usb_product="SparkFun MaKey MaKey"
41-
makeymakey.build.core=arduino:arduino
41+
makeymakey.build.core=xinput:arduino
4242
makeymakey.build.variant=promicro
4343
makeymakey.build.extra_flags={build.usb_flags}
4444
makeymakey.build.usb_manufacturer="SparkFun Electronics"
@@ -47,7 +47,7 @@ makeymakey.build.usb_manufacturer="SparkFun Electronics"
4747
################################################################################
4848
################################## Pro Micro ###################################
4949
################################################################################
50-
promicro.name=SparkFun Pro Micro
50+
promicro.name=SparkFun Pro Micro w/ XInput
5151

5252
promicro.upload.tool=avrdude
5353
promicro.upload.protocol=avr109
@@ -65,19 +65,19 @@ promicro.bootloader.low_fuses=0xFF
6565
promicro.bootloader.high_fuses=0xD8
6666

6767
promicro.build.board=AVR_PROMICRO
68-
promicro.build.core=arduino:arduino
68+
promicro.build.core=xinput:arduino
6969
promicro.build.variant=promicro
7070
promicro.build.mcu=atmega32u4
7171
promicro.build.usb_product="SparkFun Pro Micro"
72-
promicro.build.vid=0x1b4f
72+
promicro.build.vid=0x045E
7373
promicro.build.extra_flags={build.usb_flags}
7474

7575
######################### Pro Micro 3.3V / 8MHz ################################
7676
promicro.menu.cpu.8MHzatmega32U4=ATmega32U4 (3.3V, 8 MHz)
7777

7878
promicro.menu.cpu.8MHzatmega32U4.build.pid.0=0x9203
7979
promicro.menu.cpu.8MHzatmega32U4.build.pid.1=0x9204
80-
promicro.menu.cpu.8MHzatmega32U4.build.pid=0x9204
80+
promicro.menu.cpu.8MHzatmega32U4.build.pid=0x028E
8181
promicro.menu.cpu.8MHzatmega32U4.build.f_cpu=8000000L
8282

8383
promicro.menu.cpu.8MHzatmega32U4.bootloader.extended_fuses=0xFE
@@ -89,7 +89,7 @@ promicro.menu.cpu.16MHzatmega32U4=ATmega32U4 (5V, 16 MHz)
8989

9090
promicro.menu.cpu.16MHzatmega32U4.build.pid.0=0x9205
9191
promicro.menu.cpu.16MHzatmega32U4.build.pid.1=0x9206
92-
promicro.menu.cpu.16MHzatmega32U4.build.pid=0x9206
92+
promicro.menu.cpu.16MHzatmega32U4.build.pid=0x028E
9393
promicro.menu.cpu.16MHzatmega32U4.build.f_cpu=16000000L
9494

9595
promicro.menu.cpu.16MHzatmega32U4.bootloader.extended_fuses=0xCB
@@ -99,7 +99,7 @@ promicro.menu.cpu.16MHzatmega32U4.bootloader.file=caterina/Caterina-promicro16.h
9999
################################################################################
100100
############################## Fio v3 3.3V / 8MHz ##############################
101101
################################################################################
102-
fiov3.name=SparkFun Fio v3
102+
fiov3.name=SparkFun Fio v3 w/ XInput
103103
fiov3.build.board=AVR_FIOV3
104104
fiov3.build.vid.0=0x1B4F
105105
fiov3.build.pid.0=0xF100
@@ -124,10 +124,10 @@ fiov3.bootloader.tool=arduino:avrdude
124124

125125
fiov3.build.mcu=atmega32u4
126126
fiov3.build.f_cpu=8000000L
127-
fiov3.build.vid=0x1B4F
128-
fiov3.build.pid=0xF101
127+
fiov3.build.vid=0x045E
128+
fiov3.build.pid=0x028E
129129
fiov3.build.usb_product="SparkFun Fio v3"
130-
fiov3.build.core=arduino:arduino
130+
fiov3.build.core=xinput:arduino
131131
fiov3.build.variant=promicro
132132
fiov3.build.extra_flags={build.usb_flags}
133133
fiov3.build.usb_manufacturer="SparkFun Electronics"
@@ -136,7 +136,7 @@ fiov3.build.usb_manufacturer="SparkFun Electronics"
136136
################################################################################
137137
################################ Qduino Mini ###################################
138138
################################################################################
139-
qduinomini.name=Qduino Mini
139+
qduinomini.name=Qduino Mini w/ XInput
140140
qduinomini.build.vid.0=0x1B4F
141141
qduinomini.build.pid.0=0x514D
142142
qduinomini.build.vid.1=0x1B4F
@@ -161,11 +161,11 @@ qduinomini.bootloader.lock_bits=0x2F
161161

162162
qduinomini.build.mcu=atmega32u4
163163
qduinomini.build.f_cpu=8000000L
164-
qduinomini.build.vid=0x1B4F
165-
qduinomini.build.pid=0x516D
164+
qduinomini.build.vid=0x045E
165+
qduinomini.build.pid=0x028E
166166
qduinomini.build.usb_product="Qtechknow Qduino Mini"
167167
qduinomini.build.board=AVR_QDUINOMINI
168-
qduinomini.build.core=arduino:arduino
168+
qduinomini.build.core=xinput:arduino
169169
qduinomini.build.variant=promicro
170170
qduinomini.build.extra_flags={build.usb_flags}
171171
qduinomini.build.usb_manufacturer="SparkFun Electronics"
@@ -174,7 +174,7 @@ qduinomini.build.usb_manufacturer="SparkFun Electronics"
174174
############################# LilyPad USB Plus #################################
175175
################################################################################
176176

177-
LilyPadProtoUSB.name=LilyPad USB Plus
177+
LilyPadProtoUSB.name=LilyPad USB Plus w/ XInput
178178
LilyPadProtoUSB.vid.0=0x1B4F
179179
LilyPadProtoUSB.pid.0=0x0110
180180

@@ -197,10 +197,10 @@ LilyPadProtoUSB.bootloader.lock_bits=0x2F
197197

198198
LilyPadProtoUSB.build.mcu=atmega32u4
199199
LilyPadProtoUSB.build.f_cpu=8000000L
200-
LilyPadProtoUSB.build.vid=0x1B4F
201-
LilyPadProtoUSB.build.pid=0x0110
200+
LilyPadProtoUSB.build.vid=0x045E
201+
LilyPadProtoUSB.build.pid=0x028E
202202
LilyPadProtoUSB.build.usb_product="LilyPad USB Plus"
203203
LilyPadProtoUSB.build.board=AVR_LILYPAD_ARDUINO_USB_PLUS_BOARD
204-
LilyPadProtoUSB.build.core=arduino:arduino
204+
LilyPadProtoUSB.build.core=xinput:arduino
205205
LilyPadProtoUSB.build.variant=lilypadusbplus
206206
LilyPadProtoUSB.build.extra_flags={build.usb_flags}

xinput_sparkfun/avr/platform.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# For more info:
66
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
77

8-
name=SparkFun AVR Boards
9-
version=1.6.19
8+
name=SparkFun AVR Boards w/ XInput
9+
version=1.0.0
1010

1111
# AVR compile variables
1212
# ---------------------

0 commit comments

Comments
 (0)