Page 1 of 1

Arcade stick Conversion project finished!

Posted: Sun Feb 10, 2013 1:30 pm
by atvdude01
So about a month ago i decided that i wanted to build an arcade stick for Mame.... looked at joysticks and such but they were all quite expensive to part out (more then i wanted to spend). so i looked on eBay and found an old ps1 arcade joystick controller and it was quite cheap. i got it for $13 with shipping! so when it arrived i was amazed by the quality! it was very easy to hack with a common ground running throughout the buttons! it has a joystick, 8 playing buttons, 2 up top that i use for coin and play 1 start and start select i use for enter and esc. heres a pic of the top:
Image

so basically i took it apart and got out the ps1 controller board and disconnected all the wires.... the top 2 buttons were on their own pcb so i just wired to them and same with the led in the top left button. i just wanted an indicator for when it was plugged in. heres the inside before and after doing the conversion:
Image

Image

So the actual conversion was just to make usable with the pi and so i choose to go with a MCP23017 I2C i/o port expander. this worked great because i now only needed 6-7 wires going to the controller (i needed 5v,3.3v,and gpio for interrupts) Heres a pic of the pcb board:
Image

now for the software i was going to make a python script that would read the gpio and simulate key presses but then i found a topic on the forum where someone already did it in C and uses >=1% of the cpu. though it didn't use I2C. i i asked and the author mmoller2k and he added I2C! i did the tested and he did the codeing and after a couple days it worked perfectly! heres a link to his topic: http://www.raspberrypi.org/phpBB3/viewt ... 78&t=29962

so all in all it worked great! in his software he has a wiring diagram that i basically followed but i added just a 104 ceramic capicator between power on the MCP chip. so the config for software was easy just mapping the correct pin to the correct key press for mame. i setup all the buttons and its been workign great with all games... except those that need a special key held down for startup...

BTW: im running pimame 5.0 beta thanks to shea silverman!

if anyone has any question about it feel free to ask or if they have idea for it....
-Atvdude01

Re: Arcade stick Conversion project finished!

Posted: Sun Feb 10, 2013 2:35 pm
by LemmeFatale
Nice work on this!

I was just wondering, does the stick connect up to the Raspberry Pi, or have you installed the Raspberry Pi into the stick for a "plug-and-play" sort of experience?

Re: Arcade stick Conversion project finished!

Posted: Sun Feb 10, 2013 2:40 pm
by atvdude01
LemmeFatale wrote:Nice work on this!

I was just wondering, does the stick connect up to the Raspberry Pi, or have you installed the Raspberry Pi into the stick for a "plug-and-play" sort of experience?
plugs into the Raspberry pi... didn't really want a plug and play type of system.... more of a controller. it actually hooks up to rpi with the original ps1 connector and an old ps2 extention cable i cut and hooked to a breadboard to pin it out lol. and there wasn't a ton of room in the controller.
-Atvdude01

Re: Arcade stick Conversion project finished!

Posted: Sun Feb 10, 2013 2:47 pm
by LemmeFatale
Aha! Thanks very much for the answer. :) (As an aside, I couldn't tell from the photographs how much room there was within the joystick's casing, I must admit!)

Re: Arcade stick Conversion project finished!

Posted: Mon Feb 11, 2013 7:51 pm
by atvdude01
LemmeFatale wrote:Aha! Thanks very much for the answer. :) (As an aside, I couldn't tell from the photographs how much room there was within the joystick's casing, I must admit!)
no problem, ya its just that its very thin.. in most places to fit anything.... and i wanted a simple project :P

Re: Arcade stick Conversion project finished!

Posted: Tue Feb 12, 2013 5:59 am
by mmoller2k
Don't you just love it when a plan comes together?
Nice job, and thanks for the pictures.
I love how the Raspberry Pi is inspiring all this creativeness.

Re: Arcade stick Conversion project finished!

Posted: Wed Feb 13, 2013 12:33 am
by atvdude01
mmoller2k wrote:Don't you just love it when a plan comes together?
Nice job, and thanks for the pictures.
I love how the Raspberry Pi is inspiring all this creativeness.
i do! lol thanks for the help! hope to test for u in future if needed too!

Re: Arcade stick Conversion project finished!

Posted: Wed Mar 13, 2013 5:29 pm
by qbone
Would it be possible to use two of these IC's in series somehow?

I need a few more buttons than the 16 supportet by one chip. :)

I am in the planning of building a two player cabinet with 2x 4/8 Joysticks and 6 buttons each, 1 player, 2 player, credit and escape (I think).

Re: Arcade stick Conversion project finished!

Posted: Wed Mar 13, 2013 7:39 pm
by mahjongg
qbone wrote:Would it be possible to use two of these IC's in series somehow?

I need a few more buttons than the 16 supportet by one chip. :)

I am in the planning of building a two player cabinet with 2x 4/8 Joysticks and 6 buttons each, 1 player, 2 player, credit and escape (I think).
I2C I/O-expanders often have "address" pins, normally three bits. So you can use up-to eight of them on the same I2C bus, by giving them different addresses!

Re: Arcade stick Conversion project finished!

Posted: Wed Mar 13, 2013 8:24 pm
by qbone
mahjongg wrote:I2C I/O-expanders often have "address" pins, normally three bits. So you can use up-to eight of them on the same I2C bus, by giving them different addresses!
Oh... deerp.. If I had just opened my eyes and taken a wee bit closer look on the datasheet I wouldn't have had to ask :P
Quote: "Three hardware address pins to allow up to eight
devices on the bus"

Thanks for pointing it out to me :)

Re: Arcade stick Conversion project finished!

Posted: Thu Mar 14, 2013 12:56 am
by atvdude01
just to add a side note.... when u wire up the interrupt pins on the i/o to the raspberry pi u can tag them together into one gpio. You dont have to do each seperate. might save you some gpio pins. the wireing diagram in the program is very helpful.