ESPHome 2025.9.0: MIPI RGB displays and a camera JPEG encoder

Release Overview
Section titled “Release Overview”ESPHome 2025.9.0 brings significant enhancements to display technology, camera functionality, and performance optimizations. This release focuses on advanced display capabilities, improved memory efficiency, and enhanced developer tools while maintaining backward compatibility for most use cases.
Key Highlights:
- MIPI RGB Display support for high-performance color displays with dedicated hardware acceleration
- ESPHome Builder improvements with support for uploading existing YAML files and blank configurations
- Camera JPEG encoder enabling efficient image compression and streaming capabilities
- Enhanced NRF52 features including DFU (Device Firmware Update) support
- Extensive memory optimizations reducing flash and RAM usage across all platforms
- Improved sensor support with enhanced BL0940 power monitoring capabilities
- Component improvements including restructured Inkplate e-paper display support
🎉 Welcome Jonathan to the Open Home Foundation Team!
Section titled “🎉 Welcome Jonathan to the Open Home Foundation Team!”We’re excited to announce that Jonathan (@swoboda1337) has joined the Open Home Foundation as a full-time developer on ESPHome!
Jonathan has been a long-standing and valued contributor, and now he’ll be able to focus fully on building ESPHome — helping people create smart homes that are private, sustainable, and built on open standards.
This milestone is made possible by the support of our community and the Open Home Foundation’s mission to advance open-source smart home technologies while upholding the principles of privacy, choice, and sustainability.
If you’d like to support continued development of ESPHome and other open home projects, consider:
- Supporting the Open Home Foundation → openhomefoundation.org
- Subscribing to Home Assistant Cloud → nabucasa.com to help fund open-source development
🚀 Welcome to the team, Jonathan — we can’t wait to see what you’ll help build!
MIPI RGB Display Support
Section titled “MIPI RGB Display Support”ESPHome 2025.9.0 introduces comprehensive support for MIPI RGB displays through the new Mipi Rgb component.
Key Features:
- Hardware acceleration through dedicated MIPI controllers
- High refresh rates with excellent color reproduction
- Unified configuration supporting multiple display models
- Reduced CPU overhead compared to traditional parallel displays
- Professional display quality for advanced user interfaces
MIPI RGB displays offer superior performance for applications requiring high-quality graphics, smooth animations, and professional-grade user interfaces.
ESPHome Builder Enhancements
Section titled “ESPHome Builder Enhancements”The ESPHome Builder web interface now offers improved flexibility for getting started with your projects:
New Capabilities:
- Upload existing YAML files to continue working on configurations created elsewhere
- Start with a blank configuration for complete customization from scratch
Camera JPEG Encoder
Section titled “Camera JPEG Encoder”The new Camera Encoder component adds efficient JPEG compression capabilities to ESP32 camera implementations, enabling:
Benefits:
- Reduced bandwidth for image transmission over WiFi
- Lower storage requirements for image capture applications
- Improved streaming performance with compressed image data
- Configurable quality settings to balance size vs. quality
- Hardware acceleration where available on supported platforms
This component is particularly valuable for security cameras, time-lapse photography, and any application requiring efficient image handling.
Enhanced NRF52 Platform
Section titled “Enhanced NRF52 Platform”Building on the NRF52 platform introduced in 2025.8.0, this release adds crucial development and deployment features:
New Capabilities:
- DFU (Device Firmware Update) support for over-the-air updates
- Improved debugging tools with enhanced Zephyr integration
These enhancements make NRF52 development more practical for production deployments while maintaining the low-power advantages of Nordic semiconductors.
Memory & Performance Optimizations
Section titled “Memory & Performance Optimizations”ESPHome 2025.9.0 continues the optimization efforts with significant improvements:
Flash Memory Savings:
- Component source strings moved to flash (ESP8266) saving substantial RAM
- GPIO memory optimization reducing usage by up to 50% through bit-packing
- Scheduler improvements with memory pools to reduce heap fragmentation
- String optimizations eliminating unnecessary allocations in core functions
Runtime Improvements:
- Enhanced GPIO expander support with cached operations reducing I2C bus usage
- Optimized sensor logging with compile-time string management
- Better timezone synchronization allowing the timezone to be sent from Home Assistant for devices that are pre-installed with ESPHome
Breaking Changes
Section titled “Breaking Changes”ESPHome 2025.9.0 includes several breaking changes that may require configuration updates:
Core Preference Storage Changes
Section titled “Core Preference Storage Changes”- Device ID consideration: Preference storage now accounts for device_id to prevent conflicts
- Impact: Devices may lose some stored preferences on first boot after upgrade
- Action Required: No configuration changes needed, but stored calibration data may need to be reconfigured
LVGL Spinbox Configuration
Section titled “LVGL Spinbox Configuration”- Configuration change:
stepproperty replaced withselected_digitfor spinbox widgets - Impact: Existing LVGL spinbox configurations will fail validation
- Action Required: Update spinbox configurations to use
selected_digitinstead ofstep
Bluetooth Proxy Connection Defaults
Section titled “Bluetooth Proxy Connection Defaults”- Default change: Active connections now default to
trueinstead offalse - Impact: Bluetooth proxy will allow active connections by default
- Action Required: Explicitly set
active: falseif you want to maintain previous behavior
API and Memory Optimizations
Section titled “API and Memory Optimizations”- String function changes:
state_class_to_string()now returnsconst char*instead ofstd::string - Component storage changes: Component source strings moved to flash memory on ESP8266
- Impact: Custom components using these functions may need updates
- Action Required: Update custom components to handle new return types
Inkplate Component Rename
Section titled “Inkplate Component Rename”- Component renamed: Inkplate component has been renamed and grayscale handling improved
- Impact: Existing Inkplate configurations will need component name updates
- Action Required: Update component references in your configuration
Most breaking changes are internal optimizations that shouldn’t affect typical configurations, but custom components and advanced setups may require updates.
Release 2025.9.1 - September 19
Section titled “Release 2025.9.1 - September 19”- [mqtt] Fix KeyError when MQTT logging configured without explicit level esphome#10774 by @bdraco
- fix(packet_transport): Add initialization for sensor configuration in packet transport esphome#10765 by @TMaYaD
- [core] Fix ESP8266 mDNS compilation failure caused by incorrect coroutine priorities esphome#10773 by @bdraco
- [gpio] Fix unused function warnings when compiling with log level below DEBUG esphome#10779 by @bdraco
Release 2025.9.2 - September 29
Section titled “Release 2025.9.2 - September 29”- [esp32_improv] Disable loop by default until provisioning needed esphome#10764 by @bdraco
- [libretiny] Fix lib_ignore handling and ignore incompatible libraries esphome#10846 by @swoboda1337
- Set color_order to RGB for the Waveshare ESP32-S3-TOUCH-LCD-4.3 and ESP32-S3-TOUCH-LCD-7-800X480 esphome#10835 by @stuartparmenter
- [esp32_improv] Fix crashes from uninitialized pointers and missing null checks esphome#10902 by @bdraco
- [sx126x] Fix issues with variable length FSK packets esphome#10911 by @swoboda1337
- [mipi_spi] Fix t-display-amoled esphome#10922 by @clydebarrow
Release 2025.9.3 - October 1
Section titled “Release 2025.9.3 - October 1”- [api] Prevent API from overriding noise encryption keys set in YAML esphome#10927 by @bdraco
- [sim800l] Fixed ignoring incoming calls. esphome#10865 by @vmakeev
- [voice_assistant] Fix wakeword string being reset while referenced esphome#10945 by @abmantis
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.9.0 changelog.

Comments