>>> Join Us in the Fight Against Air Pollution

AirGradient Forum

WPA3 support of the Wemos D1 Mini

My home WiFi is running WPA3 so before investing in one of the DIY kits, I would like to verify if they are compatible with WPA3. According to this page, ESP8266 chips generally can support WPA3 but from what I have read on other sites, it does not seem like all MCUs with an ESP8266 chip support WPA3.

Does anyone of you has experience with running the DIY kit in a WPA3 network?

If it does not support WPA3, are there any newer MCUs with WPA3 support? Since I’m not planning to run many of the kits, I would not mind spending a few bucks more to maintain better WiFi security.

@lbhm I am pretty sure the ESP8266 does not support WPA3 especially as we use the Arduino libraries and not directly the Expressif SDK.
If you want to test, you could just order a wemos D1 mini seperately and flash it with our software and send some dummy data to see if it works. That would cost you only a few dollars for the D1 mini.

Thank you for the quick reply @Achim_AirGradient. I have reached out to the WiFiManager community to see if anyone from their side has experience with it. From my (limited) understanding, WPA3 support is mostly determined by software as Expressif claims that their chips support it. So maybe it is possible to add WPA3 support to the Arduino libraries. IMO it would be great to have this to support adoption in more networks.

From what I’m seeing it looks like ESPHome supports WPA3 and I have a config file that supports this hardware for use with HomeAssistant and the AirGradient API.

I don’t have WPA3 enabled at home, but I’ll see if I can, and if so, try a test device to confirm if the D1 Mini can connect.

@lbhm Looks like it at least ESPHome software does not support WPA3 with the D1 Mini. I added a new SSID to my Unifi APs that use only WPA3 and I get failures when trying to connect. Change the SSID to use WPA2 and it connects right away

[15:02:28][I][wifi:245]: WiFi Connecting to 'wpa3'...
[15:02:28][V][wifi:247]: Connection Params:
[15:02:28][V][wifi:248]:   SSID: 'wpa3'
[15:02:28][V][wifi:251]:   BSSID: [redacted]
[15:02:28][V][wifi:271]:   Password: [redacted]
[15:02:28][V][wifi:276]:   Channel: 1
[15:02:28][V][wifi:287]:   Hidden: NO
[15:02:28]state: 2 -> 0 (0)
[15:02:28][W][wifi_esp8266:483]: Event: Disconnected ssid='wpa3' bssid=[redacted] reason='Authentication Failed'
[15:02:28]wifi evt: 1
[15:02:28]STA disconnect: 202
[15:02:28][W][wifi:533]: Error while connecting to network.
[15:02:29]scandone
[15:02:29]state: 0 -> 2 (b0)
[15:02:29]state: 2 -> 3 (0)
[15:02:29]state: 3 -> 5 (10)
[15:02:29]add 0
[15:02:29]aid 5
[15:02:29]cnt 
[15:02:29]state: 5 -> 2 (dc0)
[15:02:29]rm 0
[15:02:29][W][wifi_esp8266:483]: Event: Disconnected ssid='wpa3' bssid=[redacted] reason='IE Invalid'
[15:02:29]wifi evt: 1
[15:02:29]STA disconnect: 13

Too bad, but thank you very much for your help @MallocArray! I’ve ordered a standalone D1 Mini from a local supplier to see if I can somehow get it to connect to WPA3 over the Christmas break. I don’t have much experience with low-level hardware projects but maybe I can use the Expressif SDK to build a small prototype.

Update: After finding that neither ESPHome, the Arduino WiFiManager library, nor MicroPython support WPA3 as of now, I discovered that my router also has a WPA2+WPA3 transition mode that allows WPA2 connections while my newer devices can use WPA3. Sorry for not considering that earlier. It’s not really a long-term solution but at least for the time being I can start building my air quality measurement project.

Thank you again for your help @MallocArray and @Achim_AirGradient!