ESP32 Wi-Fi setup portal does not open on the phone

If the setup page does not pop up, open http://192.168.4.1/ by hand in the phone browser.

What the message means

A captive portal asks the phone to open a page after it joins a network. Phones differ in how they detect it, and some disable it when there is no internet.

Fix it in this order

  1. Connect the phone to the board setup network and wait a few seconds.
  2. Turn off mobile data so the phone does not switch away.
  3. Open http://192.168.4.1/ in the browser if the page does not appear by itself.
  4. Use http, not https, and type the address in the address bar, not in a search box.
  5. Keep the setup sketch running and give it time before timing out.
  6. Save the credentials to flash when the user submits the form.

Why it happens

A captive portal is a page that a phone tries to open after it joins a network. The phone checks a known address to see whether it has internet access, and if the response looks wrong it may show a login popup or skip one entirely. An ESP32 running as an access point serves its setup form from its own address, normally 192.168.4.1, so the phone must reach that address directly. Mobile data can make the phone route traffic elsewhere.

Detection depends on the phone’s operating system and on whether it thinks the network has internet, and that varies between devices and versions. The sketch must keep serving the form while the phone connects, and it should save the credentials it receives in flash so they survive a reset. Typing the device address in a browser bypasses detection entirely, which makes it the dependable path.

If you see this, do this

You seeDo this
Network joins, no pageOpen the address by hand.
Phone leaves the networkMobile data switching.

Confirm the fix

  1. Print WiFi.softAPIP() in setup, then confirm the printed address matches the one you typed into the browser.
  2. From a laptop on the setup network, run ping 192.168.4.1 and confirm replies arrive before testing the phone.
  3. Submit the form, power cycle the board, and confirm the saved credentials are read back from flash on boot.

Common mistake: Assuming the setup page always pops up automatically. Readers often wait on the phone screen for a popup that never appears, when opening the device address by hand in the browser takes seconds.

access point mode, web server not reachable.

Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.