Using USB shield as input for Gamepad

Firstly, I'd like to apologize as I had posted this in the wrong area originally and got no responses at all so please don't yell at me for posting this again. Just trying to get some help :slight_smile:

Anyways, I have a bit of a conundrum - I bought a Retrolink USB NES style controller (this one: Video Game Controllers for sale | eBay) that I was hoping to use to send data which would control games on an LED matrix coffee table I created.

After doing some research, I surmised that the best way to get data into the Mega via USB would be through using a USB shield so I purchased this one: https://www.amazon.com/gp/product/B06XBRMJ2C/ref=oh_aui_detailpage_o09_s00?ie=UTF8&psc=1.

Now that I have these two hooked up, my limited to zero knowledge of coding is preventing me from getting the USB controller to actually do anything with the matrix. I am able to control the Arduino using an Android Phone App via Software Serial and a HC-05, but the USB controller doesn't seem to be sending any data to the Arduino that it would understand as commands the same way the bluetooth does. Essentially, there are only 7 commands I would like to send to the arduino (see code):

#define  BTN_NONE  0
#define  BTN_UP    1
#define  BTN_DOWN  2
#define  BTN_LEFT  3
#define  BTN_RIGHT  4
#define  BTN_START  5
#define  BTN_EXIT  6

but I don't know where to start on writing in code to allow for either or Serial communication via bluetooth AND/OR via the USB controller. Does anyone have experience using the USB shield in this fashion and have any examples of code I can use to allow a USB device to control my Arduino project? (If you need any further code snippets, let me know as I'd be happy to provide whatever is needed.) Also during my research into the subject it seems that some people have tried using software to read the incoming USB commands directly onto a computer and then write code based upon the input of each button - does anyone have any suggestions on a piece of software to accurately do this? Keep in mind, I am a noobie so anything super technical i may not understand, but am still willing to try at this point.

Thanks!

If I were you, I'd crack it open, throw the controller board out, and connect the buttons to the Arduino directly :slight_smile:
Unless you're very familiar with the USB protocol, it's probably going to be pretty hard to get the USB host shield working with the controller.

Pieter

I was afraid that would be the case. I know that would be easiest but after so much research and seeing how many people are actually running into this issue with the USB shield, I think it'd be great if someone could figure out how to convert the USB signals for different devices into usable input data to control projects. I realize that I may not be the guy with the knowledge to do this, but its a breakthrough that I think alot of arduino (especially new) users would be very grateful for.

I don't have any experience with the USB host shield, but Wireshark is a great tool to understand USB protocols.

Pieter