WiFi constantly crashing the ESP S3 device when no wifi connection available

ESP32-S3 / ESP32-C6 Instability When Wi-Fi Is Unavailable (ESPHome)

Overview

I’ve been investigating a repeatable crash / reboot issue on newer ESP chips — specifically the ESP32-S3 and ESP32-C6 — when running ESPHome in environments where Wi-Fi connectivity is intermittent or unavailable.

The behaviour is very consistent:

  • When Wi-Fi is unavailable: the device repeatedly crashes/reboots
  • When Wi-Fi becomes available: the device immediately stabilises

This issue does not occur on older ESP32 devkit boards using earlier ESP32 variants under the same conditions from what I have noticed.


Hardware & Software Environment

Hardware

  • Affected chips:
    • ESP32-S3 (confirmed)
    • ESP32-C6 (similar behaviour observed)
  • Tested board: ESP32-S3
  • Power sources tested:
    • External power supply
    • USB power from a PC
      → Issue occurs in all cases (unlikely to be power-related)

Software


Expected Behaviour

When Wi-Fi is unavailable, I would expect the device to:

  • Continue running its main loop
  • Retry Wi-Fi connections in the background
  • Remain stable without crashing or rebooting

This is the behaviour I’ve observed for years on older ESP32 devices.


Actual Behaviour Observed

High-level pattern

  • Device enters a crash/reboot loop when no Wi-Fi network is reachable
  • As soon as a valid Wi-Fi network becomes available, the device stops crashing and runs normally

Reproduction method

To reliably reproduce the issue, I used a mobile phone hotspot:

  1. Hotspot OFF (no network available)
    → Device crashes continuously
  2. Hotspot ON (network becomes available)
    → Device immediately becomes stable

This makes the issue easy to trigger and observe.


ESPHome Configuration Notes

  • This is not caused by ESPHome’s automatic Wi-Fi or MQTT reset logic:
    • I have explicitly disabled automatic resets by setting the relevant timeouts to 0s
  • MQTT is not required to reproduce the issue
  • The crash happens during Wi-Fi connection handling itself

Version Constraints

I am currently staying on ESPHome 2025.7.5 because:

  • Later ESPHome versions fail for me during the package download stage
  • Older configurations struggle to compile on newer releases

There may be multiple unrelated issues here, but the Wi-Fi-absence crash behaviour is very clear and reproducible regardless.


Crash Analysis

The decoded stack trace strongly suggests the crash is occurring inside the Wi-Fi / DHCP / esp-netif / lwIP path, triggered from ESPHome’s WiFiComponent connection loop.

Key observations from the stack trace:

  • Failure occurs during:
    • esp_netif_dhcpc_start
    • IP configuration resets
    • TCP/IP task message handling
  • Triggered from:
    • WiFiComponent::wifi_sta_connect_
    • WiFiComponent::start_connecting
    • WiFiComponent::loop()

Relevant stack trace excerpt

esp_netif_reset_ip_info
esp_netif_dhcpc_start_api
esp_netif_dhcpc_start
WiFiComponent::wifi_sta_ip_config_
WiFiComponent::wifi_sta_connect_
WiFiComponent::start_connecting
WiFiComponent::loop

This strongly points to a failure path in Wi-Fi reconnect or DHCP handling when no access point is available.

Full logs are available here:


Comparison With Older ESP32 Devices

  • Older ESP32 devkit boards:
    • Handle Wi-Fi loss gracefully
    • Continue running normally while retrying connections
  • ESP32-S3 / ESP32-C6:
    • Appear far less tolerant of missing or unstable Wi-Fi
    • Enter a crash loop instead of backing off cleanly

This suggests either:

  • A regression or behavioural change in newer ESP-IDF / Arduino layers, or
  • An ESPHome interaction with newer Wi-Fi stacks that doesn’t handle the “no AP available” case safely

Key Takeaway

The device is stable when Wi-Fi is connected, and unstable when Wi-Fi is unavailable.

That alone strongly suggests a flaw in the Wi-Fi reconnect / DHCP failure path on newer ESP chips rather than:

  • power supply issues
  • application logic bugs
  • ESPHome reset configuration

Links

Is it caused by this

  • reboot_timeout (Optional, Time): The amount of time to wait before rebooting when no client connects to the API. This is needed because sometimes the low level ESP functions report that the ESP is connected to the network, when in fact it is not - only a full reboot fixes it. Can be disabled by setting this to 0s. Defaults to 15min.

I don’t think so - I have set all connectivity reboot_timeout: 0s?

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true
  power_save_mode: none
  reboot_timeout: 0s  # Don't reboot on WiFi failure
  enable_on_boot: true  # Disable WiFi to prevent crashes

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "$device_name Fallback"
    password: !secret ap_password
    ap_timeout: 0s # time after which to enable the configured fallback hotspot

web_server:
  port: 80
  version: 3

mqtt:
  broker: !secret mqtt_broker
  port: !secret mqtt_port
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
  discovery_retain: true
  log_topic:
    topic: "${device_name}/logging"
    level: NONE # Disable logging
  reboot_timeout: 5min

# Enable Home Assistant API
api:
  password: !secret api_password
  reboot_timeout: 0s # do not reboot if no wifi is available

ota:
  - platform: esphome
    password: !secret ota_password

Well… 5min on the mqtt - but it’s crashing consistently every minute before a timeout has even been reached - I will change the mqtt to 0s also :slight_smile:

Just out of curiosity, why do you use the Arduino framework rather than ESP-IDF?

Mostly just because I started with it and it was reliable for years, so I had a gooed experience - I have used the esp-idf when I needed it for other projects and it was a pain with the build flags I needed to set properly for it to work so I have a bit of a negative association from that. I don’t know if it’s the specific libraries I needed it for with the project or just that the newer chips like the C6 have not matured enough to be as stable as what im used to with the other esp chips… and if I’m having issues, just to rule out that as the reason by switching between the two.

I think I’ve discovered that the wifi/ap is what is causing these crashes - which makes sense why it was happening pretty consistently at the 1 minute mark…

I’ve commented it out and tested for over an hour with no crashing!

Hope this helps someone else :sunglasses:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # fast_connect: true
  power_save_mode: none
  reboot_timeout: 0s  # Don't reboot on WiFi failure
  # enable_on_boot: true  # Disable WiFi to prevent crashes

  # # Enable fallback hotspot (captive portal) in case wifi connection fails
  # ap:
  #   ssid: "$device_name Fallback"
  #   password: !secret ap_password
  #   ap_timeout: 0s # time after which to enable the configured fallback hotspot

web_server:
  port: 80
  version: 3

mqtt:
  broker: !secret mqtt_broker
  port: !secret mqtt_port
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
  discovery_retain: true
  log_topic:
    topic: "${device_name}/logging"
    level: NONE # Disable logging
  reboot_timeout: 0s

# Enable Home Assistant API
api:
  password: !secret api_password
  reboot_timeout: 0s # do not reboot if no wifi is available

ota:
  - platform: esphome
    password: !secret ota_password

# captive_portal:

There was a little love given to the WiFi components on ESPHome recently which may improve reliability also.
Switch to ESP-IDF framework, update your ESPHome, reboot, and recompile to take advantage of the changes.

2 Likes

I am having a lot of issue with updating my esphome version which is the reason I am on the older version - might make a separate post for this, but…

I’ve tried a lot of different new versions and they all run into these compile issues that I have never even seen prior to 2025.7 and earlier…

This is using the framework: esp-idf with the same project (I have tried many projects over many versions and they all share these package download/compile errors)

$ esphome version
Version: 2025.12.6
$ esphome compile esp-relay-timer-1.yaml 
INFO ESPHome 2025.12.6
INFO Reading configuration esp-relay-timer-1.yaml...
WARNING GPIO46 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq/#why-am-i-getting-a-warning-about-strapping-pins
WARNING API 'password' authentication has been deprecated since May 2022 and will be removed in version 2026.1.0. Please migrate to the 'encryption' configuration. See https://esphome.io/components/api/#configuration-variables
INFO Generating C++ source...
INFO Setting CONFIG_LWIP_MAX_SOCKETS to 12 (registered: api=4, mdns=2, mqtt=1, ota=1, socket.wake_loop_threadsafe=1, web_server=3)
INFO Components removed (fastled_base, fastled_clockless, light), cleaning build files...
INFO Deleting C:\AJ\Coding\aj-esp-relay-timer\.esphome\build\esp-relay-timer-1\.pioenvs
INFO Compiling app... Build path: C:\AJ\Coding\aj-esp-relay-timer\.esphome\build\esp-relay-timer-1
Processing esp-relay-timer-1 (board: esp32-s3-devkitc-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip)
--------------------------------------------------------------------------------------------------------------------------------------
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment    
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment    
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment    
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/xtensa-esp-elf-14.2.0_20241119.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/xtensa-esp-elf-14.2.0_20241119.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected]+20241119 has been installed!
INFO [email protected]+20241119 has been installed!
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.1.0.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.1.0.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing bblanchon/ArduinoJson @ 7.4.2
INFO Installing bblanchon/ArduinoJson @ 7.4.2
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment    
error: C:\Users\adam.jacob\.platformio\packages\tool-esptoolpy does not appear to be a Python project, as neither `pyproject.toml` nor `setup.py` are present in the directory
Warning: Failed to install esptool from C:\Users\adam.jacob\.platformio\packages\tool-esptoolpy (exit 2)
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
Verbose mode can be enabled via `-v, --verbose` option
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
error: C:\Users\adam.jacob\.platformio\packages\tool-esptoolpy does not appear to be a Python project, as neither `pyproject.toml` nor `setup.py` are present in the directory
Warning: Failed to install esptool from C:\Users\adam.jacob\.platformio\packages\tool-esptoolpy (exit 2)
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (55.3.31) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - contrib-piohome @ 3.4.4
 - framework-espidf @ 3.50501.0 (5.5.1)
 - tool-cmake @ 4.0.3
 - tool-esp-rom-elfs @ 2024.10.11
 - tool-esptoolpy @ 5.1.0
 - tool-mklittlefs @ 3.2.0
 - tool-ninja @ 1.13.1
 - tool-scons @ 4.40801.0 (4.8.1)
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119
Reading CMake configuration...
FileNotFoundError: [WinError 2] The system cannot find the file specified:
  File "C:\AJ\Coding\aj-esp-relay-timer\venv\Lib\site-packages\platformio\builder\main.py", line 173:
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\adam.jacob\.platformio\platforms\espressif32\builder\main.py", line 666:
    target_elf = env.BuildProgram()
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\AJ\Coding\aj-esp-relay-timer\venv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 62:
    env.ProcessProgramDeps()
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\AJ\Coding\aj-esp-relay-timer\venv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 142:
    env.BuildFrameworks(env.get("PIOFRAMEWORK"))
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\AJ\Coding\aj-esp-relay-timer\venv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 352:
    SConscript(env.GetFrameworkScript(name), exports="env")
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 684:
    return method(*args, **kw)
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\adam.jacob\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\adam.jacob\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 1780:
    project_codemodel = get_cmake_code_model(
  File "C:\Users\adam.jacob\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 531:
    run_cmake(src_dir, build_dir, extra_args)
  File "C:\Users\adam.jacob\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 1117:
    run_tool(cmd)
  File "C:\Users\adam.jacob\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 1072:
    result = exec_command(cmd, env=idf_env)
  File "C:\AJ\Coding\aj-esp-relay-timer\venv\Lib\site-packages\platformio\proc.py", line 114:
    with subprocess.Popen(*args, **kwargs) as p:
  File "C:\Python312\Lib\subprocess.py", line 1026:
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python312\Lib\subprocess.py", line 1538:
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
==================================================== [FAILED] Took 14.67 seconds ====================================================
(venv) 

This is not a routine environment that ESPHome is compiled under.
What version of Windoze are you running? 32 or 64 bit?
Is your wingw up to date?
Have you cleared your ESPHome cache?
Is your ESPHome prerequisites in Windows configured correctly?
Are you connecting to the internetz via your Samsung hotspot?
When you try to update ESPHome, what error messages do you get?
Was some of your compile environment set up under a different Windoze user?
I would venture that you have more fundamental issues than ESPHome compilation that need addressing first. Once you have addressed those, you may find that your ESP32 WiFi may actually work fine.

2 Likes

Thanks for the responses everyone - so I feel kind of dumb for missing this obvious red flag, I just got so used to it working with gitbash that must have overlooked this obvious error. Apparently support for gitbash has been removed - it compiled successfully using Windows Powershell on the latest pip version. A little sad I have to shift environments, does anyone know why support was removed?

ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:

Here are my findings anyway…

I am using Windows 11 64 bit.

I have always used the gitbash terminal with python/pip to install esphome and it always worked fine up until the last 6 months or so of versions. I use an virtual environment to isolate the versioning and the change of file versions being an issue.

Here is an example of the commands I would use to run up a new project:

# Install python virtual environment
python -m venv venv

# Enable the virtual environment
source venv/scripts/activate

# Install latest esphome version within the virtual environment
pip install esphome

# Compile my esphome config within the virtual environment
esphome compile esp-test.yaml

Here is a test config with literally nothing but the basic connections I would usually use:

substitutions:
  device_name: "esp-test-1"
  log_level: INFO  # Default log level (INFO, DEBUG, WARN, ERROR)
  device_id: "esp"
  device_label: "ESP"

esphome:
  name: ${device_name}

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

preferences:
  # https://esphome.io/components/esphome.html?highlight=eeprom#adjusting-flash-writes
  flash_write_interval: 15s

# Logger configuration
logger:
  level: ${log_level}  # Default log level (INFO, DEBUG, WARN, ERROR)

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # fast_connect: true
  power_save_mode: none
  reboot_timeout: 0s  # Don't reboot on WiFi failure

web_server:
  port: 80
  version: 3

mqtt:
  broker: !secret mqtt_broker
  port: !secret mqtt_port
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
  discovery_retain: true
  log_topic:
    topic: "${device_name}/logging"
    level: NONE # Disable logging
  reboot_timeout: 0s

# Enable Home Assistant API
api:
  password: !secret api_password
  reboot_timeout: 0s # do not reboot if no wifi is available

ota:
  - platform: esphome
    password: !secret ota_password

FAILURE
And here is the output response when I attempt to compile this basic config with the latest pip version of esphome (Version 2025-12) - if I compile this exact config with Version 2025-7 of esphome it compiles and runs absolutely fine:

adam_@AJ-Laptop MINGW64 /c/AJ/esp-test
$ python --version
Python 3.12.0

adam_@AJ-Laptop MINGW64 /c/AJ/esp-test
$ python -m venv venv

adam_@AJ-Laptop MINGW64 /c/AJ/esp-test
$ source venv/scripts/activate
(venv)
adam_@AJ-Laptop MINGW64 /c/AJ/esp-test
$ pip install esphome
Collecting esphome
  Obtaining dependency information for esphome from https://files.pythonhosted.org/packages/70/2a/43bd035f7de4b0a22956c66804f7cc47e4814f26ea4b655d7d6ebe2c52a6/esphome-2025.12.7-py3-none-any.whl.metadata
  Using cached esphome-2025.12.7-py3-none-any.whl.metadata (3.6 kB)
Collecting cryptography==45.0.1 (from esphome)
  Obtaining dependency information for cryptography==45.0.1 from https://files.pythonhosted.org/packages/26/7e/85c675e555b87759576088531e9f9d68ff8e735031b73581dd42a52b51cc/cryptography-45.0.1-cp311-abi3-win_amd64.whl.metadata
  Using cached cryptography-45.0.1-cp311-abi3-win_amd64.whl.metadata (5.7 kB)
Collecting voluptuous==0.15.2 (from esphome)
  Obtaining dependency information for voluptuous==0.15.2 from https://files.pythonhosted.org/packages/db/a8/8f9cc6749331186e6a513bfe3745454f81d25f6e34c6024f88f80c71ed28/voluptuous-0.15.2-py3-none-any.whl.metadata
  Using cached voluptuous-0.15.2-py3-none-any.whl.metadata (20 kB)
Collecting PyYAML==6.0.3 (from esphome)
  Obtaining dependency information for PyYAML==6.0.3 from https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl.metadata
  Using cached pyyaml-6.0.3-cp312-cp312-win_amd64.whl.metadata (2.4 kB)
Collecting paho-mqtt==1.6.1 (from esphome)
  Using cached paho_mqtt-1.6.1-py3-none-any.whl
Collecting colorama==0.4.6 (from esphome)
  Obtaining dependency information for colorama==0.4.6 from https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl.metadata
  Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting icmplib==3.0.4 (from esphome)
  Obtaining dependency information for icmplib==3.0.4 from https://files.pythonhosted.org/packages/38/ab/a47a2fdcf930e986914c642242ce2823753d7b08fda485f52323132f1240/icmplib-3.0.4-py3-none-any.whl.metadata

...

winrt-Windows.Storage.Streams-3.2.1 winrt-runtime-3.2.1 wsproto-1.3.2 zeroconf-0.148.0

[notice] A new release of pip is available: 23.2.1 -> 25.3
[notice] To update, run: python.exe -m pip install --upgrade pip
(venv)
adam_@AJ-Laptop MINGW64 /c/AJ/esp-test
$ esphome version
Version: 2025.12.7
(venv)
adam_@AJ-Laptop MINGW64 /c/AJ/esp-test
$ esphome compile esp-test.yaml
INFO ESPHome 2025.12.7
INFO Reading configuration esp-test.yaml...
WARNING API 'password' authentication has been deprecated since May 2022 and will be removed in version 2026.1.0. Please migrate to the 'encryption' configuration. See https://esphome.io/components/api/#configuration-variables
INFO Generating C++ source...
INFO Setting CONFIG_LWIP_MAX_SOCKETS to 12 (registered: api=4, mdns=2, mqtt=1, ota=1, socket.wake_loop_threadsafe=1, web_server=3)
INFO Core config or version changed, cleaning build files...
INFO Compiling app... Build path: C:\AJ\esp-test\.esphome\build\esp-test-1
Processing esp-test-1 (board: esp32-s3-devkitc-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
error: C:\Users\adam_\.platformio\packages\tool-esptoolpy does not appear to be a Python project, as neither `pyproject.toml` nor `setup.py` are present in the directory
Warning: Failed to install esptool from C:\Users\adam_\.platformio\packages\tool-esptoolpy (exit 2)
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
Library Manager: Installing bblanchon/ArduinoJson @ 7.4.2
INFO Installing bblanchon/ArduinoJson @ 7.4.2
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
error: C:\Users\adam_\.platformio\packages\tool-esptoolpy does not appear to be a Python project, as neither `pyproject.toml` nor `setup.py` are present in the directory
Warning: Failed to install esptool from C:\Users\adam_\.platformio\packages\tool-esptoolpy (exit 2)
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
INFO Installing tools via idf_tools.py (this may take several minutes)...
ERROR idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
Verbose mode can be enabled via `-v, --verbose` option
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
error: C:\Users\adam_\.platformio\packages\tool-esptoolpy does not appear to be a Python project, as neither `pyproject.toml` nor `setup.py` are present in the directory
Warning: Failed to install esptool from C:\Users\adam_\.platformio\packages\tool-esptoolpy (exit 2)
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
idf_tools.py installation failed (rc=1). Tail:
ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (55.3.31) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - contrib-piohome @ 3.4.4
 - framework-espidf @ 3.50501.0 (5.5.1)
 - tool-cmake @ 4.0.3
 - tool-esp-rom-elfs @ 2024.10.11
 - tool-esptoolpy @ 5.1.0
 - tool-mklittlefs @ 3.2.0
 - tool-ninja @ 1.13.1
 - tool-scons @ 4.40801.0 (4.8.1)
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119
Reading CMake configuration...
FileNotFoundError: [WinError 2] The system cannot find the file specified:
  File "C:\AJ\esp-test\venv\Lib\site-packages\platformio\builder\main.py", line 173:
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\adam_\.platformio\platforms\espressif32\builder\main.py", line 666:
    target_elf = env.BuildProgram()
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\AJ\esp-test\venv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 62:
    env.ProcessProgramDeps()
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\AJ\esp-test\venv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 142:
    env.BuildFrameworks(env.get("PIOFRAMEWORK"))
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\AJ\esp-test\venv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 352:
    SConscript(env.GetFrameworkScript(name), exports="env")
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 684:
    return method(*args, **kw)
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\adam_\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\adam_\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 1780:
    project_codemodel = get_cmake_code_model(
  File "C:\Users\adam_\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 531:
    run_cmake(src_dir, build_dir, extra_args)
  File "C:\Users\adam_\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 1117:
    run_tool(cmd)
  File "C:\Users\adam_\.platformio\platforms\espressif32\builder\frameworks\espidf.py", line 1072:
    result = exec_command(cmd, env=idf_env)
  File "C:\AJ\esp-test\venv\Lib\site-packages\platformio\proc.py", line 114:
    with subprocess.Popen(*args, **kwargs) as p:
  File "C:\Python312\Lib\subprocess.py", line 1026:
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python312\Lib\subprocess.py", line 1538:
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
========================================================================================== [FAILED] Took 10.41 seconds ==========================================================================================
(venv)

SUCCESS
Using the same commands inside Windows Powershell:

Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\AJ\esp-test> .\venv\scripts\activate
(venv) PS C:\AJ\esp-test> esphome version
Version: 2025.12.7
(venv) PS C:\AJ\esp-test> esphome compile .\esp-test.yaml
INFO ESPHome 2025.12.7
INFO Reading configuration esp-test.yaml...
WARNING API 'password' authentication has been deprecated since May 2022 and will be removed in version 2026.1.0. Please migrate to the 'encryption' configuration. See https://esphome.io/components/api/#configuration-variables
INFO Generating C++ source...
INFO Setting CONFIG_LWIP_MAX_SOCKETS to 12 (registered: api=4, mdns=2, mqtt=1, ota=1, socket.wake_loop_threadsafe=1, web_server=3)
INFO Compiling app... Build path: C:\AJ\esp-test\.esphome\build\esp-test-1
Processing esp-test-1 (board: esp32-s3-devkitc-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip)
------------------------------------------------------------------------------------------------------------------------
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-esptoolpy
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-esptoolpy
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-esptoolpy successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\toolchain-xtensa-esp-elf
INFO Installing file://C:\Users\adam_\.platformio\tools\toolchain-xtensa-esp-elf
Tool Manager: [email protected]+20241119 has been installed!
INFO [email protected]+20241119 has been installed!
INFO Tool toolchain-xtensa-esp-elf successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-cmake
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-cmake
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-cmake successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-ninja
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-ninja
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-ninja successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-esp-rom-elfs
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-esp-rom-elfs
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-esp-rom-elfs successfully installed
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/xtensa-esp-elf-14.2.0_20241119.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/xtensa-esp-elf-14.2.0_20241119.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected]+20241119 has been installed!
INFO [email protected]+20241119 has been installed!
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.1.0.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/esptoolpy-v5.1.0.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/cmake-4.0.3.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/cmake-4.0.3.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/esp-rom-elfs-20241011.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/esp-rom-elfs-20241011.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Tool Manager: Installing https://github.com/pioarduino/registry/releases/download/0.0.1/ninja-1.13.1.zip
INFO Installing https://github.com/pioarduino/registry/releases/download/0.0.1/ninja-1.13.1.zip
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-esptoolpy
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-esptoolpy
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-esptoolpy successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\toolchain-xtensa-esp-elf
INFO Installing file://C:\Users\adam_\.platformio\tools\toolchain-xtensa-esp-elf
Tool Manager: [email protected]+20241119 has been installed!
INFO [email protected]+20241119 has been installed!
INFO Tool toolchain-xtensa-esp-elf successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-cmake
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-cmake
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-cmake successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-ninja
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-ninja
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-ninja successfully installed
INFO Installing tools via idf_tools.py (this may take several minutes)...
Tool Manager: Installing file://C:\Users\adam_\.platformio\tools\tool-esp-rom-elfs
INFO Installing file://C:\Users\adam_\.platformio\tools\tool-esp-rom-elfs
Tool Manager: [email protected] has been installed!
INFO [email protected] has been installed!
INFO Tool tool-esp-rom-elfs successfully installed
Verbose mode can be enabled via `-v, --verbose` option
Installed esptool from tl-install path: C:\Users\adam_\.platformio\packages\tool-esptoolpy
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (55.3.31) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - contrib-piohome @ 3.4.4
 - framework-espidf @ 3.50501.0 (5.5.1)
 - tool-cmake @ 4.0.3
 - tool-esp-rom-elfs @ 2024.10.11
 - tool-esptoolpy @ 5.1.0
 - tool-mklittlefs @ 3.2.0
 - tool-ninja @ 1.13.1
 - tool-scons @ 4.40801.0 (4.8.1)
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119
Reading CMake configuration...
Generating assembly for certificate bundle...
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ off, Compatibility ~ strict
Found 1 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoJson @ 7.4.2
Building in release mode
Compiling .pioenvs\esp-test-1\src\esphome\components\api\api_connection.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\api_frame_helper.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\api_frame_helper_plaintext.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\api_pb2.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\api_pb2_service.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\api_server.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\list_entities.cpp.o
Compiling .pioenvs\esp-test-1\src\esphome\components\api\proto.cpp.o

...

Compiling .pioenvs\esp-test-1\bootloader\log\src\noos\log_timestamp.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\log_timestamp_common.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\noos\log_lock.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\buffer\log_buffers.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\noos\util.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\util.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\log_format_text.c.o
Compiling .pioenvs\esp-test-1\bootloader\log\src\log_print.c.o
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\esp_rom\libesp_rom.a
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\esp_system\libesp_system.a
Compiling .pioenvs\esp-test-1\bootloader\log\src\log.c.o
Compiling .pioenvs\esp-test-1\bootloader\bootloader\subproject\components\micro-ecc\uECC_verify_antifault.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\lldesc.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\dport_access_common.c.o
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\hal\libhal.a
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\interrupts.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\gpio_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\uart_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\adc_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\dedic_gpio_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\gdma_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\spi_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\ledc_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\pcnt_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\rmt_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\sdm_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\i2s_periph.c.o
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\log\liblog.a
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\i2c_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\temperature_sensor_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\timer_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\lcd_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\mcpwm_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\mpi_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\sdmmc_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\touch_sensor_periph.c.o
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\micro-ecc\libmicro-ecc.a
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\twai_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\wdt_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\usb_dwc_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\rtc_io_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\cam_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\soc\esp32s3\power_supply_periph.c.o
Compiling .pioenvs\esp-test-1\bootloader\spi_flash\spi_flash_wrap.c.o
Generating partitions .pioenvs\esp-test-1\partitions.bin
Generating an empty partition .pioenvs\esp-test-1\ota_data_initial.bin
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\soc\libsoc.a
Archiving .pioenvs\esp-test-1\bootloader\esp-idf\spi_flash\libspi_flash.a
Linking .pioenvs\esp-test-1\bootloader.elf
Building .pioenvs\esp-test-1\bootloader.bin
esptool v5.1.0
Creating ESP32S3 image...
Merged 2 ELF sections.
Successfully created ESP32S3 image.
Linking .pioenvs\esp-test-1\firmware.elf
Firmware metrics can not be shown. Set the terminal codepage to "utf-8"
Retrieving maximum program size .pioenvs\esp-test-1\firmware.elf
Checking size .pioenvs\esp-test-1\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]  11.3% (used 36948 bytes from 327680 bytes)
Flash: [=====     ]  47.3% (used 868767 bytes from 1835008 bytes)
Building .pioenvs\esp-test-1\firmware.bin
esptool v5.1.0
Creating ESP32S3 image...
Merged 2 ELF sections.
Successfully created ESP32S3 image.
merge_factory_bin([".pioenvs\esp-test-1\firmware.bin"], [".pioenvs\esp-test-1\firmware.elf"])
Info: bootloader.bin not found - skipping
Info: partition-table.bin not found - skipping
Info: ota_data_initial.bin not found - skipping
Info: esp-test-1.bin not found - skipping
Using FLASH_EXTRA_IMAGES from PlatformIO environment
Merging binaries into C:\AJ\esp-test\.esphome\build\esp-test-1\.pioenvs\esp-test-1\firmware.factory.bin
Merging binaries with esptool
esptool v5.1.0
SHA digest in image updated.
Wrote 0xe4330 bytes to file 'C:\AJ\esp-test\.esphome\build\esp-test-1\.pioenvs\esp-test-1\firmware.factory.bin', ready to flash to offset 0x0.
Successfully created C:\AJ\esp-test\.esphome\build\esp-test-1\.pioenvs\esp-test-1\firmware.factory.bin
esp32_copy_ota_bin([".pioenvs\esp-test-1\firmware.bin"], [".pioenvs\esp-test-1\firmware.elf"])
Copied firmware to C:\AJ\esp-test\.esphome\build\esp-test-1\.pioenvs\esp-test-1/firmware.ota.bin
============================================ [SUCCESS] Took 484.10 seconds ============================================
INFO Successfully compiled program.
(venv) PS C:\AJ\esp-test>

So you ARE using the latest version? Maybe, maybe not. Maybe a jumble of garbage.

ERROR: MSys/Mingw is not supported. Please follow the getting started guide of the documentation to set up a supported environment

Are you doing that? MSYS2 as well?

I don’t really understand the criticism, are you saying the the pip cache is wrong and I should be downloading everything fresh even though I am in a venv? I changed environments and it built fine as described in my last comment.

The official guide says to use docker:

And installing manually literally follows the same process I described above?
https://esphome.io/guides/installing_esphome/