built with and tested on HiLetgo ESP8266 NodeMCU CP2102 ESP-12E
required libraries ESP8266WiFi.h RTCVars.h https://github.com/highno/rtcvars EEPROM.h
the default IP Address for the softAP web interface is 192.168.4.1 The program sets up an softAP to connect to and displays a web page with available SSID's. On clicking an SSID the next page shows a form window that allows user to enter the ssid password. The device will auto restart, go into Station mode, connect to wifi, and display a generic webpage. Whie it attemps to connect to the wifi, using the credential enterd into the web interface, it will run a timer. If it times out it will reset the stored WiFi credentials (SSID, Password) and start again in softAP mode. The flash button on the ESP will reset the stored WiFi credentials (SSID, Password) and restart in softAP mode. Just add your program to make this more useful. There is room to compress this program and most likely improve it. A list of helpful webpages that helped me get here. There are probably some I'm missing... https://www.cplusplus.com/doc/tutorial/typecasting/, https://randomnerdtutorials.com/esp32-esp8266-input-data-html-form/, https://blog.hirnschall.net/esp8266-eeprom/, https://randomnerdtutorials.com/esp8266-web-server/ Or you can skip this and check out File/Examples/DNSServer/CaptivePortalAdvanced in the Arduino IDE..