Failed ESP32 FCC testing
Posted: Thu Dec 03, 2020 1:24 pm
My device incorporating an ESP-WROOM-32 module has initially failed FCC Part 15 Unintentional Radiator Testing. Spurious emissions at the second harmonic are significantly higher than Espressif's original FCC test report and out of tolerance.
Espressif's FCC test report (pg 7) says "The worst condition was performed under: 802.11b: Data rate: 1Mbps, Power Level: 20 , etc"
So...
1) Does this mean Espressif testing was done at 20dBm max Tx power or 5dBm as follows from esp_wifi_set_max_tx_power(20) ?
2) If it is 5dBm as I hope, then setting my device from esp_wifi_set_max_tx_power(78) to esp_wifi_set_max_tx_power(20) should fix my spurious emissions ?
3) Lastly, please check my code to set max_tx_power to 5dBm in the US or the value for another country returned when country policy is WIFI_COUNTRY_POLICY_AUTO:
Espressif's FCC test report (pg 7) says "The worst condition was performed under: 802.11b: Data rate: 1Mbps, Power Level: 20 , etc"
So...
1) Does this mean Espressif testing was done at 20dBm max Tx power or 5dBm as follows from esp_wifi_set_max_tx_power(20) ?
2) If it is 5dBm as I hope, then setting my device from esp_wifi_set_max_tx_power(78) to esp_wifi_set_max_tx_power(20) should fix my spurious emissions ?
3) Lastly, please check my code to set max_tx_power to 5dBm in the US or the value for another country returned when country policy is WIFI_COUNTRY_POLICY_AUTO:
Code: Select all
WiFi.mode(WIFI_AP_STA);
wifi_country_t country;
strcpy(country.cc, "US");
country.schan = 1;
country.nchan = 11;
country.max_tx_power = 20;
country.policy = WIFI_COUNTRY_POLICY_AUTO;
ESP_ERROR_CHECK(esp_wifi_set_country(&country));
ESP_ERROR_CHECK(esp_wifi_get_country(&country));
ESP_ERROR_CHECK(esp_wifi_set_max_tx_power(country.max_tx_power));
ESP_ERROR_CHECK(esp_wifi_get_max_tx_power(&power));
Serial.print("Power (dBm) = ");
Serial.println(power * 0.25);