ESP32-S2/S3 USB

ESP32-S2/S3 USB

reWASD supports ESP32-S2 and ESP32-S3 boards that can be used as USB adapters to emulate an external virtual controller.

By combining reWASD with an ESP32-S2 or ESP32-S3 USB adapter, you gain access to the complete set of reWASD features on PlayStation 4, Xbox One / Series X|S, Nintendo Switch (1st and 2nd gen) consoles, or other external devices that operate with controller input. While it is possible to use ESP32-S2/S3 with a Switch Pro controller for the Nintendo Switch consoles, please note that Virtual amiibos are not supported in this configuration.

Using ESP32-S2/S3 as USB adapters provides fast response times and low latency compared to alternative methods. After reWASD completes the firmware installation, connect the board to the target device and connect the UART USB port to your PC where reWASD is installed. Then, connect the device you want to remap to your PC to start the remapping process.

We can suggest the next types of ESP32-S2/S3, but basically, reWASD can work with other types:

nanoESP32-S2 Maia ESP32-S2
CPU Xtensa single-core 32-bit LX7 Xtensa Core LX7 up to 240MHz
Socket dual-USB, TypeC 2 x USB ports (1 x MicroUSB + 1 x USB-C)
Interface RGB LED 1 RGB led + 1 charging led
Developer MuseLab Stetel Things
Official site link link
Native drivers СH340 (usually installed by Windows) Link Silicon Labs

How to start?

Before starting the setup process for USB connection using ESP32-S2/S3, make sure the following prerequisites are met in reWASD:

  • Ensure that you have a PC or laptop with reWASD installed and an ESP32-S2 or ESP32-S3 board available;
  • Group the devices you want to control using your external virtual controller. Use Detection mode to properly identify and initialize all required devices;
  • Make sure you have a configuration suitable for your Virtual controller. If you don’t have one, you can download a configuration from the reWASD Community or try configurations designed for platforms such as PlayStation 4 or Nintendo Switch, which are available in reWASD after installation;
  • Ensure that the required drivers for the ESP32 board are installed;
  • For wired USB connections, it is recommended to use USB 3.1 or lower. If you are using USB 3.2, consider connecting the board through a USB hub to avoid potential connection issues;
  • Once everything is ready, enable the External device option in the Virtual controller settings. Then click the icon in the lower-left corner (near “Remap is OFF / Nothing is applied”) to start the setup wizard.

SETUP WIZARD

Add new adapter

Choose the type of adapter you want to add, ESP32-S2/S3 adapter, in this case. Change its alias if needed, and click 'Next'.

Select the board type

Choose the two USB ports board type for the ESP32-S2/S3 adapter. Wired connection is available only for boards with two USB ports.

Waiting for adapter to connect

Now plug in or replug your ESP32-S2/S3 adapter to your PC, so we could detect a new port. Once we detect it, the Next button is enabled, and you can proceed to the further step. After the adapter was plugged in, the board initialization process starts automatically.

Checking the board

At this step, we detect the connected ESP32 board and identify its type (ESP32-S2 or ESP32-S3) to determine the appropriate firmware options. We also check for the presence of esptool.exe, which is required to read and flash firmware to ESP32 boards.

Please, don't unplug the device while the initialisation process and till the end of setup.

Esptool is required

To continue you should have an esptool.exe. We suggest downloading it during Wizard. Press Next to start the automatic downloading of esptool.exe.

Please don't unplug the device or interrupt your internet connection. Once completed, you will be redirected to the next step.

This step will be shown only if esptool.exe wasn't downloaded before and wasn't detected in the next folder: C:\programdata\Disc-Soft\reWASD\esptool

Select the connection method

At this step, choose how you want to connect your board to reWASD. To use a wired connection, select the USB option.

Firmware Configuration

At this step, reWASD offers available firmware options for the detected ESP32 board.

If you’re not sure which option of firmware to select, you can choose the Generic firmware. It works with most types of boards, but may not support board-specific features such as a display or LEDs (if present).

Choose the appropriate firmware and press Next to start the installation process.

Please don't unplug the device or interrupt your internet connection. Once completed, you will be redirected to the next step.

Your adapter was successfully added

You are done with all setup. Press NEXT and choose the target device you want to use the virtual gamepad with.

Choose an adapter for the External virtual controller

Now you need to connect your adapter to your target device. Choose the target you want to use (Xbox One, X|S, PlayStation 4, or other device with USB) and follow the steps.

Using ESP-32 as USB adapter with reWASD and Xbox One, series X|S, or PlayStation 4.

In this case you'll need an authorized DualShock 4 or Xbox One controller to be permanently connected to your PC. While using them as authorized controllers it won't be available to be used as input device.

Using ESP-32 as USB adapter with Nintendo Switch console

To use a Nintendo Switch as a target device, select the "Other device" option. For a proper connection, it's better to use the Nintendo dock station.

Make sure that option Pro Controller Wired Communication is turned ON. You can find it in Settings → Controllers and Sensors.

HARDWARE ISSUES

I faced an issue "Adapter wasn't detected"

No need for concern; there are a few common issues that can be resolved with ease.

Begin by attempting to reinsert the ESP32-S2/S3 adapter. Be mindful not to use a USB 3.2 connector. Should you be using one, attempt to reconnect the ESP32-S2/S3 adapter using a USB 3.1 or earlier port, or consider utilizing a USB hub to link your ESP32-S2/S3 adapter.

I'm stuck on step "Adapter wasn't detected", replug didn't help and I'm sure that I use the proper USB ports.

It appears that there might be a shortage of native drivers. Generally, you won't need to manually install them for the ESP32-S2/S3, as Windows tends to handle this process automatically. Nevertheless, to ensure optimal functionality, we recommend confirming that the required drivers are present or installing it (you can try CP210x Universal Windows Driver or CP210x Windows Drivers as long as different boards could ask for different drivers)

After the driver installation, you can proceed by either reconnecting your adapter or initiating the setup Wizard once more for a seamless operational experience.

ESPTOOL download failed

Check your internet connection and press TRY AGAIN to start a new downloading.

ESPTOOL download failed, but I'm sure that my internet connection is stable

You can download esptool.exe manually, then start the Wizard from scratch.

Follow the steps:

  1. Follow the link and find here the latest version of Esptool
  2. Download Esptool and unpack it
  3. Get esptool.exe and put it here: C:\programdata\Disc-Soft\reWASD\esptool
  4. Get back to reWASD and add your adapter with reWASD Wizard from scratch.

The firmware update failed

Please ensure that your ESP32-S2/S3 board is correctly plugged in and attempt to reinsert it. Additionally, confirm that you are not using a USB 3.2 connector. If you are indeed using a USB 3.2 connector, consider disconnecting and then reconnecting the ESP32 board using a USB 3.1 or lower port. Alternatively, you can use a USB hub to establish a connection with your ESP32-S2/S3 adapter.

The firmware update failed, but native drivers are installed and everything is plugged in properly

It's quite a rare error, but we identify it. Just follow the instruction from Wizard. Before flashing new firmware on your ESP32 adapter hold BOOT, then press EN (RESET) briefly to enter the bootloader, then release BOOT. Then press "Try again".