Use the Windows Mobile hotspot when your ESP32 C3 will not connect to any of your WIFI SSIDs

I spent two weeks troubleshooting ESP32 C3 network connectivity issues.  They worked a couple of times and then just never connected after that. I changed the firmware, erased nv memory, and tried about 10 different solutions found in the forums.  

In the end, the only reliable way to work with those particular ESPs was to create a mobile hotspot on my PC.  That works 100% of the time for me.  This is essentially Internet connection sharing even if it is only for the local network.

Getting the network working was important because the ES32 C3 doesn't support the file share mount for CircuitPython development.  I normally use rshell for MicroPython work but rshell isn't CircuitPython compatible.  So I really wanted the Web Workflow which requires a working network connection.

I farted around with a Seeed XIAO ESP32 C3 that wouldn't connect to the mobile hotspot.  It turns out that tiny device could only see my desktop if I attached the external wifi antenna.

I've got networks 

I have several routers to choose from.  None of the SSIDs have special characters. 
This is the list of those my IOT device can see via scan but cannot connect to.

Available WiFi networks:
        PityTheFool         RSSI: -40       Channel: 6
        PityTheFool         RSSI: -54       Channel: 6
        Fios-Router             RSSI: -44       Channel: 1
        Fios-Router-Guest       RSSI: -44       Channel: 1

Everything other than the ESP32 C3 can connect to both of my home routers.

Arduino EthernetYes
ESP8266 MicroPythonYes
ESP8266 ArduinoYes
Pico W MicroPythonYes
Pico W ArduinoYes
ESP32 C3 MicroPythonNo
ESP32 C3 ArduinoNo
ESP32 C3 CircuitPythonNo

Different Software

I tried different firmware/software
  1. Arduino: Failed
  2. MicroPython: Failed
  3. CircuitPython: Failed

Video coverage of this posting

Think differently

Use network connection sharing.  On windows the simplest way is to enable the mobile hotspot.

Create a new soft Hotspot / AP just for IoT dev work.

  1. Windows Key 
  2. Enter "Mobile HotSpot"
  3. Select the Mobile Hotspot
  4. Set the network name and password.  
  5. Select 2.4 GHz for the best compatibility.  IoT project boards that do 5 GHz  Wi-Fi aare rare.
  6. Put those credentials in your IoT application and restart it.

The Mobile hotspot management panel

Now we see the new Access Point and now we connect

The ESP32 C3 connects immediately to the mobile hotspot called python

Available WiFi networks:
        PityTheFool         RSSI: -40       Channel: 6
        PityTheFool         RSSI: -54       Channel: 6
        Fios-Router             RSSI: -44       Channel: 1
        Fios-Router-Guest       RSSI: -44       Channel: 1

        python                  RSSI: -79       Channel: 11


  1. The IoT device gets a different address every time you turn the Mobile hotspot off and then back on
  2. Sometimes it turns itself off. There is a switch that turns it off when no devices are connected.  Disable that if you intend to power cycle devices.
  3. Not sure how you would do this on a Mac, probably Internet connection sharing.



Revision History

Created 2023 01


Popular posts from this blog

Understanding your WSL2 RAM and swap - Changing the default 50%-25%

Installing the RNDIS driver on Windows 11 to use USB Raspberry Pi as network attached

DNS for Azure Point to Site (P2S) VPN - getting the internal IPs