I'm Getting WiFi Stability Issues on My ESP32-S3 Board
Key Issue
The origional P4 and P7 revisions of Unexcpected Maker ESP32-S3 boards (pre 2024) may experience instability when using a WiFi channel lower than 6, especially when using full TX power and when native USB is enabled.
This affects:
- Connecting to WiFi access points on low channels
- Operating an access point on low channels
- Using ESPNow with low channels
Solutions
You can resolve these issues by either:
- Using WiFi channel 6 or higher
- Reducing TX power to 75-90%
- Or combining both approaches
Will reducing TX power reduce my range?
It will, but not as much as you might think. Most applications won't see any range related issues at 75%.
Later Revisions
The P8 revision boards resolved the low-channel issue and improved the overall radio performance by introducing a new Antenna, and implementing an alternate RF matching network with a broader bandwidth range, though with a slightly reduced signal gain.
Alternate u.FL versions were also introduced fro those that wanted to extend their radio range by using an external antenna.
Series[D] Boards
Series[D] board were recently instroduced that incliude both the u.FL connector and on-board antenna on the same board, with a digitally controlled RF switch that allows you to select your antenna option in code.
RF Performance on the Series[D] boards is on par with the P8 revisions, though the ESP32-S3 full power TX mode can oscilate which can stop the RF switch from working.
If you expereince connectivity issues (TX) with your Series[D] boards, try reducing your TX power to a lower setting.
For example:
Arduino:
#include <WiFi.h>
void setup() {
WiFi.mode(WIFI_STA);
WiFi.begin("ssid", "pass");
// After WiFi is started/connecting is safest:
WiFi.setTxPower(WIFI_POWER_15dBm); // pick a lower level
}
Common levels you can use:
WIFI_POWER_19_5dBm(default)WIFI_POWER_15dBmWIFI_POWER_11dBmWIFI_POWER_8_5dBmWIFI_POWER_7dBmWIFI_POWER_5dBmWIFI_POWER_2dBmWIFI_POWER_MINUS_1dBm