C++ MIT License

ESP32 Wi-Fi Auto Reconnect Snippet

Robust non-blocking Wi-Fi reconnect logic for ESP32 background tasks using FreeRTOS timer events.

Source Code
#include <WiFi.h>

void WiFiEvent(WiFiEvent_t event) {
    switch (event) {
        case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
            Serial.println("Wi-Fi lost connection. Reconnecting...");
            WiFi.reconnect();
            break;
        case ARDUINO_EVENT_WIFI_STA_GOT_IP:
            Serial.print("Connected! IP Address: ");
            Serial.println(WiFi.localIP());
            break;
    }
}

void setup() {
    Serial.begin(115200);
    WiFi.onEvent(WiFiEvent);
    WiFi.begin("SSID", "PASSWORD");
}
Author: alex_maker
View on GitHub