A usb controller adapter for the Nintendo switch

Status
Not open for further replies.

AeonLucid

New member
Hi,

I want to try to create an usb adapter for the Nintendo switch so I can use a Xbox one controller on it.
Such adapters do already exist but I'd like to program one myself.

I will be using (parts of) the following project https://github.com/shinyquagsire23/Switch-Fightstick to properly connect to the Nintendo switch.
However, I do not know how I can make it so that I can plug my controller into the teensy which then plugs into the switch.

What I guess that I will need is:
  • Teensy 2.0 (with pins) - will connect to the switch through its usb cable
  • USB Type A Female Breakout - so I can use a usb controller (such as the xbox one s controller)
  • Male PTH headers - to connect the usb female to the breadboard
  • Breadboard
  • Some cables to connect everything on the breadboard.

Is that right or is there a better way to do this?

I am new pretty new to micro controllers but I have a good background in software.
 
It would be nice if it could be programmed in Teensyduino using the `Joystick` object.

I think you want to look at the `Descriptors.c` and `Descriptors.h` from the Fightstick repo, and look at the Teensyduino cores files from `hardware/teensy/avr/cores/usb_hid` (in macOS this is stored in `Arduino.app/Contents/Java/hardware`).

More is needed than just `#define`-ing PRODUCT_ID, VENDOR_ID, STR_MANUFACTURER, and STR_PRODUCT.

You'll probably need to read up on USB HID descriptors (https://eleccelerator.com/tutorial-about-usb-hid-report-descriptors/), (https://stackoverflow.com/a/21676286), (https://www.usb.org/hid).

If this is done, something like https://github.com/havencking/teensy-usb-wii-classic-controller/tree/master could adapt a Wii Classic Controller to be adapted for the Switch.

It may be worth while to look at some of the [forks of that repo](https://github.com/progmem/Switch-Fightstick/network/members) for possibly better documentation or readability...
 
I started trying to create a new device USB mode for Teensyduino: https://gitlab.com/earboxer/usb_tendo but I never finished it. It successfully creates a USB controller, but it isn't recognized by the Nintendo Switch.

If there is someone who

1. Has a nintendo switch
2. Is comfortable with teensyduino development

You're more than welcome to finish my code: I would really love to create Nintendo Switch controllers in arduino rather than the lower-level C code seen above.
 
Status
Not open for further replies.
Back
Top