WiFi.RSSI() is returning very strong values

The RSSI values from WiFi.RSSI() are very strong. I see that my WiFi router is giving a RSSI of -1 dBm. Is this correct? Ideally it should be like -50 to -40 dBm. Is there any kind of normalization being done to these values?


Can you post your code? I’m wondering if you might be getting the error code -1 back rather than a RSSI value.

1 Like

From the docs,

WiFi.RSSI() returns the signal strength of a Wi-Fi network from from -127 (weak) to -1dB (strong) as an int. Positive return values indicate an error with 1 indicating a Wi-Fi chip error and 2 indicating a time-out error.

The error values are positive. My code is very simple.

void setup(){

void loop(){
int rssi = WiFi.RSSI();
Serial.printf(“RSSI: %d\n”, rssi);


Hi @dheerajdake,

I’m guessing your code is more sophisticated here, if you’re using Manual mode, or controlling the Wi-Fi connection, make sure your device is connected to the network first before using the RSSI command.

If you want example code on how to get RSSI values for nearby wifi networks that you’re not connected to, checkout my example project here: