The NEW Build Your Own Arcade Controls

Main => Main Forum => Topic started by: bootsector on December 20, 2016, 07:01:42 am

Title: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on December 20, 2016, 07:01:42 am
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 (http://www.ebay.com/itm/401051886672)

Beta testers are welcome!  ;D

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

(https://raw.githubusercontent.com/bootsector/XBOXPadMicro/master/docs/XBOXPadMicroPinout.png)

Cheers

bootsector
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: plazma on December 20, 2016, 07:25:18 am
Nice. I bought cheap S controller clones for rewiring.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: baritonomarchetto on December 22, 2016, 01:34:04 am
Does the library manage the rumble motors?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on December 22, 2016, 05:52:06 am
Does the library manage the rumble motors?
No
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: BadMouth on December 22, 2016, 12:12:56 pm
So this is for use with the original xbox?

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

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on December 22, 2016, 03:16:19 pm
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.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: pbj on December 22, 2016, 11:01:56 pm
Thanks, man, this was starting to be a real problem for using original Xbox.

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: sokignano on December 27, 2016, 02:23:24 pm
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?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on December 29, 2016, 04:41:48 am
Yes, you connect it to the XBOX via  the micro USB port.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: shaolindrunkard on December 29, 2016, 10:25:56 am
Forgive me and no offense but, why?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: pbj on December 29, 2016, 10:53:54 am
Cheap and easy way to wire up arcade controls to an Xbox.

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: sokignano on January 11, 2017, 11:11:44 am
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!
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on January 11, 2017, 01:31:03 pm
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?

(https://raw.githubusercontent.com/bootsector/XBOXPadMicro/master/docs/XBOXPadMicroPinout.png)

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

Let me know!
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: sokignano on January 11, 2017, 02:20:57 pm
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! :)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: sokignano on January 11, 2017, 03:12:09 pm
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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: MaxRod on January 23, 2017, 05:33:02 pm
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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: yotsuya on January 23, 2017, 06:34:14 pm
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?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: MaxRod on January 24, 2017, 06:52:10 am
initially i was just offering them at prices depending on who wanted them and how many they wanted.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: pbj on January 24, 2017, 09:45:57 am
initially i was just offering them at prices depending on who wanted them and how many they wanted.

:dizzy:

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: yotsuya on January 24, 2017, 02:18:04 pm
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?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: MaxRod on January 24, 2017, 05:00:00 pm
pm me a place where a postman can hand it to you.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Rodent.Vienna on January 26, 2017, 07:57:19 am
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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Brian74 on January 29, 2017, 11:17:14 am
Subscribed
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on January 31, 2017, 12:57:14 pm
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...
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: scroeffie on January 31, 2017, 02:27:03 pm
KADE miniArcade 2.0 < ?? there is going to be a kade 2.0 ? for the xbox ??
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on January 31, 2017, 02:55:30 pm
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:

(http://i.imgur.com/luCXzS5.png)

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...
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: scroeffie on January 31, 2017, 03:34:31 pm
so its just a software change not the hardware
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on January 31, 2017, 04:08:25 pm
so its just a software change not the hardware

Both Software AND Hardware have changed compared to the original KADE miniArcade
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: scroeffie on January 31, 2017, 04:10:36 pm
so when does the new kade come out ? wil they have another kickstarter
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on January 31, 2017, 04:50:07 pm
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.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: scroeffie on January 31, 2017, 04:54:47 pm
oke
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: scroeffie on February 01, 2017, 03:35:16 am
if it wil be solder only its not for me but wil see :)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: scroeffie on February 06, 2017, 01:24:15 pm
any update !
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on February 06, 2017, 03:51:20 pm
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 (https://www.amazon.com/gp/product/B00J1X5B7Y/) sold by "gowoops" comes with header pins already soldered onto it.   ;D

Wiring Option 1:
Use pre-fab 4-pin harnesses like this (https://paradisearcadeshop.com/harnesses/301-4-wire-100-header-wiring-harness.html) and a daisy-chan ground like this (https://paradisearcadeshop.com/wire-sets/405-30-connection-black-daisy-chain-187.html) 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 (https://www.amazon.com/gp/product/B00TK0QVR2/) 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 (https://www.radioshack.com/collections/connectors-adapters/products/radioshack-12-position-european-style-mini-terminal-strip).

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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: johnnygal2 on February 11, 2017, 09:54:06 am
I have a Arduino Micro clone (http://www.ebay.co.uk/itm/252639960296?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT (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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on February 11, 2017, 12:58:22 pm
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 (https://sourceforge.net/projects/arduinodev/) to load the "XBOXPadMicro.hex" firmware file.

There's a simple 3-step tutorial here (http://arduinodev.com/arduino-builder-tutorial/).


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: johnnygal2 on February 11, 2017, 01:54:58 pm
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.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: johnnygal2 on February 11, 2017, 02:32:26 pm
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.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on February 11, 2017, 03:00:05 pm
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?

(http://www.arduinodev.com/wp-content/uploads/2013/03/ab2.png)

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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: johnnygal2 on February 11, 2017, 03:45:36 pm
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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: equlizer on February 11, 2017, 06:12:25 pm
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
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: johnnygal2 on February 11, 2017, 06:18:16 pm
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.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on February 11, 2017, 08:22:20 pm
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)

(https://www.pjrc.com/store/teensy_2.jpg)  (https://raw.githubusercontent.com/bootsector/XBOXPadMicro/master/docs/XBOXPadMicroPinout.png)


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Automark on February 12, 2017, 02:05:11 pm
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 (https://www.arduino.cc/en/Reference/MouseKeyboard)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on February 12, 2017, 04:42:31 pm
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 (https://www.arduino.cc/en/Reference/MouseKeyboard)

Here it goes: https://github.com/bootsector/PS3PadMicro (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.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: equlizer on February 12, 2017, 08:37:12 pm
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?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: baritonomarchetto on February 13, 2017, 12:41:04 am
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)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: equlizer on February 13, 2017, 12:51:15 am
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?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on February 13, 2017, 02:10:23 am
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:

(https://raw.githubusercontent.com/bootsector/PS3PadMicro/master/docs/PS3PadMicroPinout.png)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on February 13, 2017, 03:27:22 am
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.

(https://images-na.ssl-images-amazon.com/images/I/71%2BR7pQwHaL._SL1000_.jpg)

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).

(https://www.pjrc.com/store/teensy_2.jpg)


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on November 07, 2017, 03:21:12 am
In case someone wants to test a XInput encoder:

https://github.com/bootsector/XInputPadMicro
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on September 07, 2018, 07:40:07 am
Thanks a lot bootsector. I'm a noob with this kind of project but I will try it!

Envoyé de mon LEX722 en utilisant Tapatalk

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 19, 2018, 07:57:41 pm
In case someone wants to test a XInput encoder:

https://github.com/bootsector/XInputPadMicro
Bootsector do you have instructions to install it into an Arduino micro? I bought 2 but I couldn't flash them. I'm a total noob for this kind of things. Thanks

Envoyé de mon LEX722 en utilisant Tapatalk
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on October 19, 2018, 08:56:55 pm
Bootsector do you have a guide to install it in an Arduino micro? I bought 2 but I couldn't flash them. I'm a total mob for this kind of things. Thanks

Have you tried ArduinoBuilder?
Programming the Micro can be a bit finnicky sometimes.

You might want to use ArduinoBuilder (https://sourceforge.net/projects/arduinodev/) to load the "XBOXPadMicro.hex" firmware file.

There's a simple 3-step tutorial here (http://arduinodev.com/arduino-builder-tutorial/).
For step 3, select the COM5 (COM6? COM7?) port instead of the COM1 port.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 19, 2018, 09:19:42 pm
Pl1 I'm trying to flash the XInputPadMicro not the XboxPadMicro. On the Git I don't see any .hex so I can't exactly follow the instructions he gave. I don't really know where to start really. Do I need to compile something?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on October 19, 2018, 09:54:27 pm
The compiled firmware hex file is attached to the November 7th post you quoted earlier.

Here's a link to the .zip file containing the firmware .hex.

http://forum.arcadecontrols.com/index.php?action=dlattach;topic=152687.0;attach=363424 (http://forum.arcadecontrols.com/index.php?action=dlattach;topic=152687.0;attach=363424)

Use ArduinoBuilder to load that .hex file on the Arduino Micro -- different filename but same 3-step procedure.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 19, 2018, 11:07:34 pm
PL1 I see only Com3 and USBASP. I saw a green light flashin but I didn't succeed to flash it:
 "[FLASHING] Forcing reset using 1200bps open/close on COM3... no new port found"

 Do I need to flash a bootloader first? My arduino micro is a chinese knock off.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on October 20, 2018, 12:05:41 am
There should be a bootloader installed, even on a chinese knockoff board.

When you press the reset button on the Arduino Micro, it should go into bootloader mode for about 8 seconds.

During that time, does a different COM port appear?  If so, use that port.

If that doesn't work, try the process described here (http://forum.arcadecontrols.com/index.php/topic,152687.msg1605738.html#msg1605738) to load a simple sketch like "blink" then load the firmware.

I usually only need to do this process after successfully loading a .hex firmware like XBOXPadMicro or StefanBurger's Illuminated Spinner.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 20, 2018, 12:11:57 am
Thanks for your helPl1 I found the right tool to flash this model. Here what I read on reddit:
Quote
Most of the hex uploaders like the Freematics Arduino Builder are actually quite bad at handling Atmega32u4 uploads because most of them were designed for AVR109 with the butterfly bootloader part tacked on.

Use https://github.com/christophediericx/ArduinoSketchUploader (https://github.com/christophediericx/ArduinoSketchUploader) if you are uploading hexes and uploading to Leonardos or Pro Micros. don't short the reset pins, just upload with the program.

And.....It worked!  ;D
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on October 20, 2018, 01:19:47 am
Thanks for your helPl1 I found the right tool to flash this model. Here what I read on reddit:
Quote
Most of the hex uploaders like the Freematics Arduino Builder are actually quite bad at handling Atmega32u4 uploads because most of them were designed for AVR109 with the butterfly bootloader part tacked on.

Use https://github.com/christophediericx/ArduinoSketchUploader (https://github.com/christophediericx/ArduinoSketchUploader) if you are uploading hexes and uploading to Leonardos or Pro Micros. don't short the reset pins, just upload with the program.

And.....It worked!  ;D
Glad to (indirectly) assist.   :cheers:

Looks like ArduinoSketchUploader might be a good alternative for anyone having problems loading .hex files with ArduinoBuilder.   ;D


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 20, 2018, 10:13:06 am
For a reason I can't explain, when I plugged my Arduino, Windows 10 showed me a Com4 used. 5 seconds later it showed me Com3!? ArduinoSketchUploader automatically detected the right Com: Com4. ArduinoBuilder didn't let me change the Com.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on October 20, 2018, 03:20:57 pm
For a reason I can't explain, when I plugged my Arduino, Windows 10 showed me a Com4 used. 5 seconds later it showed me Com3!? ArduinoSketchUploader automatically detected the right Com: Com4. ArduinoBuilder didn't let me change the Com.
The changing port number is normal behavior.

- When you plug in the Arduino, it goes into bootloader mode for a few seconds. (COM4)

- After that, it reverts to normal mode. (COM3)

- Bootloader mode port number is one higher than normal mode.

In most cases, the ArduinoBuilder GUI works perfectly for loading a .hex the first time, but it can be finnicky when reprogramming.

Haven't tried ArduinoSketchUploader yet, but it looks like it can put the board into bootloader mode, auto-detect the COM port, and upload a .hex file -- all three via a single command line command.

    Pro: Should be easy to write a .bat file for uploading .hex firmwares like Bruno's XBoxPad or StefanBurger's Illuminated Spinner.   :)

    Con: Doesn't appear to support EEPROM uploads like AVRDude does, so it won't work with miniArcade 2.0 firmwares.   :(

Different tools for different jobs.  Choose the tool suited to the job you are doing.   :cheers:


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 21, 2018, 12:57:53 am
Guys the verdict about this controller is very positive. Windows 10 see an XBox 360 controller and it work with Cuphead and MKX. No more Vjoy for me. For now, I will keep my ipac UIO connected but I will see if I still need it.

Envoyé de mon LEX722 en utilisant Tapatalk

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 22, 2018, 09:37:08 pm
PL1 you seem's to know a lot more than me about Arduino. I tried to put a switch to the usb cable connected to my Arduino micro. I connected the switch to the red cable (5v). I can see that in Windows,  the  xinput Arduino controler disconnect/connect without any problem when I activate the switch. But I still see a led activity  when the  switch is off!? Maybe the Arduino take power from the arcade buttons because there are still connected to the Ipac and my usb U360 are connected to the Arduino. Or the red cable wasn't the VCC. Moreover, when I turn on the switch, the red light flash slowly and after maybe 3s the green light turn on too. I don't see that happening when I connect/disconnect the Arduino with a non modified USB cable: all LEDs turn on immediately. Do you think my modified cable could damage the Arduino? Thanks!

Envoyé de mon LEX722 en utilisant Tapatalk

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on October 23, 2018, 12:46:44 am
The red wire should be 5v unless you got one of the cheap cables with non-standard wire colors.

You can do a continuity test from Pin 1 on the USB A cable to the 5v pin on the Arduino Micro to verify that the switch is on the correct wire. (Test with no power applied . . . unless you want to fry your multimeter.   >:D)

(https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/USB.svg/330px-USB.svg.png)

(https://raw.githubusercontent.com/bootsector/XBOXPadMicro/master/docs/XBOXPadMicroPinout.png)

There probably is some voltage leakage from the IPac ports to the Arduino ports, but it probably won't cause any damage.
(Disclaimer:  I am not an electrical engineer and am not 100% sure how you've got everything connected.   :dunno)

If you want to prevent power back-feeding from one board to another through the button microswitch wiring, you can use diodes wired like the "Shazaaam! + X (one click)" switch  -- one diode + "Input X" wire to the IPac input and one diode + "Shazaaam!" wire to the Arduino input for each microswitch.

Any common "1N4" series diode like 1N4001 should be suitable for this application.

(http://groovygamegear.com/example1.jpg)


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: fablog on October 29, 2018, 10:59:21 pm
Thanks Scott. I did more test with a switch and the result is not so good. When I power on the Arduino with my switch  it takes too much time to discover the Xinput controller. When I unplug and plug the USB cable the discovery is way faster. I will try this item to cut the data and power at the same time in the USB cable: https://abra-electronics.com/robotics-embedded-electronics/arduino-boards/dsk-00042-digispark-programming-tool-dsk-00042.html?sl=en
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: The 80s Man on November 08, 2018, 01:25:40 pm
I'm guessing these boards are small enough to fit inside of an original NES, SNES, N64, Atari and Genesis controller, thus making it possible to modify a controler of your choice to work with the original xbox.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on November 08, 2018, 03:42:43 pm
I'm guessing these boards are small enough to fit inside of an original NES, SNES, N64, Atari and Genesis controller, thus making it possible to modify original controlers to work with emulators available on a modified xbox.
You might be able to mod some of those controllers like that, but AFAIK that wasn't Bruno's plan for the XBOXPadMicro.

It is usually used to connect arcade-style joysticks and buttons to an XBox.

If you want to use original (unmodded) console controllers with an XBox, check out the KADE miniArcade 2.0 (http://forum.arcadecontrols.com/index.php/topic,154126.0.html) and the associated KADE Multi-Out (http://forum.arcadecontrols.com/index.php/topic,154126.msg1624549.html#msg1624549) expansion board.

Bruno has also developed the RetroPad32 (http://www.brunofreitas.com/node/84) -- a follow-up to the (several-years-overdue-delivering-european-Kickstarter-rewards :embarassed:) KADE miniConsole+.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 23, 2018, 07:22:33 pm
In case someone wants to test a XInput encoder:

https://github.com/bootsector/XInputPadMicro

I flashed this hex file on a cheap Arduino clone with ATMega32u4. Everything went fine. The ATmega32u4 is now showing up as a Xbox 360 controller, but I'm missing some controller functions. I don't have a 'left analog up/down' and no 'digital left/up'. This cheap Arduino clone has only 12 pins left and 12 pins on the right side. The A0, A1, A2 and A3 dont show up as Xinput. These pins show up as Direct Input, resp. Y-axis plus, Y-axis minus, X-axis plus and X-axis minus. Is this normal behaviour or is there any way to use the missing controls as one of the A0-A3 pins?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 24, 2018, 04:16:55 pm
I found another hex file, here https://github.com/bootsector/XInputPadMicro/issues/2#issuecomment-401362957 with A0 to A3, but now I'm having trouble reflashing my Pro Micro. The COM4 port disappears shortly after reset, so I can't upload any new hex files.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on December 24, 2018, 04:51:16 pm
I found another hex file, here https://github.com/bootsector/XInputPadMicro/issues/2#issuecomment-401362957 with A0 to A3, but now I'm having trouble reflashing my Pro Micro. The COM4 port disappears shortly after reset, so I can't upload any new hex files.
Earlier in this thread, fablog recommended using ArduinoSketchUploader (https://github.com/christophediericx/ArduinoSketchUploader) since it does a reset via software, auto-detects the COM port, and reprograms the board -- there's no need to find the correct port and manually reset just before reprogramming.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 24, 2018, 07:04:10 pm
Earlier in this thread, fablog recommended using ArduinoSketchUploader (https://github.com/christophediericx/ArduinoSketchUploader) since it does a reset via software, auto-detects the COM port, and reprograms the board -- there's no need to find the correct port and manually reset just before reprogramming.

Yes, I used ArduinoSketchUploader. Before I first flashed it, I got a COM port. After flashing I don't have a COM port, only a Xinput controller. Now when I try to upload, I get an error "Specified COM port name '' is not valid". When I first reset it, I get another error "Port not found"
Next thing I'll try, is using a different computer.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 26, 2018, 05:48:04 am
I got a little bit further. In Arduino IDE I uploaded Blink, so this way the Pro Micro wasn't a Xinput device anymore and the COM port stayed active. I was then able to upload a different hex file (this one I mentioned earlier https://github.com/bootsector/XInputPadMicro/issues/2#issuecomment-401362957) with ArduinoSketchUploader. With this other hex file I got my digital right, digital left, digital down and digital up. Only buttons I'm now missing are back and start  :( 

I'm at a loss again ??? Are there perhaps more hex files I can try? Or should I try to alter the source code and compile a configuration specifically for my Pro Micro?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on December 26, 2018, 04:39:00 pm
I got a little bit further. In Arduino IDE I uploaded Blink, so this way the Pro Micro wasn't a Xinput device anymore and the COM port stayed active. I was then able to upload a different hex file
Glad you got your board to reprogram, sometimes they can be a bit finnicky.   :banghead:

Pro Micro
That's the problem.

The Pro Micro board doesn't have connections for seven ports.
(Image is from the miniArcade 2.0 thread.  Ignore the orange and purple.)

(http://forum.arcadecontrols.com/index.php?action=dlattach;topic=149895.0;attach=360710;image)

Dropped an e-mail to Bruno since he hasn't stopped by the forums recently.

Hopefully he can help you with advice on modding the source if you choose to go that route.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on December 27, 2018, 10:32:48 am
Here's Bruno's reply to my e-mail.  Hope it helps.   :cheers:

Quote
This fork from kuwoh should do it:

https://github.com/kuwoh/XInputPadMicro (https://github.com/kuwoh/XInputPadMicro)

Taking a look at lines 77 and 78 from:

https://github.com/kuwoh/XInputPadMicro/blob/master/main.c (https://github.com/kuwoh/XInputPadMicro/blob/master/main.c)

It looks like start and back (select) are mapped to pins B 4 and B5, which seem available in the Pro Micro board. Are they not working?

I have compiled the hex and attached it to this email.

Let me know!

Cheers,

Bruno


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 27, 2018, 04:30:59 pm
Here's Bruno's reply to my e-mail.  Hope it helps.   :cheers:

Scott

Thanks for all the time you're putting in this. But the attached hex file was the same as the one here (https://github.com/bootsector/XInputPadMicro/issues/2). Result: no 'start' or 'back' buttons. To answer Bruno's question, B 4 and B5 are working:
B 4 = pin 8 = right trigger (Windows button 8 )
B5 = pin 9 = left trigger (Windows button 7)

There are three pins, however, that don't do anything with the hex from kuwoh, but that do work in the original hex from bootsector:
kuwoh
B1 = pin 15 = nothing
B3 = pin 14 = nothing
B2 = pin 16 = nothing

bootsector
B1 = pin 15 = left analog left
B3 = pin 14 = left analog right
B2 = pin 16 = digital down

If I somehow can change two of those three pins in start and back, I would have a perfectly functioning Xinput controller. If it's not possible to change those three, I could maybe change two other pins (only pins that give movement to the right analog stick):
kuwoh
C6 = pin 5 = right analog right
E6 = pin 7 = right analog left

bootsector
C6 = pin 5 = left bumper (Windows button 5)
E6 = pin 7 = right trigger (Windows button 8 )

How difficult is it, to change the source code and compile the hex myself?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: plazma on December 27, 2018, 04:44:52 pm
Why not use the KADE miniArcade 2.0 firmware instead and the Windows configuration tool?
http://forum.arcadecontrols.com/index.php/topic,154126.0 (http://forum.arcadecontrols.com/index.php/topic,154126.0)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 28, 2018, 03:56:22 pm
Why not use the KADE miniArcade 2.0 firmware instead
But then I won't have a Xinput device. With a Xinput controller I can simply add modern games (SFIV, SFV, Mortal Kombat X, etc) to my bartop. 

I downloaded the source from kuwoh and made a small change to see if it gives me a 'start' button:
line 77: pad_start =  !bit_check(PINB, 4);
Changed to: pad_start =  !bit_check(PINB, 2);

Now, how do I compile this? This would be my first time compiling anything  ???
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bootsector on December 29, 2018, 12:48:52 am
You need to setup the AVR toolchain first.

If you are on Linux or Mac OS:

http://maxembedded.com/2015/06/setting-up-avr-gcc-toolchain-on-linux-and-mac-os-x/ (http://maxembedded.com/2015/06/setting-up-avr-gcc-toolchain-on-linux-and-mac-os-x/)

If you are on Windows:

http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/windows_avr.html (http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/windows_avr.html)

After toolchain is installed, running make on the source directory should get you a .HEX file after a successful compilation.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on December 29, 2018, 04:21:20 pm
Nice, it works  :applaud: 
I changed two lines in the bootsector source
pad_up = !bit_check(PINC, 7); (changed to F7)
pad_left = !bit_check(PINB, 0);  (changed to F5)
Now I have a working D-pad! The analog sticks are incomplete, but I wasn't planning on wiring them.

Thank you, for all the time you put in this  :)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on December 29, 2018, 05:12:31 pm
Nice, it works  :applaud: 
I changed two lines in the bootsector source
pad_up = !bit_check(PINC, 7); (changed to F7)
pad_left = !bit_check(PINB, 0);  (changed to F5)
Now I have a working D-pad! The analog sticks are incomplete, but I wasn't planning on wiring them.
Glad to hear you got it working, Imp.   ;D

If you don't mind posting your compiled hex, I'll make a corresponding Pro Micro pinout image.   :cheers:


Scott
EDIT: Working on the pinout map and wondering which of these possible changes would be more useful for most users and make the best use of the available pins:
- Left analog thumbstick (F4 and F6 to L. Analog U and L. Analog D) or
- L and R triggers (F4 and F6 to L and R) or
- Right analog thumbstick (B1 and B3 to R. Analog D and R. Analog R)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on January 01, 2019, 11:56:17 am
I can post my hex file, but I think I screwed it up somehow, I used the wrong tool to check the buttonfunctions  :banghead:
When I connected everything to my cab all the buttons got a different input ingame  :(
I'll reflash my ProMicro with the original hex files to see what I did wrong.

Is there maybe a preferred Xinput button test program?
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: imp on January 03, 2019, 05:22:45 am
I used this tool to map my buttons correctly: https://gamepadviewer.com/
For the attached hex file I used this mapping for the Pro Micro (B1 and B3 on pins 15 and 14 are spare and not in use).

TX0 = D3 = B (red)
RX1 = D2 = A (green)
GND
GND
2 = D1 = X (blue)
3 = D0 = Y (yellow)
4 = D4 = LB
5 = C6 = LT
6 = D7 = RB
7 = E6 = RT
8 = B 4 = Start
9 = B5 = Back/Select

RAW
GND
RST
VCC
A3 = F4 = pad right
A2 = F5 = pad left
A1 = F6 = pad down
A0 = F7 = pad up
15 = B1
14 = B3
16 = B2 = L3
10 = B6 = R3

It's working perfectly now. Thanks for all the help  :cheers:

[NOTE: This firmware is for X360/Xinput and not for the original Xbox. -- Scott]
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on January 03, 2019, 06:43:27 pm
Thanks for the updated hex, Imp.   :cheers:

Here's a pinout image. (LMK if there are any errors.)


Scott
EDIT: Fixed typo, changed "Stick Press" to "Stick Button", and added "Xinput" to title.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Pic on March 13, 2019, 02:49:47 pm
I'm guessing these boards are small enough to fit inside of an original NES, SNES, N64, Atari and Genesis controller, thus making it possible to modify original controlers to work with emulators available on a modified xbox.
You might be able to mod some of those controllers like that, but AFAIK that wasn't Bruno's plan for the XBOXPadMicro.

It is usually used to connect arcade-style joysticks and buttons to an XBox.

If you want to use original (unmodded) console controllers with an XBox, check out the KADE miniArcade 2.0 (http://forum.arcadecontrols.com/index.php/topic,154126.0.html) and the associated KADE Multi-Out (http://forum.arcadecontrols.com/index.php/topic,154126.msg1624549.html#msg1624549) expansion board.

Bruno has also developed the RetroPad32 (http://www.brunofreitas.com/node/84) -- a follow-up to the (several-years-overdue-delivering-european-Kickstarter-rewards :embarassed:) KADE miniConsole+.


Scott

First of, many thanks Bruno for your job with the Xboxpadmicro ! I tried it with a Neo Geo CD controller and it works like a charm. I am now building a case for it, and I consider buying a Neo Geo stick to play on my Xbox's Neo Geo emulator.

If I understand correctly, there is no way to plug a Nes, Snes, N64 or usb controller to the Xboxpadmicro, even if I build a controller to db15 cable ?

My dream would be to get the original controller working on all of my Xbox emulators  :notworthy:

Thanks guys !
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on March 13, 2019, 03:30:05 pm
If you want to use original (unmodded) console controllers with an XBox, check out the KADE miniArcade 2.0 (http://forum.arcadecontrols.com/index.php/topic,154126.0.html) and the associated KADE Multi-Out (http://forum.arcadecontrols.com/index.php/topic,154126.msg1624549.html#msg1624549) expansion board.
If I understand correctly, there is no way to plug a Nes, Snes, N64 or usb controller to the Xboxpadmicro, even if I build a controller to db15 cable ?

My dream would be to get the original controller working on all of my Xbox emulators
1. USB controllers should work directly with your emulators.

2. XBOXPadMicro isn't designed as an interface for those other controllers -- look into miniArcade 2.0 + Multi-Out board.
What systems does it connect to?
- Generic USB/HID Joypad (USB cable)
- Generic USB/HID Keyboard (USB cable)
- NES/SNES (KADE Multi-Out expansion board)
- Genesis (KADE Multi-Out expansion board) -- 3-button stick (original or second gen. console)
- MSX (KADE Multi-Out expansion board) -- autodetect only (for now)
- Neo Geo AES (KADE Multi-Out expansion board)
- GameCube/Nintendo64 (custom RJ-45 cable)
- PS1/PS2 (custom RJ-45 cable) -- this also allows you to connect to 3DO, Dreamcast, Famicom, Famicom (clone), MegaDrive / Master System, Saturn, Turbo Grafx 16, Xbox 360, and other consoles using commercially available adapter cables
- PS3 (USB cable)
- Wii/WiiU/NES Classic (custom RJ-45 cable)
- WiiU (USB cable)
- Xbox (USB cable + female USB to joystick port adapter cable)


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Pic on March 21, 2019, 02:52:01 pm
Thanks for you help PL1 !

1. USB controller's doesn't work for me  :'( I tried with a simple usb controller (Microsoft SideWinder game pad) and it doesn't work. I found this post https://www.reddit.com/r/originalxbox/comments/9b16dr/question_about_xbox_port_to_usb_adapters_with/ (https://www.reddit.com/r/originalxbox/comments/9b16dr/question_about_xbox_port_to_usb_adapters_with/) and they mention Bruno's project to make it work. Everything seems to lead to Bruno's projects ahah

2. I'll check out this board and see if I can make one ! The thing is that I need to access to a fablab or something to build such thing.

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on March 21, 2019, 04:24:20 pm
The thing is that I need to access to a fablab or something to build such thing.
The User Guide has a full Bill of Materals (part numbers and links) and page 15 lists some PCB fabricators.

Quote
http://www.pcbway.com/ (http://www.pcbway.com/)
https://www.seeedstudio.com/fusion_pcb.html (https://www.seeedstudio.com/fusion_pcb.html)
https://www.itead.cc/open-pcb.html (https://www.itead.cc/open-pcb.html)
http://www.tinyosshop.com/index.php?route=product/category&path=111 (http://www.tinyosshop.com/index.php?route=product/category&path=111)

The Gerber files (used for PCB fabrication) are in the "docs\gerbers" folder.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Pic on April 18, 2019, 02:36:45 pm
Sorry for the late reply ! I was in Japan for holydays  ;D

Much wow ! I didn't know that you could make a single unit of custom pcb. I'll definitely check this out !

Thanks PL1 !

By the way I just finished my retropad adapter. I can't wait to use it ! Here's some pic if you guys are interested :

https://drive.google.com/file/d/12mQtV0QUXenT0a844Xoz3enrJnB9pSqo/view?usp=sharing (https://drive.google.com/file/d/12mQtV0QUXenT0a844Xoz3enrJnB9pSqo/view?usp=sharing)

https://drive.google.com/file/d/1vBxLimvw0L5whR3SYeh9x36DTX_nlBxv/view?usp=sharing (https://drive.google.com/file/d/1vBxLimvw0L5whR3SYeh9x36DTX_nlBxv/view?usp=sharing)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on April 18, 2019, 03:51:11 pm
By the way I just finished my retropad adapter. I can't wait to use it ! Here's some pic if you guys are interested :

https://drive.google.com/file/d/12mQtV0QUXenT0a844Xoz3enrJnB9pSqo/view?usp=sharing (https://drive.google.com/file/d/12mQtV0QUXenT0a844Xoz3enrJnB9pSqo/view?usp=sharing)

https://drive.google.com/file/d/1vBxLimvw0L5whR3SYeh9x36DTX_nlBxv/view?usp=sharing (https://drive.google.com/file/d/1vBxLimvw0L5whR3SYeh9x36DTX_nlBxv/view?usp=sharing)
Cool case.   ;D

Where'd you find it?  Got a link?


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Pic on April 22, 2019, 04:53:06 pm
Thanks !

I found it in a french store called Cultura. They sell many products for DIY / creative activities.

This shop is only in France, but I searched the box's brand website and they have an online boutique for the US and other countries :
http://www.reallyusefulproducts.co.uk/usa/html/onlineshop/rub/b00_07litre.php (http://www.reallyusefulproducts.co.uk/usa/html/onlineshop/rub/b00_07litre.php)
 
Let me write down the spec of the box in case the link is broken :
Brand : Really useful box
Model : 0.07L
Size : (length x width x depth in inches)
External: 31⁄2" x 25⁄8" x 11⁄4"
Internal: 21⁄2" x 2" x 1"

Hope it'll help  ;)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on April 22, 2019, 05:56:21 pm
Brand : Really useful box
Model : 0.07L
Thanks for the info.   ;D

Amazon also carries them here (https://www.amazon.com/Really-Useful-Liter-Clear-0-07C/dp/B001Q8KT7Y/) and here (https://www.amazon.com/Really-Useful-Plastic-Storage-Liter/dp/B06XRJM61K/).


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Michel_K17 on March 04, 2020, 02:43:11 am
Thanks for the good work. Worked fine for me.

One thing: are there any pins for the trigger analog buttons?

In regards to a solderless solution, I used the following adapter from CZH-LABS for $22 from Amazon:
https://www.amazon.com/CZH-LABS-Terminal-Breakout-Module-Arduino/dp/B07QMRDZ3W (https://www.amazon.com/CZH-LABS-Terminal-Breakout-Module-Arduino/dp/B07QMRDZ3W)

One advantage is that it comes with decently sized screw holes to mount the adapter.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on March 04, 2020, 04:28:27 am
are there any pins for the trigger analog buttons?

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

Bruno was looking into analog trigger buttons for the miniArcade 2.0 around April/May 2018, but AFAIK it never got any further than a discussion about whether a 1 port or 2 port implementation would be better and what analog hardware might be adapted for this.

Other than maybe the Blue Tip Gaming (https://paradisearcadeshop.com/home/controls/buttons/809-blue-tip-gaming) analog pushbuttons, we didn't find any sensible, off-the-shelf, DIY-friendly hardware options.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Michel_K17 on March 05, 2020, 12:36:53 am
Thank you Scott.

Last question, I promise: What is the best practice for connecting my joystick buttons?


I checked the code to look to see if any internal pullup was being used, but I was unable to find any references to that in the comments.

Cheers!

Michel
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on March 05, 2020, 11:13:27 am
]Do I need to use a pullup or pulldown resistor?
No external resistors needed.

Use standard wiring techniques.
- Use the NO and COM microswitch terminals.
- Wire directly from Arduino input to microswitch.
- Daisy-chan the ground.
- If you want to add a dedicated combo button (one physical button press triggers more than one output), use blocking diodes.


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Michel_K17 on March 08, 2020, 10:53:40 pm
Thank you Scott!

And I found what I was looking for, in regards to the triggers (since I want them as ON/OFF buttons, like a shoulder switch) - they are at:

 :)
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Michel_K17 on May 02, 2020, 01:00:26 pm
Thanks again for the help. My project is (mostly) completed. update 19 July 2020

With the XBOXPadMicro, I was able to use the Aduino Leonardo via an adapter on my Defender Arcade Machine Control Panels - I built two, one with the Defender/Stargate layout, and a Dual Joystick/player with a spinner control. The beauty about the XBOXPadMicro is that it works flawlessly on the original Xbox and also when connected to a Raspberry Pi using Retroarch (via Lakka or Retropie), so I can use the same layout in either case.

I used this adapter Link on Amazon is here (it works great):
https://www.amazon.com/gp/product/B07QMRDZ3W/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1 (https://www.amazon.com/gp/product/B07QMRDZ3W/ref=ppx_yo_dt_b_search_asin_image?ie=UTF8&psc=1)

I used the XXX spinner on Amazon, and I can vouch that it has a great feel and response at an affordable price. You will need the spinner [https://www.amazon.com/gp/product/B07P5WJ7BC/ref=ppx_yo_dt_b_asin_title_o03_s01?ie=UTF8&psc=1 (https://www.amazon.com/gp/product/B07P5WJ7BC/ref=ppx_yo_dt_b_asin_title_o03_s01?ie=UTF8&psc=1)] and the interface board [https://www.amazon.com/gp/product/B07NKJ3SKH/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1 (https://www.amazon.com/gp/product/B07NKJ3SKH/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1)].

Finally, I:

For anyone with similar projects, Here are a few pictures, my control panel artwork and my wiring diagram is attached as a PDF file.

Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: Michel_K17 on July 19, 2020, 06:18:41 pm
Pictures
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 09, 2021, 02:39:49 pm
Thanks for your helPl1 I found the right tool to flash this model. Here what I read on reddit:
Quote
Most of the hex uploaders like the Freematics Arduino Builder are actually quite bad at handling Atmega32u4 uploads because most of them were designed for AVR109 with the butterfly bootloader part tacked on.

Use https://github.com/christophediericx/ArduinoSketchUploader (https://github.com/christophediericx/ArduinoSketchUploader) if you are uploading hexes and uploading to Leonardos or Pro Micros. don't short the reset pins, just upload with the program.

And.....It worked!  ;D
Glad to (indirectly) assist.   :cheers:

Looks like ArduinoSketchUploader might be a good alternative for anyone having problems loading .hex files with ArduinoBuilder.   ;D


Scott

I tried programming the first Pro Micro but ended up bricking it. I may have used the wrong file or programmed it as an incorrect device which then messed up the bootloader. :dizzy:

So I've bought another one and just wanted to double check what options and file I should be using.

Is this file OK to use?
https://www.gitmemory.com/issue/bootsector/XBOXPadMicro/1/483612292 (https://www.gitmemory.com/issue/bootsector/XBOXPadMicro/1/483612292)

Do I choose Leonardo or Mega2560 in Arduino Sketch Uploader?
I can't see an option for Pro Micro.

Thanks for any advice.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: baritonomarchetto on June 09, 2021, 03:15:02 pm
Don't trash the "bricked" pro micro. If while uploading the sketch you reset it with the right timing, you will succesfully upload a sketch. Use a simple sketch like "blink".
Arduino pro micro can only be programmer as "Leonardo" (it's a leo with a different form factor and some pin not connected). You cannot brick an arduino (genuino or clone) selecting the wrong board. Probably you have uploaded a sketch using the receive pin RX and now is stuck.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 09, 2021, 04:04:37 pm
Thanks for the reply.

I tried to recover the Arduino but whatever I did it couldn't be reprogrammed.  :dizzy:

I reset the 2 pins to put it into bootloader mode for 8 seconds and the 3 lights stayed on after uploading the 'Hello world' or 'Blink' sketch. But when I tried to upload another sketch the com port would disappear.

I'll try uploading using the Leonardo option and see how it goes.

Thanks again.  :cheers:
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on June 09, 2021, 07:53:20 pm
I tried to recover the Arduino but whatever I did it couldn't be reprogrammed.  :dizzy:

I reset the 2 pins to put it into bootloader mode for 8 seconds and the 3 lights stayed on after uploading the 'Hello world' or 'Blink' sketch. But when I tried to upload another sketch the com port would disappear.
Yes, Arduinos use a different port for programming mode than for normal mode.   :banghead:

I've found that using avrdude and two .bat files works well for loading firmwares on a Pro Micro.
(Hat tip to JayBee for the code in the "progmode.bat" file.   :notworthy:)

- The "progmode.bat" file puts the Pro Micro into programming mode by opening and closing the normal COM5 serial port.
Code: [Select]
@echo off
mode COM5 BAUD=1200 PARITY=n DATA=8
TIMEOUT 3 /NOBREAK

- The "load.bat" file loads the .hex file through the COM6 port into flash memory using this single-line command.
Code: [Select]
avrdude -p atmega32u4 -P COM6 -c avr109 -U flash:w:MINIARCADE2.hex -C avrdude.conf
To use this approach:

1. Install avrdude on your computer.

2. Install the Arduino Leonardo/Mini bootloader driver as per the instructions at https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc2 (https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc2).

3. Put a copy of the desired firmware .hex file in the avrdude folder.

4. Identify the normal and programming mode COM ports for your Arduino.
- In Windows Control Panel -- Devices and Printers, right-click on the Arduino and select "Properties".
- You'll find the normal COM port under the "Hardware" tab. (the code above assumes COM5)
- Close the Properties window.
- Double click to reset the board.
-- The Arduino icon will disappear and an "Arduino Micro bootloader (COM6)" icon will appear.  The name contains the programming mode COM port. (the code above assumes COM6)
(https://cdn.sparkfun.com/assets/6/d/3/4/a/523c8e23757b7fbe5f8b4584.png)

5. Create "progmode.txt" and "load.txt" files in the avrdude folder.

6. Open them in Notepad.
- Copy/paste the batch file code above.
- Change "MINIARCADE2.hex" to the firmware filename.
*** NOTE: The .hex filename is case sensitive.  Make sure it matches. ***
- Change COM port numbers to match what you saw in step 4.
- Save and exit.

7. Rename the "progmode.txt" file to "progmode.bat" and rename the "load.txt" file to "load.bat".
- If you ever need to edit the .bat file, change the extension back to .txt.

8. Left-click on an empty part of the avrdude folder window so nothing is selected.  In an empty part of the window Shift+Right-click -- "Open command window here". (this saves you manually navigating to the avrdude folder using "cd" commands)

9. Type "progmode.bat" and hit ENTER.
- Board goes into programming mode.

10. While the board is in programming mode, type "load.bat" and hit ENTER.
- Avrdude loads the firmware on the board.   ;D

Is this file OK to use?
https://www.gitmemory.com/issue/bootsector/XBOXPadMicro/1/483612292 (https://www.gitmemory.com/issue/bootsector/XBOXPadMicro/1/483612292)
Bruno posted the file and a Pro Micro pinout image so it should work fine on a Pro Micro.

Pretty sure the firmware in reply #82 (http://forum.arcadecontrols.com/index.php/topic,152687.msg1674092.html#msg1674092) would also work -- pinout for that firmware is in reply #83.
[EDIT: That firmware is for X360/Xinput.]


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 10, 2021, 03:14:05 pm
Big thanks for the help guys.  :cheers:

I've programmed the new Arduino and it seemed to upload the file to it OK, but, I haven't fully tested it yet as the header pins need soldering on and I need to make a loom. All going well I'll be able to play SpikeOut Battle Street in my Blast City cabinet. Previously I tried a couple of padhacks but they weren't very successful.  :laugh2:

Thanks again!
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 13, 2021, 08:38:23 pm
This is just not working for me.  :banghead:

I thought it had uploaded OK but it's not being seen in mapper app.
So I tried to reload blink again so I could try reloading the hex file, it seems now I'm at a stage worse than the other unit.

So I tried your method.
I installed AVRDUDE, created the progmode.bat and load.bat files.
Ran progload, it reset the unit but it still didn't want to load the load.bat file. So I manually reset the unit and tried to run load.bat. It seemed to work but now both units are showing as unknown devices.

I read the guide how to install the driver, the driver is not in the location where they say it is. I ran a search on my pc for arduino.inf and it's nowhere to be found. I tried reinstalling arduino 1.8.15 but it doesn't install the required drivers.

Am I buying the wrong devices or doing something wrong?
I work in IT and this seems too long winded, I've spent hours messing about with these things.  :laugh2:
It's especially frustrating seeing other people have successfully programmed their devices without any hassle.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 13, 2021, 09:00:31 pm
OK, I've managed to get them to be seen in windows again.
I uploaded hello world via Arduino 1.8.15. Then used AVRDUDE to upload the XBOX sketch.

I got this message:

Quote
avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "XBOXPadMicro.hex"
avrdude: input file XBOXPadMicro.hex auto detected as Intel Hex
avrdude: writing flash (3666 bytes):

Writing | ################################################## | 100% 0.35s

avrdude: 3666 bytes of flash written
avrdude: verifying flash memory against XBOXPadMicro.hex:
avrdude: load data flash data from input file XBOXPadMicro.hex:
avrdude: input file XBOXPadMicro.hex auto detected as Intel Hex
avrdude: input file XBOXPadMicro.hex contains 3666 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.09s

avrdude: verifying ...
avrdude: 3666 bytes of flash verified

avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)

avrdude done.  Thank you.


C:\AVRDUDE>

I still can't test it in padtest in mapper though, waiting for gamepad is displayed at the bottom LH corner.
Well I should have gone to bed hours ago, I'm calling it a night.  :laugh2:
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on June 13, 2021, 10:18:52 pm
It looks like AVRDUDE is working as expected.   ;D

Have you tried both versions of the firmware -- the one from the gitmemory link you posted earlier and the one from reply #82 (http://forum.arcadecontrols.com/index.php/topic,152687.msg1674092.html#msg1674092)?

I don't know what differences, if any, there are between them.   :dunno


Scott
[EDIT: The firmware from reply #82 is for X360/Xinput.]
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 16, 2021, 08:34:35 pm
It looks like AVRDUDE is working as expected.   ;D

Have you tried both versions of the firmware -- the one from the gitmemory link you posted earlier and the one from reply #82 (http://forum.arcadecontrols.com/index.php/topic,152687.msg1674092.html#msg1674092)?

I don't know what differences, if any, there are between them.   :dunno


Scott

Sorry for the delay replying.

OK, I made some progress tonight.

I uploaded the FW from post 82.
It's now seen in mapper test pad utility.  8)
I've made a loom where the buttons are testing correctly in mapper test pad utility.

Now when I attach it to my Xbox it's not recognised, I'm using a Xbox-USB adapter I used to connect a usb stick to the Xbox so I could softmod it a while back.  :dizzy:

Is this because the FW in post 82 is for Xinput in windows, or should that work with Xbox as well?
I feel I'm getting closer to success, and moving away from giving up and chucking it all in the bin.  :laugh2:

Thanks!
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on June 16, 2021, 09:56:11 pm
Glad to hear you got the firmware loaded.   :cheers:

Now when I attach it to my Xbox it's not recognised, I'm using a Xbox-USB adapter I used to connect a usb stick to the Xbox so I could softmod it a while back.  :dizzy:
The way Bruno explained it, the original XBOXPadMicro firmware was designed to make an Arduino Micro into an XBox-compatible encoder.

Imp modified the pinout to work with the pins available on a Pro Micro board and mentions this.
I used this tool to map my buttons correctly: https://gamepadviewer.com/

AFAIK the Pro Micro USB cable should plug into a "female USB to XBox joystick port adapter" cable like this these and work just like an original controller.   :dunno

(https://images-na.ssl-images-amazon.com/images/I/71X6q-BY9-L._SL1500_.jpg)  (https://images-na.ssl-images-amazon.com/images/I/61PMKj1NKqL._SL1000_.jpg)


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 16, 2021, 10:23:25 pm
Here's where I'm at.

This is the Xbox - USB connector I have. It does recognise when a USB stick is inserted into it. I've tried 3 different USB cables, different lengths and different manufacturers. Also, I've tried grounding the pins on the Arduino directly. They register in Mapper but not on the Xbox. Hmm, I guess I'll try buying another adapter to see if that solves the problem.

Here's a pic of the loom I made for the control panel. This plugs in directly to the Arduino and then plugs into the original loom. This loom and the control panel are verified as working using the Mapper pad utilty app.

And finally the original wiring inside the control panel. It's not daisy chained per se, but the grounds are all connected so I can't see that being a problem.

Not sure what else I can do here. Close but no cigar!  :laugh2:

Thanks again for all the help Scott, it's really appreciated man.  :applaud:
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: ic on June 22, 2021, 11:11:35 am
OK, I've made some progress, but I think I'm at the stage where I'm gonna just buy a Japanese Xbox joystick and wire it into my control panel.

After much headscratching and messing about, this is where I'm at and what I've encountered along the way.

To recover the 'bricked' Arduino that I programmed as a Micro I used Arduino Builder to upload a small sketch. I manually put the arduino into bootloader mode then uploaded the sketch to it using the Arduino option.

To upload the FW I used AVRDude as explained above and detailed on a couple Youtube vids, I did have to manually put it into bootloader before it uploaded though. Nothing else worked for me.

The FW in post #82 is for X360/Xinput and not for the OG Xbox.
It shows in device manager as a Xbox 360 controller and works 100% in Mapper test pad app, buttons and directions work 100%.

https://github.com/bootsector/XBOXPadMicro/issues/1 (https://github.com/bootsector/XBOXPadMicro/issues/1)
The above FW is for OG Xbox, the pinout is on the above page. When this FW is loaded into the Arduino it doesn't register as a gamepad when using Mapper test pad app, but I could verify that it was being seen on my Xbox in one of the settings options showing system information.

So I made another loom using the pinout on that page and tested it with a couple of Xbox games. While the buttons work fine there's an issue when moving in certain directions.

It seems to be using the analogue settings as when I push up it also applies a slight left movement, and when I push down it applies a slight right movement. Up/right and down/left are not recognised in SpikeOut Battle Street, the chara stands still when those directions are inputted. I've tried programming 2 x Adruinos, tried 2 x Xbox-USB adapters, multiple UBS cables, Blast City Control Panel with a JLF fitted, Astro City Control Panel with LS-32 fitted and tried shorting the pins directly on the Arduino, I get the same issue.

So now it seems I have to learn how to program and compile arduino sketches in order to use digital inputs rather than analogue inputs. Today was my restday from work and I've spent all afternoon messing with this and I'm now conceding defeat as this is above me now.

The last thing to try is to use another Xbox, I gave one to a friend a while back so will ask him if I can loan it to test the arduino out.

I'll update this thread again once I've tested it.

Thanks for all the help, it's appreciated.
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: PL1 on June 22, 2021, 07:02:47 pm
To upload the FW I used AVRDude as explained above and detailed on a couple Youtube vids, I did have to manually put it into bootloader before it uploaded though. Nothing else worked for me.
IIRC some of the Pro Micro clones come with alternate bootloaders that don't always work right.   :(

The FW in post #82 is for X360/Xinput and not for the OG Xbox.
Note added to post #82 for future reference.   :cheers:

Thanks for all the help, it's appreciated.
Glad to (attempt to) assist.   :D


Scott
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: bk2099 on November 06, 2021, 09:15:47 pm
I have an issue where pressing the Down direction also triggers the Right direction and pressing the Up direction also triggers the Left direction. It happens about 50% of the time.  ???

I'm trying to navigate the Game Option menu in Capcom vs. SNK 2 EO on Xbox and it's giving me problems.
Perhaps this is the reason I can't do fireball motions in games like Capcom Classic Collection Vol. 2 and Midway Arcade Treasures 2.

I'm wondering if it's just my setup or maybe someone else has the same issue. I'm using apom's firmware because I have a Pro Micro. (https://github.com/bootsector/XBOXPadMicro/issues/1)   :dunno
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: swofra on January 26, 2022, 06:41:53 am
I'm at noob at this, and have been trying to read through the thread to figure out how to make this happen and unfortunately I'm a little confused. 

i currently have this controller configuration: https://www.amazon.com/Hikig-2-Player-Encoder-Joystick-Mixed-Color/dp/B092MHZPFX/. 

So I'm pretty sure I'd have to ditch the encoder boards that came with the joystick/buttons to make it xbox compatible, but would the joystick/button wiring harnesses that I have be compatible with the arduino based encoder in this post?

If so, the link to original instructions in post 1 and some of the links in post #33 no longer work.  So far I know to buy the micro board from gowoops and then get some male to female jumper cables.  that's where things start to get fuzzy.
  Any help or guidance would be greatly appreciated and thank you for your time!

swofra
 
Title: Re: XBOXPadMicro - A firmware that turns Arduino Micro (Leonardo) into an XBOX pad!
Post by: edwardsalazar998 on March 28, 2022, 09:06:01 pm
Hello, sorry but I'm not very good at this, is it normal for me to recognize analog joysticks as if they were digital? I would like to replace my classic xbox controller with one with all its functions, but when connecting the potentiometer it only reads it as a digital output, is that normal?