Skip to content

Commit 10fee58

Browse files
committed
Add some troubleshooting suggestions
1 parent ecf8a08 commit 10fee58

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ Battery level can be set during operation by calling, for example, bleGamepad.se
127127
Update sent on next gamepad update if auto reporting is not enabled
128128

129129

130+
## Troubleshooting Guide
131+
Troubleshooting guide and suggestions can be found in [TroubleshootingGuide](TroubleshootingGuide.md)
132+
130133
## Credits
131134
Credits to [T-vK](https://github.com/T-vK) as this library is based on his ESP32-BLE-Mouse library (https://github.com/T-vK/ESP32-BLE-Mouse) that he provided.
132135

TroubleshootingGuide.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Based on common issues reported by users:
2+
3+
## Configuration Changes Not Taking Effect:
4+
Symptom: Updated configurations (e.g., buttin coutn, button mappings, device name, HID settings) are not reflected when reconnecting to the host device.
5+
Cause: Many host operating systems cache Bluetooth device characteristics (e.g., device name, button configurations, and HID descriptors) for faster reconnections. When the ESP32 configuration changes, the cached data may no longer match the updated settings, leading to inconsistencies.
6+
Solution:
7+
- If you modify the BLE Gamepad configuration, such as device name, device features, button count or button assignments, you must remove the previously paired connection from the host device (PC, mobile, or console).
8+
- Go to the host's Bluetooth settings, locate the ESP32 device, and select "Remove," "Delete," "Unpair," or "Forget."
9+
- Restart both the ESP32 and the host device, then re-pair them to ensure the updated configuration is applied.
10+
11+
## Button Mapping Issues:
12+
Symptom: Buttons not responding as expected or incorrect button assignments.
13+
Solution:
14+
- Review the button mapping configuration in your code.
15+
- Ensure that each button is correctly assigned according to the library's documentation.
16+
17+
## Connection Problems:
18+
Symptom: The ESP32 device does not appear on the PC but is visible on mobile devices.
19+
Solution:
20+
- Verify that your PC's Bluetooth drivers are up to date.
21+
- Additionally, ensure that the ESP32 is not already paired with another device, which might prevent it from appearing on the PC.
22+
23+
## Custom Configuration Challenges:
24+
Symptom: Difficulties in setting up a custom configuration for the gamepad.
25+
Solution:
26+
- Refer to the library's examples and documentation to understand the correct procedures for custom configurations.
27+
- Ensure that all parameters are set correctly and that there are no conflicts in the configuration.
28+
29+
## Multiple Device Pairing Issues:
30+
Symptom: Inability to pair multiple devices simultaneously.
31+
Solution:
32+
- The ESP32-BLE-Gamepad library may have limitations regarding multiple device pairings.
33+
- It's recommended to pair and use one device at a time to ensure stable connections.
34+
35+
## Slow or Inconsistent Connections:
36+
Symptom: The ESP32 takes a long time to connect or fails to connect intermittently.
37+
Solution:
38+
- Ensure that the ESP32 is in close proximity to the host device to avoid signal interference.
39+
Check for any power supply issues; unstable power can affect Bluetooth performance.
40+
- Update the ESP32 firmware and the BLE-Gamepad library to the latest versions, as updates often include connectivity improvements.
41+
42+
## High Latency or Unresponsive Controls:
43+
Symptom: Noticeable delay between input on the gamepad and action on the host device.
44+
Solution:
45+
- Optimize the code to reduce any delays in the loop handling the gamepad inputs.
46+
- Minimize the use of delay functions in the code, as they can introduce latency.
47+
- Ensure that the BLE connection interval is set appropriately for low-latency communication.
48+
49+
## Pin Functionality Issues:
50+
Symptom: Certain GPIO pins not working as intended for button inputs or analog readings.
51+
Solution:
52+
- Consult the ESP32 pinout to ensure that the selected pins support the desired functions.
53+
- Avoid using pins that are reserved or have dual functions that might interfere with input readings.
54+
- Test the pins independently to confirm their functionality before integrating them into the gamepad setup.
55+

0 commit comments

Comments
 (0)