Skip to content
This repository has been archived by the owner on May 24, 2023. It is now read-only.
/ GRiP-duino Public archive

Arduino project to convert 15-pin Gravis Gamepad Pro gamepads to USB-HID in digital GRiP mode (supporting all buttons)

Notifications You must be signed in to change notification settings

prosper00/GRiP-duino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

GRiP-duino

Arduino project to convert 15-pin Gravis Gamepad Pro gamepads to USB-HID in digital GRiP mode (supporting all buttons)

NOTES:

Edit the keyboard:button mapping in the grip.h file to suit your needs.

PINOUT:

DB-15:

pins 1,9,8,15: +5V

pins 4,5,12: GND

pin 7: Leonardo pin 4 (Joystick# 0 DATA signal)

pin 2: Leonardo pin 2 (Joystick# 0 CLK signal)

pin 10: Leonardo pin 3 (Joystick# 1 CLK signal)

pin 14: Leonardo pin 6 (Joystick# 1 DATA signal)

all other pins n/c

Needs an Arduino or compatible device with native USB. Devices built with an ATmega32u4 should work, but may need modification. This code is built and tested on a Leonardo, and a clone 'pro micro' with a 32u4.

The gamepad pro has a switch on the back, and has 3 modes. in mode 1, only two buttons per gamepad are used in mode 2, all four buttons are used by gamepad 1, and gamepad 2 is disabled in mode 3 (GRiP), up to four gamepads can be used at once, and all 10 buttons are available each This code only supports two devices, mostly because I only HAVE two to test with. Also, we're already taxing the atmega with two devices.

I measured this taking about 220usec per cycle through loop(), which means we're reporting at 4500Hz with two gamepads connected, for a refresh rate of 2250Hz for each gamepad. This seems sufficient :) so I'm not planning on implementing any further optimizations. This is about 3500ops per poll, which seems reasonable.

I have no idea what will happen with gamepads in non-grip mode.

GRiP mode uses button 0 as a 20-25kHz clock signal, and button 1 as data Data packet consists of 24 bytes, as follows: 0 1 1 1 1 1 0 Select Start R2 Blue 0 L2 Green Yellow Red 0 L1 R1 Up Down 0 Right Left

About

Arduino project to convert 15-pin Gravis Gamepad Pro gamepads to USB-HID in digital GRiP mode (supporting all buttons)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published