ESP32 WiFi Signal Strength
Posted: Fri Apr 26, 2019 12:57 am
I'm having troubles with ESP32 wireless signal strength. At this point, I believe the issue is something I'm doing in software, rather than a hardware problem.
Board: ESP32 Huzzah from Adafruit
IDE: Arduino 1.8.9, with the ESP32 1.0.1 board library.
Basic facts:
- The ESP32 is ~5ft from the AP, direct line of sight, no objects of any kind between them.
- The AP is a Unifi AP-LR; other devices can connect to this from two floors away, reliably.
- Reported RSSI at time of connection is approximately -52 to -58dB. Not great, but workable. And it seems low, for the range and lack of interference. It'll serve the web page, return pings, and so on.
- Over time, the RSSI degrades to -87ish dBm. It won't serve the web page, and very few pings are returned.
Things I've Tried:
- Hacking off part of the board. There's a little bit of PCB under the antenna on the Huzzah board. Cutting it off helps RSSI by a few dB, but it doesn't fix the problem.
- Resetting NVS physical RF calibration data every time. esp_phy_erase_cal_data_in_nvs();
- Checking the power level and RSSI periodically. According to the logs, max power level remains constant (it's showing 78, which is level 0, which is max power). RSSI degrades over time.
My current best theory is that something is slowly ramping down wifi transmit power over time. I have almost nothing to substantiate this theory, but it's the best I have.
Has anyone else seen behavior like this? Any thoughts?
Thanks,
Dan
Board: ESP32 Huzzah from Adafruit
IDE: Arduino 1.8.9, with the ESP32 1.0.1 board library.
Basic facts:
- The ESP32 is ~5ft from the AP, direct line of sight, no objects of any kind between them.
- The AP is a Unifi AP-LR; other devices can connect to this from two floors away, reliably.
- Reported RSSI at time of connection is approximately -52 to -58dB. Not great, but workable. And it seems low, for the range and lack of interference. It'll serve the web page, return pings, and so on.
- Over time, the RSSI degrades to -87ish dBm. It won't serve the web page, and very few pings are returned.
Things I've Tried:
- Hacking off part of the board. There's a little bit of PCB under the antenna on the Huzzah board. Cutting it off helps RSSI by a few dB, but it doesn't fix the problem.
- Resetting NVS physical RF calibration data every time. esp_phy_erase_cal_data_in_nvs();
- Checking the power level and RSSI periodically. According to the logs, max power level remains constant (it's showing 78, which is level 0, which is max power). RSSI degrades over time.
My current best theory is that something is slowly ramping down wifi transmit power over time. I have almost nothing to substantiate this theory, but it's the best I have.
Has anyone else seen behavior like this? Any thoughts?
Thanks,
Dan