ESPHome 2025.6.0 - 18th June 2025

OpenThread

USB Host

USB UART

OpenThread

USB Host

USB UART

CM1106

ES8388

LC709203F

CM1106

ES8388

LC709203F

ESP32-P4 LDO regulator

ESP32-P4 LDO regulator

ESP-IDF Updates

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

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

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

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

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

  • 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

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?

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

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

This release includes extensive performance improvements across multiple areas of ESPHome. Our optimization efforts focus on three key areas:

1. Native API Speed

Enhanced Native API performance for faster communication between ESPHome devices and Home Assistant.

2. Memory Footprint Reduction

Significant RAM usage optimizations to improve stability and allow for more complex configurations, especially on memory-constrained devices.

3. 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

Great news for BME68x 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.

Release 2025.6.1 - June 23

Show

Release 2025.6.2 - June 27

Show

Full list of changes

New Components

Breaking Changes

  • update minimal python version to 3.10 esphome#8850 by @ximex (breaking-change)

  • Add LWIP optimization options to reduce flash usage esphome#8946 by @bdraco (breaking-change)

  • Replace API deferred queue with efficient message batching system esphome#9012 by @bdraco (breaking-change)

  • Optimize Component and Application state storage from uint32_t to uint8_t esphome#9082 by @bdraco (breaking-change)

  • Reduce entity memory usage by eliminating field shadowing and bit-packing esphome#9076 by @bdraco (breaking-change)

  • Optimize Application area_ from std::string to const char* esphome#9085 by @bdraco (breaking-change)

Beta Changes

Show

Notable Changes

All changes

Show

Dependency Changes

Show

Past Changelogs

Show