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 LCDs, and WS2812B LED lighting via the B9 connector.
The svre9
branch in this repository contains modifications to improve user experience when using this board with DJ Dao SVRE9 or SVSE5 game controllers outfitted with arcade-style encoders.
The original codebase by zyp is available at: http://cgit.jvnv.net/arcin/log/?h=conf (the svre9
branch is based on the current HEAD of the conf
branch, 1cb55ca06ecbc3666d3bf66a583a768f69bf9278
)
- 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
git submodule init
: this will pull the externallaks
submodule, which contains headers for the hardware used by the arcin.- Supplementary scripts will require Python (2.7) as well as the hidapi plugin: https://pypi.python.org/pypi/hidapi/0.7.99.post16
scons
./hidflash.py 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
, use the Python script in the arcin-utils directory to build a custom hidloader EXE with your new firmware image embedded into it. This EXE can be given to users to easily flash their device.
./hidloader_append.py arcin.elf hidloader_v2.exe arcin_flash_custom.exe
The bin/
directory in this repository contains already built and packaged firmwares. The .elf
files can be flashed onto a device using the hidflash.py
script. Standalone .exe
files are also provided.
arcin-svre9-alpha
: A modification of arcin firmware suited for SVRE9 or SVSE5 controllers, which aims to reduce noise from analog inputs.arcin-svre9-alpha2
: A later modification of the above firmware, which further reduces noise from analog inputs at the cost of slightly lowered sensitivity.