If you have used the full-fledge WiFiManager such as :
and have to write complicated callback functions to save custom parameters in SPIFFS/LittleFS/EEPROM, you'd appreciate the simplicity of this Light-Weight Credentials / WiFiManager.
This library is a Light Weight Credentials / WiFi Manager for Generic WiFi (WiFiNINA, WINC1500/WiFi101, WiFiEsp, etc.) modules/shields, specially designed to support Teensy, SAM DUE, SAMD21 (Nano-33 IoT, Itsy-Bitsy M0, etc), SAMD51 (Itsy-Bitsy M4, Metro M4, Grand Central M4, Feather M4 Express, etc.), STM32F/L/H/G/WB/MP1 (F1, F2, F3, F4, F7, Nucleo-144, etc.), nRF52 (Adafruit NRF52840_FEATHER, NRF52832_FEATHER, NRF52840_FEATHER_SENSE, NRF52840_ITSYBITSY, NRF52840_CIRCUITPLAY, NRF52840_CLUE, NRF52840_METRO, NRF52840_PCA10056, PARTICLE_XENON, NINA_B302_ublox, NINA_B112_ublox, etc.), etc. boards running Generic WiFi modules/shields. with smaller memory (64+K bytes)
The AVR-family boards (UNO, Nano, etc.) are not supported as they don't have enough memory to run Config Portal WebServer.
This is a Credentials / WiFi Connection Manager, permitting the addition of custom parameters to be configured in Config Portal. The parameters then will be saved automatically, without the complicated callback functions to handle data saving / retrieving.
You can also specify DHCP HostName, static AP and STA IP. Use much less memory compared to full-fledge WiFiManager. Config Portal will be auto-adjusted to match the number of dynamic custom parameters. Credentials are saved in EEPROM, (emulated-)EEPROM, FlashStorage_SAMD, FlashStorage_STM32 or DueFlashStorage.
The web configuration portal, served from the Generic WiFi modules/shields is operating as an access point (AP) with configurable static IP address or use default IP Address of 192.168.4.1
- MultiWiFi feature for configuring/auto(re)connecting Generic WiFi (WiFiNINA, WINC1500/WiFi101, WiFiEsp, etc.) shields to the available MultiWiFi APs at runtime.
- DoubleDetectDetector feature to force Config Portal when double reset is detected within predetermined time, default 10s.
- Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters.
- Optional default Credentials as well as Dynamic parameters to be optionally autoloaded into Config Portal to use or change instead of manually input.
- Dynamic custom parameters to be saved automatically in non-volatile memory, such as Mega, Teensy EEPROM, SAMD EEPROM-emulated FlashStorage_SAMD, STM32F/L/H/G/WB/MP1 EEPROM-emulated FlashStorage_STM32 or SAM DUE DueFlashStorage .
- Configurable Config Portal Title to be either BoardName or default undistinguishable names.
- Examples are designed to separate Credentials / Defines / Dynamic Params / Code so that you can change Credentials / Dynamic Params quickly for each device.
- Control Config Portal from software or Virtual Switches
- To permit autoreset after configurable timeout if DRD/MRD or non-persistent forced-CP
- Use new nRF52 LittleFS, SAMD FlashStorage_SAMD and STM32F/L/H/G/WB/MP1 FlashStorage_STM32 features
Currently supported Boards
This WiFiManager_Generic_Lite library currently supports these following boards:
nRF52 boards , such as AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox, etc.
- Arduino SAMD21: ZERO, MKRs, NANO_33_IOT, etc.
- Adafruit SAMD21 (M0): ItsyBitsy M0, Feather M0, Feather M0 Express, Metro M0 Express, Circuit Playground Express, Trinket M0, PIRkey, Hallowing M0, Crickit M0, etc.
- Seeeduino: LoRaWAN, Zero, Femto M0, XIAO M0, Wio GPS Board, etc.
- Adafruit SAMD51 (M4): Metro M4, Grand Central M4, ItsyBitsy M4, Feather M4 Express, Trellis M4, Metro M4 AirLift Lite, MONSTER M4SK Express, Hallowing M4, etc.
- Seeeduino: Wio Terminal, Grove UI Wireless
- SAM DUE
- Teensy (4.1, 4.0, 3.6, 3.5, 3,2, 3.1, 3.0)
- AVR Mega1280, 2560, ADK.
- STM32F/L/H/G/WB/MP1 boards (with 32+K Flash)
- Generic STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7 (with 64+K Flash): x8 and up
- STM32L0, STM32L1, STM32L4
- STM32G0, STM32G4
- LoRa boards
- 3-D printer boards
- Generic Flight Controllers
- Midatronics boards
Currently supported WiFi shields/modules
- WiFiNINA using WiFiNINA_Generic library
- WiFi101 using WiFi101 library
- U-Blox W101, W102 using WiFiNINA_Generic library
- ESP826-AT command using WiFiEspAT library
- ESP8266/ESP32-AT command using ESP_AT_Lib library
- Add support to STM32F/L/H/G/WB/MP1 using ATWINC1500/WiFi101. Thanks to Max Gerhardt in attachInterrupt() on wifi101 unidentified
- Fix bug.
- Drop support to Mega due to marginal memory issue.
- Initial release to support many boards and Generic WiFi (WiFiNINA, WINC1500/WiFi101, WiFiEsp, etc.) using WiFiNINA_Generic, WiFi101, WiFiEsp, etc. libraries.
Config Portal screens
- Main Screen
- Input Credentials:
- After pressing Save button