Switch 2 Connect v0.12.4 - NSO GameCube Controller ESP32-S3 Input Path Alignment
Pre-release
Pre-release
Improvements & Bug Fixes
- NSO GameCube Controller ESP32-S3 Input Path Alignment: The ESP32-S3 connection path now mirrors the WinRT BLE path by subscribing to all Switch 2 service notify characteristics and routing incoming notifications by their source GATT handle/UUID. This allows NSO GameCube Controller reports to be parsed through the same characteristic-aware flow used by WinRT, instead of forcing the firmware onto a LEGACY input characteristic.
Assets Description
Switch2Connect_0.12.4.exe: The all-in-one standalone executable. Fully packed with all dependencies—no Python installation required.
Quick Start
- Download
Switch2Connect_0.12.4.exe. - Launch the app. If the driver is not installed, a dialog will ask to install the WinUHid driver. Click Yes and approve the administrator UAC prompt.
- Once the installation completes, the setup window will close automatically, and the main application will launch.
- Turn on your Switch 2 controller by holding the Sync button (or pressing any button if already paired). Do not pair controllers manually in Windows Bluetooth settings; the app uses automatic GATT discovery.
- Use the settings panel at the bottom of the app to configure your preferred controller layout (Xbox / PS4 / PS5), gyro sensitivity, and custom button mappings.
Important Setting for Steam Users:
Because this app emulates both Xbox One and PS4 controllers, Steam Input might try to "help" by applying its own layout overrides, which can double-swap your buttons and mess up your in-game controls!
To ensure your layout stays consistent:
- Go to Steam > Settings > Controller > Show Advanced Settings.
- Make sure "Enable Steam Input for Xbox controllers" is turned ON.
- Make sure "PlayStation Controller Support" is set to Enabled. (NOT Enabled in Games w/o Supports)
- Now the Switch_2_Controllers app will handle the layout switching for you!
ESP32-S3 N16R8
- ESP32-S3 N16R8 Firmware Installation Guide:
- Hold the boot button on the ESP32-S3 N16R8 board.
- Plug in the ESP32-S3 N16R8 board's OTG port via USB-C to the PC while holding the boot button.
- In the app, click the [ESP32-S3 N16R8 Driver] button.
- Click click [Install] and wait until finish installing.
- Unplug and plug the ESP32-S3 N16R8 board.
- Reconnect any controllers previously paired via the system BLE by pressing SYNC.
- ESP32-S3 N16R8 Buying Guide:
- Search for development boards strictly labeled as ESP32-S3 N16R8. This ensures the board contains 16MB Flash and 8MB PSRAM, which is necessary for handling complex tasks and controller connections. Avoid any boards labeled as "N8R2", "N8R8", or standard "ESP32".
- Select the ESP32-S3-WROOM-1 version if you want a built-in PCB antenna. This is the recommended, plug-and-play choice for standard plastic enclosures. Only choose the ESP32-S3-WROOM-1U version if you are using a metal case or require an external antenna to extend the Bluetooth/Wi-Fi range.
- Verify that the board features an OTG USB port (often a dual USB-C design). The OTG port is strictly required for data transfer and firmware installation.
Support This Project
Built with a user-experience-first mindset, this project has reached a mature and comprehensive state and will remain completely free to use forever.
If you are highly satisfied when gaming with this app, please consider leaving a tip. Any financial "thank you" is incredibly appreciated!
Happy gaming, and thank you for your generous support!