Skip to content

Switch 2 Connect v1.6 - Driver Detection Bug Fixes & Wired Pro Controller Stability Improvements

Choose a tag to compare

@TommyWabg TommyWabg released this 26 Jul 13:10
· 75 commits to main since this release
526b948

Improvements & Bug Fixes

  • Driver Detection on Windows 10: Fixed WinUHid and ViGEmBus being permanently reported as partially installed on Windows 10, where the repair then failed with a pnputil error. The driver check previously depended on a command option that exists only on Windows 11. Driver state is now read through an interface that behaves the same on Windows 10 and Windows 11.
  • Driver Repair Completion: Fixed the repair process stopping at the first error, before anything had been removed, which made the repair impossible to finish. Every removal step now runs to completion, and the outcome is decided by a final check rather than by the first step that failed.
  • Handling of Unreadable Driver State: When the driver state cannot be read, the app no longer reports the driver as partially installed and no longer offers a repair that cannot run. It now checks whether the driver actually works and only prompts when it does not.
  • USBIP Installation Check: USBIP was previously treated as installed whenever a single program file was present. The app now checks the device, driver package, services, and files together, so a partially removed installation is recognised and a repair option is offered instead of a plain reinstall.
  • USBIP Uninstall Reporting: Fixed the USBIP uninstaller reporting success even when parts of the driver were left behind, and fixed device removal failing on Windows 10 because it used a command form supported only on Windows 11.
  • USBIP Uninstall Fallback: Fixed uninstalling ending with an error when the USBIP program's own uninstaller was missing. The app now runs its own cleanup in that case instead of stopping.
  • HidHide Uninstall: The HidHide uninstall previously ran only the bundled uninstaller and always reported success, which could leave the driver package and service registered. It now removes those as well and verifies the result before reporting success.
  • HidHide Status Detection: Fixed HidHide being recorded as not installed when its status could not be read, and that result being saved to settings so it persisted across restarts.
  • ViGEmBus Device Matching: Fixed ViGEmBus detection matching unrelated system devices, which prevented it from ever being reported as not installed.
  • Wired Controller Disconnecting: Fixed a wired controller disconnecting after a few minutes and needing the application restarted to reconnect. A momentary communication error previously ended the connection for good, and a controller that stopped sending data without reporting an error was not detected at all, so it continued to appear connected while not responding. The connection is now restored automatically in both cases.
  • Wired Controller Rediscovery: Fixed the app not looking for a wired controller again after it dropped while the cable stayed connected. Windows reports no unplugging in that situation, so the controller previously stayed missing until the cable was unplugged and reconnected, Manual Scan was used, or the application was restarted.
  • Wired Controller Detection After Plugging In: Added repeated detection attempts after a controller is plugged in, so a controller that Windows takes a moment to register is still picked up.
  • Wired Controller Visibility Check: The app now confirms it is permitted to see the wired controller through HidHide before scanning, and records it in the log when that cannot be confirmed.

Quick Start

  1. Download Switch2Connect_v1.6.exe.
  2. 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.
  3. Once the installation completes, the setup window will close automatically, and the main application will launch.
  4. 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.
  5. 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.

System Requirements

  • Operating System: Windows 10 (22H2 or above) or Windows 11.
    • Note: Windows 11 is highly recommended for the best experience. It supports a maximum Bluetooth LE polling rate of 70Hz, while Windows 10 is limited to 20Hz due to the lack of OS driver support for the BLE protocol.
  • Bluetooth Hardware: Bluetooth 5.0 or above is required for stable connectivity and low-latency performance. The optional ESP32-S3 N16R8 is highly recommended for reaching 133Hz, bringing the native Switch 2 console experience to PC.
  • Driver: lurebat's WinUHid driver is required for Xbox One, PS4, and PS5/DualSense controller emulation. nefarius/ViGEmBus is required for Xbox360 and PS4 controller emulation. usbip-win2 driver is required for Switch 1 Joy-Cons/Pro Controller, Switch 2 Pro Controller, and PS5/DualSense (with audio haptics) controller emulation.
    • Auto-Installation: The app will automatically detect if the selected driver (WinUHid, ViGEmBus, or USBIP) is missing and guide you through a one-click installation (requires administrator privileges) or open the download link for ViGEmBus.

ESP32-S3 N16R8

ESP32-S3 N16R8 Guide
  • ESP32-S3 N16R8 Firmware Installation Guide:
  1. Hold the boot button on the ESP32-S3 N16R8 board.
  2. Plug in the ESP32-S3 N16R8 board's OTG port via USB-C to the PC while holding the boot button.
  3. In the app, click the [ESP32-S3 N16R8 Driver] button.
  4. Click click [Install] and wait until finish installing.
  5. Unplug and plug the ESP32-S3 N16R8 board.
  6. Reconnect any controllers previously paired via the system BLE by pressing SYNC.
  • ESP32-S3 N16R8 Buying Guide:
  1. 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".
  2. 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.
  3. 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!

ko-fi

Happy gaming, and thank you for your generous support!