Git Product home page Git Product logo

smsepadpi's Introduction

smsepadpi

Use your SMS Evolution Gamepad on a Raspberry Pi!

(tested on Raspberry Pi 3 only)

Cable pinout

You'll need a cable to connect your SMS Evolution gamepad to Rasperry Pi's GPIO pins. It consists of a male DB9 connector in one side and a 10 way female Modu connector on the other side. Below is how the pins should be connected, from DB9 to Modu:

DB9 | Button      | Modu
------------------------
1     UP               2
2     DOWN             3
3     LEFT             4
4     RIGHT            7
5     X+Y+Z            6
6     BUTTON 1         9
7     START            8
8     GND              5
9     BUTTON 2        10

This table shows the mapping between the Modu connector and RPi's pins:

Modu | Function  | RPi
----------------------
 2     GPIO.05      29
 3     GPIO.12      32
 4     GPIO.06      31
 5     GND          34
 6     GPIO.13      33
 7     GPIO.16      36
 8     GPIO.19      35
 9     GPIO.20      38
10     GPIO.26      37

In summary, the cable must be connected to RPi's pins 28 to 38. The Modu connector that I used has the following layout, when viewed from the top (wire side):

 _________
|  2 |  1 |
|  4 |  3 |
|  6 |  5 |
|  8 |  7 |
| 10 |  9 |
 ---------

Installation

First, you need to build the DTB overlay and (optionally) the test program:

make

To build only the DTB overlay:

make smsepad.dtbo

Next, copy smsepad.dtbo to RPi. Put it in /boot/overlays. Then edit /boot/config.txt and add the following line:

dtoverlay=smsepad

That's it. Save, reboot and the gamepad should be detected and loaded automatically, but as a keyboard. This is the mapping between the keyboard and the gamepad:

UP          W
DOWN        S
LEFT        A
RIGHT       D
BUTTON 1    K
BUTTON 2    L
START       E
X+Y+Z       Q

smsepadpi's People

Contributors

luporl avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.