You do not have permission to edit this page, for the following reason:
The action you have requested is limited to users in one of the groups: Users, Administrators.
Free text:
Remote play for the Nintendo Switch via WebRTC (with video streaming). Pro Controller emulation in AVR firmware. This project uses the LUFA library and reverse-engineering of the Pro Controller for Nintendo Switch for remote control of the console. It consists on three main parts: * GUI: Java project with two programs, client and server. **The client takes input from a real controller, keyboard or a Discord bot and sends it to the server over WebRTC. **The server receives the input and sends it to an AVR microcontroller which acts as a controller. The MCU is plugged into the Switch dock and the console recognizes it as a Pro Controller. If you have a USB-C adapter, you should also be able to use this in handheld mode/Switch Lite. **Finally, the server sends a real-time video and audio stream acquired from an HDMI capture card, over WebRTC (the technology used for Stadia and Google Meet). * Firmware: firmware that runs on the microcontroller. The server PC sends the received commands to the microcontroller via UART. When the Switch requests HID reports, the microcontroller sends them. It uses the LUFA library. * Small Python code for fast prototyping (<code>python</code> folder). The goal of this project is to provide a way to play Switch games remotely (two computers), or control the console locally or automate tasks (one computer). ==User guide== Prerequisites: *A LUFA-compatible microcontroller such as the Teensy 2.0++, Arduino UNO R3, or the Arduino Micro *A USB-to-UART (TTL) adapter. Popular ones are based on FTDI and CH340 chip. Can be easily found online. *An HDMI capture card compatible with <code>libuvc</code> (in general, any with USB output). Device quality can dramatically affect streaming performance. *A PC with Java and JDK installed (Java 11 or newer required). Hardware diagram: https://dlhb.gamebrew.org/switchhomebrews/nintendoswitchremotecontrol2.png '''Note:''' if you're using a FTDI-based serial adapter, you need to [https://projectgus.com/2011/10/notes-on-ftdi-latency-with-arduino/ reduce the latency timer value]. Additional information can be found on the specific README files. The [https://github.com/javmarina/Nintendo-Switch-Remote-Control/blob/master/gui/README.md README] inside the <code>gui</code> folder contains information about the Java project, required setup and steps, known issues and instructions for configuring a Discord bot. Inside <code>firmware</code> folder [https://github.com/javmarina/Nintendo-Switch-Remote-Control/blob/master/firmware/README.md there are instructions] for compiling and flashing the firmware for different boards, as well as a list of changes made to the original code. ==Credits== Acknowledgments: *devopvoid for his work on the webrtc-java project. *mzyy94 for his work on Pro Controller emulation using a Raspberry Pi. *wchill for the [https://github.com/wchill/SwitchInputEmulator SwitchInputEmulator] project. My firmware was initially based on his work. *progmem for the [https://github.com/progmem/Switch-Fightstick Switch-Fightstick] repository, which itself is the base of wchill work and created the opportunity to control the Switch with a LUFA-compatible MCU. *ItsDeidara author of the [https://github.com/ItsDeidara/CommunityController CommunityController] repository and host of the namesake Twitch [https://www.twitch.tv/communitycontroller channel]. Gave some tips for hardware configuration and some of the serial port code is based on his work. *abcminiuser, who created the [https://github.com/abcminiuser/lufa LUFA] library (Lightweight USB Framework for AVRs). == External links == * GitHub - https://github.com/javmarina/Nintendo-Switch-Remote-Control
Advertising: