This is an one-hour side project after I saw this PR by earboxer. It plays BoTW just fine.
- Teensy 3.x/LC (mostly tested on LC)
- USB Host Shield (mini is preferred)
- Refer to the UHS library GitHub for wiring.
- Go to the release section and download the 2 zip files (contains the prepatched teensyduino library)
- Unzip
framework-arduinoteensy-ns_1.145.0.zip
and put contents under~/.platformio/packages
. - Unzip
teensy-ns_4.3.0.zip
and put contents under~/.platformio/platforms
. - Run
platformio run
(orplatformio run -e teensylc-mega69
) and hopefully nothing will break.
(For Teensy 3.x, use -e teensy{31,35,36}[-mega69]
instead)
- Follow the instruction in the original PR
- Download and install USB Host Shield Library (and SPI4Teensy3 if you are building for 3.x).
- Make a directory called
ds42nsc
somewhere. - Copy
src/main.cpp
tods42nsc
and rename itds42nsc.ino
. - Add
#define MEGA69
at the beginning ofds42nsc.ino
to enable MEGA69 mode. - Open it with Arduino IDE and hit upload (and hopefully nothing will break as well).
- Plug the DS4 into the USB Host Shield
- Plug the Teensy into Switch
- Plug in external VBUS power supply for USB Host Shield (if you have one. For LC this is pretty much mandatory due to small VBUS fuse.)
- ???
- PROFIT!
The Minus key (-) on the switch controller is mapped to the touchpad click on DS4 and the Capture key is mapped to the Share key. This is to preserve the meaning of the Share key. Besides that, Minus as touchpad click also feels native in BoTW since a lot of PS4 games of similar genre use the touchpad click for opening map as well.