Wireless setup - ChrGri/DIY-Sim-Racing-FFB-Pedal GitHub Wiki
Please note Wireless connectivity is designed and optimized for use with a single set of pedals per room. If you have multiple sets in the same room, please use a USB connection to prevent interference.
The wireless setup is a new way to connect pedals that's simple to configure, requires the fewest cables and can also be the easiest way to connect your pedal(s). All control boards are wireless capable, although gilphilbert's PCBA is the easiest option as it features pedal assignment switches. Wireless connectivity leverages a USB-connected Wireless Controller that provides connectivity to the pedals and provides a Joystick device for Windows, with each pedal represented by different axes.
Architecture
The parts you will need are simply the pedal(s) and a wireless controller. The wireless controller (or "Bridge") is a small device that plugs into your PC and provides a way for your PC to access the pedals over a wireless connection. The currently supported devices for the wireless controller are
- ESP32-S3-Dev-Kit
- WaveShare ESP32-S3 N8R8 module
- Custom USB dongle with ESP32S3 on board (currently in development)
Pedal Assignment
Wireless is enabled on the Control Board once the pedal has been assigned a function (throttle, brake or clutch)
New Software Pedal Assignment (After version 0.90.21, DAP version 160)
All supported boards, after firmware 0.90.21 is applied, will use a new software assignment method. Each pedal only needs to be assigned once; you do not need to re-assign it after every subsequent firmware update.
Pedal Assignment Steps
- When the pedal is connected to power and finished booting, you will receive a notification: "Unassigned pedal detected."
- Click the "Wireless Assignment" button within the Pedal tab for the specific pedal you want to configure.
- A list of detected pedals, identified by their MAC address, will appear.
- You can use the "Beep" or vibration functions to help identify the correct physical pedal.
- Select "Assign" to complete the process. The pedal will automatically restart.
Clearing the Assignment
If you wish to clear an assignment, simply ensure the pedal is in wireless connection status, click "Wireless Assignment," and then click "Clear." The pedal will revert to the Unassigned status.
Hardware Pedal Assignment (Legacy, before version 0.90.20, DAP version 158)
gilphilbert's control board has built-in hardware switches that set pedal assignment. The switch settings for each mode are printed on the back of the PCB but are also included below for reference. Set the switches to the pedal type you want the pedal to be. For Gilphilbert PCBA V1.2 user:
| Role | Dip-1 | Dip-2 |
|---|---|---|
| Clutch | on | on |
| Brake | off | on |
| Throttle | on | off |
| none | off | off |
[!TIP] Hardware assignment does not need to be changed or reapplied after a firmware update
Software Pedal Assignment (Legacy, before version 0.90.20, DAP version 158)
The V3, V4 and SpeedCrafter control boards must have their pedal assignment over the USB connection, and requires a pedal config to be sent to the pedal to enable wireless:
- Connect the pedal via USB and connect from the DIY FFB Pedal Plugin
- In the SimHub plugin, assign the pedal a function (throttle, brake, or clutch)
- Click "Send config to to pedal"
- Click "Reboot pedal" or manually cycle power to the pedal
- Disconnect the USB cable and change the pedal setting in the plugin to "Wireless connection"
[!IMPORTANT] When using Software Pedal Assignment, is necessary to reapply the assignment over USB after every firmware update
Connecting the Wireless Controller to Simhub
- Plugin the Wireless Controller (whichever board you selected). For boards with two USB-C ports, make sure to plug both ports into your PC.
- Open the the SimHub DIY FFB Dashboard and navigate to System Tab
- Connect to the COM port of the Wireless Controllaer (should display as a CH343 Enhanced Serial Device)
- You can have the plugin automatically connect to the Wireless Controller when SimHub starts by enabling the "Auto Connect to Bridge" option
- Make sure you enable "Wireless comunicaiton" for each pedal that you have connected. Enabling this option will tell the plugin to connect to the pedal through the Wireless Controller and not directly to the pedal over serial.
Joystick output
The Wireless Controller creates a joystick controller with the following axes:
| Axis | Function |
|---|---|
| Rx | Brake |
| Ry | Clutch |
| Rz | Throttle |
| X | Rudder |
| Y | Rudder left brake |
| Z | Rudder right brake |
The joystick should appear automatically in various simulators, you just need to assign the axes to functions.
Troubleshooting
The wireless technology used for this feature is ESPNow, a capability of the ESP32 family of processors used in the control boards. You may see errors in the logs if the Wireless Controller isn't working, these are detailed below.
Error codes
| Error Code | Description |
|---|---|
| 11 | Servo Tunning parameter is updated, restart servo |
| 12 | Servo lost connection |
| 101 | ESPNow config payload type error |
| 102 | ESPNow config version error |
| 103 | ESPNow config CRC error |
| 111 | ESPNow action payload type error |
| 112 | ESPNow action version error |
| 113 | ESPNow action CRC error |
Bridge connect LED status - Waveshare ESP32S3 N8R8 board
| Color | Connected status |
|---|---|
| White | no Pedal connected |
| Red | Clutch connected |
| Orange | Brake connected |
| Cyan | Clutch and Brake connected |
| Yellow | Throttle connected |
| Blue | Clutch and Throttle connected |
| Green | Brake and Throttle connected |
| Purple | Clutch, Brake and Throttle connected |
| Flashing Red | Bridge in pairing mode |
Bridge connect LED status - Custom Dongle
| Color | Connected status |
|---|---|
| White | no Pedal connected |
| Red | Pedal connected |