ESPHome 2025.6.0: ESP-IDF 5.3.2, OpenThread, and new ESP32 variants

ESP-IDF Updates
Section titled “ESP-IDF Updates”New Version: 5.3.2
Section titled “New Version: 5.3.2”In this release, we have updated the ESP-IDF framework to version 5.3.2. This version has been thoroughly tested in the background by our development team and is now the default for all configurations using ESP-IDF as the framework.
This version bump brings expanded microcontroller support. ESPHome now officially supports the following ESP32 variants:
- ESP32 - The original ESP32 with dual-core Xtensa LX6
- ESP32-C3 - Single-core RISC-V with Wi-Fi and Bluetooth 5 (LE)
- ESP32-C6 - Single-core RISC-V with Wi-Fi 6, Bluetooth 5 (LE), and Thread/Zigbee (new)
- ESP32-H2 - Single-core RISC-V with Bluetooth 5 (LE) and Thread/Zigbee (new)
- ESP32-S2 - Single-core Xtensa LX7 with Wi-Fi
- ESP32-S3 - Dual-core Xtensa LX7 with Wi-Fi and Bluetooth 5 (LE)
- ESP32-P4 - Dual-core RISC-V high-performance variant (new)
NOTE
The newly supported variants (ESP32-C6, ESP32-H2, ESP32-P4) are still being refined. Some components may not yet be fully compatible with these chips. Additional component updates are planned for ESPHome 2025.7.0.
They also currently only support using the ESP-IDF framework, and do not work with the Arduino framework in this release.
Please check our Pull Requests for the latest compatibility status before reporting issues with these new variants.
ESP-IDF 4.x Support
Section titled “ESP-IDF 4.x Support”This release is the last release which will support ESP-IDF 4.x versions; in the July release (2025.7.0) we will bump the default Arduino version to 3.1.3, which is now built on IDF 5.x and, as such, ESPHome will no longer require ESP-IDF 4.x support to maintain compatibility with Arduino. Please see our developer blog for more details.
WARNING
Device configurations held back on ESP-IDF 4.x are unlikely to compile with the next ESPHome release (2025.7.0).
You can continue to use older versions of ESPHome, but you’ll need to ensure your device configurations are using IDF 5.x if you wish to upgrade to 2025.7.0 or later releases of ESPHome.
OpenThread
Section titled “OpenThread”With the ESP-IDF 5.3.2 update, we’ve introduced basic OpenThread support for ESP-IDF based configurations. This exciting addition enables ESP32-C6 and ESP32-H2 devices to join Thread networks, expanding your connectivity options beyond traditional Wi-Fi and Ethernet.
Thread Network Integration
Section titled “Thread Network Integration”Your ESPHome devices can now connect to Thread networks and communicate with Home Assistant through the Native API, provided you have:
- Thread support enabled in Home Assistant
- An OpenThread border router configured and running on your network
Important Considerations
Section titled “Important Considerations”Thread is designed as a low-power, low-bandwidth networking protocol. It’s specifically optimized for:
- IoT devices with minimal data transmission needs
- Battery-powered or energy-efficient applications
- Mesh networking scenarios
Current Limitations
Section titled “Current Limitations”- ESPHome does not yet support Thread “Sleepy End Device” mode (low-power sleep functionality)
- Not recommended for applications requiring high-frequency sensor data transmission
- Best suited for simple control and monitoring use cases
Think of Thread support as providing you with a third networking option alongside Wi-Fi and Ethernet, particularly valuable for ESP32-C6 and ESP32-H2 deployments in mesh network environments.
Python 3.10 Requirement
Section titled “Python 3.10 Requirement”Starting with ESPHome 2025.6.0, Python 3.10 or higher is required to run ESPHome. This change enables us to:
- Utilize modern Python features and improvements
- Remove legacy compatibility code that was needed for older Python versions
- Maintain a more secure and efficient codebase
Why This Change?
Section titled “Why This Change?”Python 3.9 reaches its end of life in October 2025, making this upgrade both timely and necessary for long-term security and maintainability.
What You Need to Do
Section titled “What You Need to Do”| Installation Method | Action Required |
|---|---|
| Home Assistant Add-on | No action needed - Already uses Python 3.12 |
| Container Images (Docker) | No action needed - Already uses Python 3.12 |
| Direct Installation (pip) | Ensure Python 3.10+ is installed before running pip install -U esphome |
WARNING
If you’re running ESPHome directly on your machine with Python 3.9 or older, running pip install -U esphome
will not upgrade beyond version 2025.5.2. You must upgrade your Python installation first.
Performance Optimizations
Section titled “Performance Optimizations”This release includes extensive performance improvements across multiple areas of ESPHome. Our optimization efforts focus on three key areas:
-
Native API Speed Enhanced Native API performance for faster communication between ESPHome devices and Home Assistant.
-
Memory Footprint Reduction Significant RAM usage optimizations to improve stability and allow for more complex configurations, especially on memory-constrained devices.
-
Flash Storage Efficiency Reduced compiled firmware size, leaving more flash storage available for your applications and OTA updates.
These optimizations are part of an ongoing effort to make ESPHome more efficient and reliable. More performance improvements are planned for future releases.
BME68x BSEC2 Arduino Independence
Section titled “BME68x BSEC2 Arduino Independence”Great news for Bosch BME68x BSEC2 sensor users! Bosch has merged and released a community contribution to their BSEC2 library that removes the Arduino framework dependency. This improvement means:
- Better ESP-IDF compatibility - BME68x sensors now work seamlessly with ESP-IDF based configurations
- Reduced dependencies - Cleaner builds without unnecessary Arduino components
- Improved reliability - More stable sensor operation across different ESP32 variants
This change makes the BME68x environmental sensors more versatile and easier to integrate into ESP-IDF projects, continuing ESPHome’s move toward framework flexibility.
NOTE
This change applies only to the BME68x BSEC2 sensor component. It does not apply to the older, now-outdated BME680 BSEC sensor component.
Release 2025.6.1 - June 23
Section titled “Release 2025.6.1 - June 23”- Eliminate memory fragmentation with BLE event pool esphome#9101 by @bdraco
- [nextion] Fix command spacing double timing and response blocking issues esphome#9134 by @edwardtfn
- Fix missing BLE GAP events causing RSSI sensor and beacon failures esphome#9138 by @bdraco
- [config validation] Add more ip address / network validators esphome#9181 by @jesserockz
- Fixes for setup of OpenThread either using TLV or entering Credentials directly esphome#9157 by @rwrozelle
- Restore access to BLEScanResult as get_scan_result esphome#9148 by @myhomeiot
Release 2025.6.2 - June 27
Section titled “Release 2025.6.2 - June 27”- [lvgl] Fix dangling pointer issue with qrcode esphome#9190 by @clydebarrow
- [audio] Bugfix: improve timeout handling esphome#9221 by @kahrendt
- [speaker] bugfix: continue to block tasks if stop flag is set esphome#9222 by @kahrendt
- [voice_assistant] Support streaming TTS responses and fixes crash for long responses esphome#9224 by @kahrendt
- [esp32] Change
enable_lwip_mdns_queriesdefault toTrueesphome#9188 by @scaiper - [i2c] Disable i2c scan on certain idf versions esphome#9237 by @swoboda1337
- [mcp23xxx_base] fix pin interrupts esphome#9244 by @ssieb
Release 2025.6.3 - July 3
Section titled “Release 2025.6.3 - July 3”- [uart] fix: missing uart_config_t struct initialisation esphome#9235 by @Rezoran
- Fix api log client crashing when api encryption is dynamic esphome#9245 by @jesserockz
- Fix crash when event last_event_type is null in web_server esphome#9266 by @bdraco
- [http_request] allow retrieval of more than just the first header esphome#9242 by @candrews
Full List of Changes
Section titled “Full List of Changes”For the complete list of every merged pull request in this release, see the full 2025.6.0 changelog.



Comments