This repository contains firmware code for the arcin v1.1, a custom game controller board with support for 11 buttons, 2 analog or quadrature encoders, 2 always-on LEDs, and WS2812B LED lighting via the B9 connector.
This repository also contains necessary files for building and testing firmware, as well as creating binaries that can be distributed to users to easily flash their arcin.
Credits for the original codebase, forked repos, and many changes: zyp, K, handrew, Horocchi
The original codebase by zyp can be found at: http://cgit.jvnv.net/arcin/log/?h=conf
In addition to Horocchi fork, this repo contains:
sdvx-nemsys-ultimate-eacloud
is a firmware to support SOUND VOLTEX III / SOUND VOLTEX VI e-AMUSEMENT CLOUD natively as a gamepad. You'll need to bind your keys with following schemes:
- B1: Start
- B2: BT A
- B3: BT B
- B4: BT C
- B5: BT D
- B6: FX L
- B7: FX R
This firmware will modify Arcin Hardware Ids and Product Ids to work, becareful when you modify arcin config when connecting real official controller (Entry Model or Ultimate Model), any change you made into official controller may irreversible!
You'll need to boot into bootloader mode if you ever want to re-flash your arcin with your firmware of choice, runtime mode will not detected by firmware executable since Hardware and Product Ids is altered. To enter bootloader, press B1 + B2 when connecting arcin into PC.
Note that WS2812B need to be disabled since Start button require B9 to work properly. (TODO: Remap WS2812B).
Latest firmware executable of sdvx-nemsys-eacloud
branch can be downloaded here
- Grab the ARM toolchain: https://launchpad.net/gcc-arm-embedded/+download
- You will need SCons to build the image: http://scons.org/pages/download.html
- Supplementary scripts will require Python (2.7) as well as the hidapi-libusb library
- Clone the branch you want to work with.
git submodule init
: this will pull the externallaks
submodule, which contains headers for the hardware used by the arcin.
scons
./flash.py build/arcin.elf
See simpletest.py
for an example test script to monitor HID reports generated by an arcin controller.
After building an image using scons
, run the following command to build a custom flasher EXE with your new firmware image embedded into it. This EXE can be given to users to easily flash their device. Substitute arcin_flash_custom.exe
with whatever filename you want.
./flash_gen.py arcin.elf flash.exe arcin_flash_custom.exe