Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news


  

Author Topic: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!  (Read 4533 times)

0 Members and 1 Guest are viewing this topic.

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
I was chatting with sharpfork about the lack of MinimusAVR cheap alternatives and he mentioned that people started to make pad-hacks again thanks to the AVR shortage.

I've then created a firmware for cheapo Arduino Mini clones like this one: http://www.ebay.com/itm/401051886672

Beta testers are welcome!  ;D

Instructions can be found at: https://drive.google.com/open?id=1wF3S697crrigmpRB93IHXBsS6oylC_RSxvSNOloRzB4



Cheers

bootsector
« Last Edit: December 20, 2016, 07:05:49 am by bootsector »

plazma

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • I want to build my own arcade controls!
Nice. I bought cheap S controller clones for rewiring.

baritonomarchetto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 385
Does the library manage the rumble motors?

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!

BadMouth

  • Trade Count: (+6)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 8080
  • My arcade cabinet has a cup holder.
So this is for use with the original xbox?

I'm assuming it doesn't show up on a PC as an xinput controller?


bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
So this is for use with the original xbox?

I'm assuming it doesn't show up on a PC as an xinput controller?

Yes, this is a Classic/Original XBOX encoder, so it shows up to the XBOX as a regular controller. It works with the Classic/Original XBOX only, not PCs or any other console.

pbj

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 6709
  • Obey.
    • The Chris Burke Band
Thanks, man, this was starting to be a real problem for using original Xbox.


sokignano

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • I want to build my own arcade controls!
I was looking at the pinout and I have one question? Where does the out to the xbox get wired in? The micro usb port?

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
Yes, you connect it to the XBOX via  the micro USB port.

shaolindrunkard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 253
Forgive me and no offense but, why?

pbj

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 6709
  • Obey.
    • The Chris Burke Band
Cheap and easy way to wire up arcade controls to an Xbox.


sokignano

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • I want to build my own arcade controls!
So I flashed the board hooked up some buttons and it worked!!!!!!! Thank you!

I have one request. Can you program on the unused pins to be a multiple button press. Like the 2 triggers, back, and black button, so that I can wire up one button to reset the system.

Thank you again!

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
So I flashed the board hooked up some buttons and it worked!!!!!!! Thank you!

I have one request. Can you program on the unused pins to be a multiple button press. Like the 2 triggers, back, and black button, so that I can wire up one button to reset the system.

Thank you again!

So we have the first beta-tester!  ;D

There are no unused pins. All pins are mapped to some functionality of an original XBOX controller.

You could always wire up a single button to all desired functions to a single GND wire, that would achieve what you just mentioned.

Did you have the chance to check if all pin functions in the diagram below are correct?



You can use the Test Pad App in order to verify that!

Let me know!

sokignano

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • I want to build my own arcade controls!
With this stick I was making for a friend and only needed it for arcade games so I gave him a simple Capcom style layout. With a few extra buttons for Coin, Start, L3 and System Reset. So I wired up the L, R, Back, and Black buttons together, and anytime i pressed any of the aforementioned buttons the system would reset lol So i thought if I could get one of the pins that wasnt being used to emulate the L,R,B,BL reset on one pin that would have been great! :)

sokignano

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • I want to build my own arcade controls!
I just read the rest of the post, the buttons I tested were, UP, DOWN, LEFT, RIGHT, A, B, X, Y, LT, RT, BACK, START ,R3, BLACK. I didnt have any use for the analog Sticks, or L3, or WHITE

MaxRod

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
As I've mentioned. I still have a stash of minimus here. There doesn't seem to be much demand for them to continue pursuing a larger order of these. I have about 40 left.

Re: the minimus site. I asked about the site but didnt get a definitive answer. I know people that could host the site

yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Online Online
  • Posts: 16920
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
As I've mentioned. I still have a stash of minimus here. There doesn't seem to be much demand for them to continue pursuing a larger order of these. I have about 40 left.

Re: the minimus site. I asked about the site but didnt get a definitive answer. I know people that could host the site
What were you selling them for again?
***Build what you dig, bro. Build what you dig.***

MaxRod

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
initially i was just offering them at prices depending on who wanted them and how many they wanted.

pbj

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 6709
  • Obey.
    • The Chris Burke Band
initially i was just offering them at prices depending on who wanted them and how many they wanted.

:dizzy:


yotsuya

  • Trade Count: (+21)
  • Full Member
  • ***
  • Online Online
  • Posts: 16920
  • 2014 UCA Winner, 2014, 2015, 2016 ZapCon Winner
    • forum.arcadecontrols.com/index.php/topic,137636.msg1420628.html
initially i was just offering them at prices depending on who wanted them and how many they wanted.

:dizzy:
Sooooooooo..... bro price for one shipped?
***Build what you dig, bro. Build what you dig.***

MaxRod

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
pm me a place where a postman can hand it to you.

Rodent.Vienna

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 7
  • I want to build my own arcade controls!
Hi,

thank you for porting this over to 32u4!

an Option to turn the right analog stick pins into mouse x+ x- y+ y- pins for trackball, spinners or encoders would be nice :)

Thank you for your efforts!
Alex

Brian74

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1066
  • Yep... I built that!!
Subscribed
         

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
My super cheap Arduino Micro clone boards from eBay has just arrived. I've flash the firmware as per documentation and everything works as intended.

Since the purpose of this firmware is solely to prevent people to padhack classic XBOX joysticks in order to get their arcade built in a simple and cheap way, I shall not add more features to this firmware, unless it's a critical bug.

As for the features such as adding analog capabilities, I will leave that to the upcoming KADE miniArcade 2.0 board...

scroeffie

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
KADE miniArcade 2.0 < ?? there is going to be a kade 2.0 ? for the xbox ??

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
KADE miniArcade 2.0 < ?? there is going to be a kade 2.0 ? for the xbox ??

For the XBOX and for all the devices listed in the "Output Systems" below:



Output will be plug-and-play and automatic (no need to change firmware between output systems).

It will be based on an Atmega32u4 (Arduino Micro is not an option because it lacks a couple of usable pins) and it will support several analog input ports, mappable to any button for output systems.

PL1 should get a sample soon and he should share his discoveries in a post around here...
« Last Edit: January 31, 2017, 02:57:44 pm by bootsector »

scroeffie

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
so its just a software change not the hardware

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
so its just a software change not the hardware

Both Software AND Hardware have changed compared to the original KADE miniArcade

scroeffie

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
so when does the new kade come out ? wil they have another kickstarter

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
so when does the new kade come out ? wil they have another kickstarter

No ETA. We still need to discuss how this is going to be released. Probably not via kickstarter.

scroeffie

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
oke

scroeffie

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
if it wil be solder only its not for me but wil see :)

scroeffie

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • I want to build my own arcade controls!
any update !

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6438
  • 2013 UCA Awardee
any update !
How about an unexpected XBOXPadMicro update?

Since I know that you're looking for a no-soldering solution, here it is.

The Arduino Micro knockoff board here sold by "gowoops" comes with header pins already soldered onto it.   ;D

Wiring Option 1:
Use pre-fab 4-pin harnesses like this and a daisy-chan ground like this from Paradise Arcade Shop. (If you ask Bryan and Susan, they might be able to substitute a daisy-chain ground with one female dupont pin on one end instead of all 0.187" Quick Disconnects)

Wiring Option 2:
Connect dupont jumpers like the ones here to the desired header pins.

Cut off the other end of the jumper, strip the wire, and feed it into one side of a euro-style terminal strip like this.

On the other side of the terminal strip, connect pre-crimped wires cut from a JAMMA harness. (cut off and discard the big edge connector)


Scott

johnnygal2

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 20
  • I want to build my own arcade controls!
I have a Arduino Micro clone (http://www.ebay.co.uk/itm/252639960296?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT) that I'm trying to program with avrdude on widows 8.

I can see them COM port ok in device manager. I have tried the drivers supplied with this XBOXPadMicro zip and also the latest.
I always get the error: Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

I have tried resetting the Arduino and running avrdude straight away (failing until the com port is re-established) but get the same error.
I can download a sketch ok using Arduino IDE.

After each try, if I rerun avrdude again, it will hang rather than giving the error message above. It will do this until I reset the Arduino.

The verbose output from avrdude is attached.

Any suggestions anyone?

Thanks,
John
« Last Edit: February 12, 2017, 02:10:33 pm by johnnygal2 »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6438
  • 2013 UCA Awardee
I can see them COM port ok in device manager. I have tried the drivers supplied with this XBOXPadMicro zip and also the latest.
I always get the error: Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding

I have tried resetting the Arduino and running avrdude straight away (failing until the com port is re-established) but get the same error.
I can download a sketch ok using Arduino IDE.
Programming the Micro can be a bit finnicky sometimes.

You might want to use ArduinoBuilder to load the "XBOXPadMicro.hex" firmware file.

There's a simple 3-step tutorial here.


Scott

johnnygal2

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 20
  • I want to build my own arcade controls!
Thanks for that Scott. However, even with Arduino Builder I cannot load my hex.

I get the error:
Forcing reset using 1200bps open/close on COM7... no new port found

Searching for similar errors, some people found changing usb port helped - not for me. I'll maybe try another PC.

Just to check....I should be able to program this directly using the USB port on the Arduino Micro? Or should I be using an FTDI adapter connected to the ICSP header on the Arduino?

Thanks.

johnnygal2

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 20
  • I want to build my own arcade controls!
Ahh ok, the ICSP header isn't a serial port, so would need a separate programmer to use this port. Guess Im doing it right then by using the onboard usb on the Arduino.

I tried another PC with the same result, even before loading the Arduino drivers it gave the same error so perhaps my issues lies in the drivers.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6438
  • 2013 UCA Awardee
Thanks for that Scott. However, even with Arduino Builder I cannot load my hex.

I get the error:
Forcing reset using 1200bps open/close on COM7... no new port found
Plug in your Micro then open Arduino Builder.

Does it show "COM7" (or "COM8", etc.) to the right of the "Build Only" button?



The "finnicky" part is that while "COM1" always shows up, sometimes the second port "COM7" doesn't.

Here's how I fix COM7 not showing up:
1. Close all Arduino loading software. (Arduino Bulder and Arduino 1.0.6 software)

2. Plug the Micro board into a USB connection.

3. Open the Arduino 1.0.6 software.

4. Open one of the small default sketches. (I usually use "Blink".)

5. Click on the right arrow (Upload) icon.

6. About 1-2 seconds later, press the reset button on the Micro to put it into bootloader mode.

- Perfect timing on the press is just before the software finishes compiling and starts uploading.

- Too soon and the board drops out of bootloader mode before the upload is complete. (upload fails)

- Too late and you interupt the upload. (upload fails)

7. If the upload fails, repeat steps 5 and 6.

8. Once the upload succeeds, go to menu "Tools-Serial Port" to verify that COM7 is visible.

9. Close the Aduno 1.0.6 software.

10. Open Arduino Builder.

11. Set board type to "Arduino Micro".

12. Click on "Load Skech/HEX" and select the "XBOXPadMicro.hex" file.

13. Click on "COM7" to upload the hex to the board.

Just to check....I should be able to program this directly using the USB port on the Arduino Micro? Or should I be using an FTDI adapter connected to the ICSP header on the Arduino?
Yes, you can load the hex via the USB IF you can see the second COM port. (COM7)


Scott

johnnygal2

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 20
  • I want to build my own arcade controls!
Thanks Scott, what a polava!

Seeing as though Arduino IDE does it from the GUI, I thought other tools would be able to emulate it without this jumping through hoops ;-)

I didn't have any luck using the exact method you specified, but using ArduinoBuilder and resetting just as I pressed the "COMxx" button, it spotted the new com port and programmed my hex ok.

Cheers,
John
« Last Edit: February 11, 2017, 04:21:48 pm by johnnygal2 »

equlizer

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 350
  • All your base are belong to us
I just found a Teensy 2.0 in my box of arcade parts.  Can i use this to program it?  I just want it to simulate a keyboard for my arcade.  Thx

johnnygal2

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 20
  • I want to build my own arcade controls!
I just found a Teensy 2.0 in my box of arcade parts.  Can i use this to program it?  I just want it to simulate a keyboard for my arcade.  Thx
I don't think so. The pin mappings are different on the Teensy 2.0.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6438
  • 2013 UCA Awardee
I just found a Teensy 2.0 in my box of arcade parts.  Can i use this to program it?  I just want it to simulate a keyboard for my arcade.  Thx
1. The XBOXPadMicro firmware is a gamepad for the XBox -- not a keyboard, not for PC.

2. Like the Micro, the Teensy 2.0 has a 32u4, but less input pins are available.

Most AVR boards label pins according to the port names.

Examples:
- "B0" (lower left on the Teensy) = "PB0" (lower right on the Micro in the yellow "AVR" oval)
- "C7" (lower right on the Teensy) = "PC7" (upper left on the Micro)

 


Scott

Automark

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 167
  • Arcade in Spain ?
Im totally new to Arduino, but if this is possible, is it also possible to program these boards, so they work like an ipac? Arduinos are much cheaper then ipacs or kades. And those cheap chino keyboard encoders are #@$@#$@

hm, first google hit https://www.arduino.cc/en/Reference/MouseKeyboard

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
Im totally new to Arduino, but if this is possible, is it also possible to program these boards, so they work like an ipac? Arduinos are much cheaper then ipacs or kades. And those cheap chino keyboard encoders are #@$@#$@

hm, first google hit https://www.arduino.cc/en/Reference/MouseKeyboard

Here it goes: https://github.com/bootsector/PS3PadMicro

This is a generic HID joystick that works out of the box in several devices, including the Playstation 3.

Flashing procedure is pretty much the same documented in this topic for the XBOXPadMicro, except you need to change the .HEX file.

Attached .HEX file for your convenience.

EDIT: I have no freaking idea what an IPAC is, anyways, this firmware should get you going on several machines who aren't a classic xbox though.

equlizer

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 350
  • All your base are belong to us
So once programmed we just guess as to which contact does what? (eg. up, down, left, etc)

EDIT:  I found out what does what for the Teensy 2.0.  I seem to be missing UP on the D-pad.  With the USB facing up on the left:  gnd, dpad left, left axis, dpad down, axis right and button10, button5, 1, 3, 4, dpad right, 7

right side: 5v, up axis, down axis, next 3 nothing?, button12, 11, 9, 8, 6 and below it button 2.  Some dont seem to do anything.  Is there any way to edit the hex file to add dpad up?
« Last Edit: February 12, 2017, 09:33:00 pm by equlizer »

baritonomarchetto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 385
Some Arduino boards can very easily simulate a PC keyboard (and mouse, and joystick), so the answer is YES, it is a cheap alternative to ipac (or jpac with some additional component).
To make the work easy, you are in the need for an arduino leonardo or pro micro (or DUE, if 20 inputs are not enought for your application)
« Last Edit: February 13, 2017, 12:43:00 am by baritonomarchetto »

equlizer

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 350
  • All your base are belong to us
Im also looking into the Mega 2560.  Trying to figure out how to emulate a KB press on it right now.  Lots of inputs and i can get them for $15 inc shipping.  I think its the equiv to the atmega16u2?

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
So once programmed we just guess as to which contact does what? (eg. up, down, left, etc)

EDIT:  I found out what does what for the Teensy 2.0.  I seem to be missing UP on the D-pad.  With the USB facing up on the left:  gnd, dpad left, left axis, dpad down, axis right and button10, button5, 1, 3, 4, dpad right, 7

right side: 5v, up axis, down axis, next 3 nothing?, button12, 11, 9, 8, 6 and below it button 2.  Some dont seem to do anything.  Is there any way to edit the hex file to add dpad up?

Simply follow the diagram at the first post for the XBOXPadMicro and apply some differences:

:. Y, B, X, A become triangle, circle, square, cross
:. L and R become L1 and R1
:. Black and White become L2 and R2
:. Back becomes Select
:. Start + Select triggers PS3 Home Button

Edit: Added reference image:

« Last Edit: February 13, 2017, 02:31:00 am by bootsector »

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 6438
  • 2013 UCA Awardee
Im also looking into the Mega 2560.  Trying to figure out how to emulate a KB press on it right now.  Lots of inputs and i can get them for $15 inc shipping.  I think its the equiv to the atmega16u2?
It has an ATMEGA16u2 chip, but that board uses it for USB communication.

The main processor is the ATMEGA2560.

It won't work with KADE Loader -- only Minimus boards will work with Loader's keyboard firmwares.



I seem to be missing UP on the D-pad.
According to Bruno's diagram, it should be on PC7 (upper left of the Micro) ==> C7 (lower right of the Teensy).




Scott

bootsector

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 79
  • I want to build my own arcade controls!
In case someone wants to test a XInput encoder:

https://github.com/bootsector/XInputPadMicro
« Last Edit: November 07, 2017, 03:23:40 am by bootsector »

  
 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31