More actions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
|source=https://github.com/cluckclock/Switch-Fightstick | |source=https://github.com/cluckclock/Switch-Fightstick | ||
}} | }} | ||
Switch-Fightstick is a program that can disguise a microcontroller as Pokken Fightsitck (a dedicate controller for Wii U) and enables the Switch to be operated from a 3DS via the microcontroller. | |||
This is a fork of ebith's Switch-Fightstick, which allows you to operate Switch from a PC using the microcontroller. | |||
=== | ==Installation== | ||
===Requirements=== | |||
* See [https://github.com/shinyquagsire23/Switch-Fightstick/blob/master/README.md shinyquagsire23/Switch-Fightstick's readme] for microcontroller requirements (Arduino R3 is used for testing, should also work for Teensy, Arduino Micro and possibly an Arduino Leonardo). | |||
* NodeMCU. | |||
* USB Micro-M cable. | |||
* 4 male-to-female jumper cables. | |||
* A hacked New 3/2DS. You can also use an old Old 3/2DS, however it won't be as enjoyable experience, since you will lack the extra controls. | |||
This uses the Arduino/teensy/ATMega board to emulate a USB controller that the Switch is able to recognize and record key presses from. The NodeMCU is used to receive UDP packets from the 3DS, interpret them, and send over commands to the Arduino that will in turn be sent to the Switch as key presses, circle pad movements etc. | |||
===Tutorial=== | |||
Download [https://github.com/CTurt/3DSController CTurt's 3DSController repository] and build it, then place the 3DS software on your 3DS. The releases are outdated and do not include New 3DS support, therefore you must build it. If you have trouble building it take a look at the forks. | |||
After downloading necessary components, build this repository using <code>make</code>. Then follow the readme linked in the requirements section to flash <code>Joystick.hex</code> to your microcontroller. | |||
Next, to flash the NodeMCU, you will need to set up the Arduino environment if you already haven't. There are plenty online tutorials on how to do this, but you can start with [https://www.instructables.com/id/Steps-to-Setup-Arduino-IDE-for-NODEMCU-ESP8266-WiF/ this one]. | |||
Open <code>nodemcu_3ds_udp_packet_receiver.ino</code> in the Arduino IDE. Next, on line 94 where it says <code>WiFi.begin(SSID, PASSWORD);</code> enter your WiFi credentials. The 3DS and NodeMCU need to be connected to the same WiFi network. You will also want to change the static IP address of your NodeMCU and the gateway of your router on lines 13 and 14. It is recommended to first upload a simple sketch to the NodeMCU that prints out its IP address and use that. Modify your gateway IP address as well. Once that's all done, upload the .ino to the NodeMCU. | |||
Edit the <code>3DSController.ini</code> on your 3DS to enter the IP address of the NodeMCU. | |||
Finally, connect the NodeMCU's RX pin to the microcontroller's RX pin (on the Arduino Uno R3 this is D0); TX pin to the microcontroller's TX pin (one the Arduino Uno R3 this is D1); the VIn pin to the other microcontroller's 5-volt output (although it can be higher); and ground pin to ground pin. Plug into the Switch Dock with the Switch inside, boot the software on your 3DS and it should be working | |||
See also [https://scrapbox.io/mizdra/ebith%2FSwitch-Fightstick this tutorial] (Japanese). | |||
== | ===Limitation=== | ||
This software is more of a proof-of-concept than a final product. | |||
Occasionally, key presses/releases won't be registered, or the circle pad or c-stick won't return to their neutral value when you let go. | |||
== | ==External links== | ||
* GitHub - https://github.com/cluckclock/Switch-Fightstick | |||
[[Category:DS homebrew applications]] | |||
[[Category:Other DS applications]] |
Revision as of 08:04, 10 December 2021
Switch-Fightstick | |
---|---|
File:Switch-Fightstick.jpg | |
General | |
Author | cluckclock |
Type | Other Apps |
Version | 2020 |
License | Mixed |
Last Updated | 2020/05/13 |
Links | |
Download | |
Website | |
Source | |
Switch-Fightstick is a program that can disguise a microcontroller as Pokken Fightsitck (a dedicate controller for Wii U) and enables the Switch to be operated from a 3DS via the microcontroller.
This is a fork of ebith's Switch-Fightstick, which allows you to operate Switch from a PC using the microcontroller.
Installation
Requirements
- See shinyquagsire23/Switch-Fightstick's readme for microcontroller requirements (Arduino R3 is used for testing, should also work for Teensy, Arduino Micro and possibly an Arduino Leonardo).
- NodeMCU.
- USB Micro-M cable.
- 4 male-to-female jumper cables.
- A hacked New 3/2DS. You can also use an old Old 3/2DS, however it won't be as enjoyable experience, since you will lack the extra controls.
This uses the Arduino/teensy/ATMega board to emulate a USB controller that the Switch is able to recognize and record key presses from. The NodeMCU is used to receive UDP packets from the 3DS, interpret them, and send over commands to the Arduino that will in turn be sent to the Switch as key presses, circle pad movements etc.
Tutorial
Download CTurt's 3DSController repository and build it, then place the 3DS software on your 3DS. The releases are outdated and do not include New 3DS support, therefore you must build it. If you have trouble building it take a look at the forks.
After downloading necessary components, build this repository using make
. Then follow the readme linked in the requirements section to flash Joystick.hex
to your microcontroller.
Next, to flash the NodeMCU, you will need to set up the Arduino environment if you already haven't. There are plenty online tutorials on how to do this, but you can start with this one.
Open nodemcu_3ds_udp_packet_receiver.ino
in the Arduino IDE. Next, on line 94 where it says WiFi.begin(SSID, PASSWORD);
enter your WiFi credentials. The 3DS and NodeMCU need to be connected to the same WiFi network. You will also want to change the static IP address of your NodeMCU and the gateway of your router on lines 13 and 14. It is recommended to first upload a simple sketch to the NodeMCU that prints out its IP address and use that. Modify your gateway IP address as well. Once that's all done, upload the .ino to the NodeMCU.
Edit the 3DSController.ini
on your 3DS to enter the IP address of the NodeMCU.
Finally, connect the NodeMCU's RX pin to the microcontroller's RX pin (on the Arduino Uno R3 this is D0); TX pin to the microcontroller's TX pin (one the Arduino Uno R3 this is D1); the VIn pin to the other microcontroller's 5-volt output (although it can be higher); and ground pin to ground pin. Plug into the Switch Dock with the Switch inside, boot the software on your 3DS and it should be working
See also this tutorial (Japanese).
Limitation
This software is more of a proof-of-concept than a final product.
Occasionally, key presses/releases won't be registered, or the circle pad or c-stick won't return to their neutral value when you let go.