<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp" -->

---
title: ESPHome 2026.7.0: Native toolchains by default | daily.dev
description: ESPHome 2026.7.0 switches the default ESP32 and nRF52 toolchains from PlatformIO to native builds (ESP-IDF and nRF Connect SDK), with explicit opt-out via...
canonical: https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: ESPHome 2026.7.0: Native toolchains by default | daily.dev
og:description: ESPHome 2026.7.0 switches the default ESP32 and nRF52 toolchains from PlatformIO to native builds (ESP-IDF and nRF Connect SDK), with explicit opt-out via...
og:url: https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp
og:image: https://api.daily.dev/og/posts/vi3LnYzDp.png
og:image:alt: ESPHome 2026.7.0: Native toolchains by default
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ESPHome 2026.7.0: Native toolchains by default

**[ESPHome - Smart Home Made Simple](https://daily.dev/sources/esphome)** · 38 min read · 0 upvotes · 0 comments

## Summary

ESPHome 2026.7.0 switches the default ESP32 and nRF52 toolchains from PlatformIO to native builds (ESP-IDF and nRF Connect SDK), with explicit opt-out via toolchain: platformio. Security groundwork toward EN18031 compliance lands, including opt-in NVS encryption, OTA downgrade protection, and a new provisioning component. Performance work spans a tree-wide single-precision float sweep across ~50 components, ESP8266 DRAM savings, ccache enabled by default for ESP-IDF, and shared machine-global toolchain caches. Feature highlights include a rewritten heap-free Modbus parser with changed default timing values, expanded LVGL animation and rotation support, gigabit Ethernet on ESP32-S31, ESP-NOW v2 payloads up to 1470 bytes, RTC-backed ESP32 preferences, 11 new hardware components, and Zigbee SDK 2.0.2 with endpoint merging requiring device re-pairing. The legacy Tornado dashboard is removed in favor of the external Device Builder, and Python 3.11 support is dropped in favor of 3.12.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://esphome.io/blog/2026/07/15/esphome-2026-7>

## Questions this post answers

### What happens to my ESP32 config if I don't set a toolchain option in ESPHome 2026.7.0?

It compiles with native ESP-IDF instead of PlatformIO, since ESP-IDF became the default ESP32 toolchain in ESPHome 2026.7.0. To keep the previous PlatformIO-based build, add toolchain: platformio to the esp32 configuration block. The same default switch applies to nRF52 boards, which now default to the native nRF Connect SDK 2.9.2.

_Track breaking toolchain defaults like this before they surprise your next ESPHome build on daily.dev._

### Why did my Modbus client stop working correctly after updating ESPHome, and what changed in the timing defaults?

ESPHome 2026.7.0 rewrote the Modbus parser to be buffer-based and frame-length-aware, replacing byte-by-byte parsing, and changed default timing: send_wait_time moved from 250ms to 2000ms and turnaround_time from 100ms to 600ms. Any overrides added to compensate for the old parser's quirks should be reviewed, since they may no longer be necessary and disable_crc, send_wait_time, or turnaround_time keys set on a modbus server must be removed.

_Check defaults like these before a Modbus upgrade breaks your device communication timing._

### Why do my ESP32 Zigbee devices stop working after an ESPHome update?

ESPHome 2026.7.0 bumped the Zigbee component to esp-zigbee-sdk 2.0.2 and merged component endpoints on ESP32, which requires every existing Zigbee device to be re-joined, re-interviewed, and reconfigured after upgrading. The dedicated Zigbee storage partition was also retired in favor of default NVS, and the enabled/coordinator distinction under reporting configuration was removed.

_Keep tabs on breaking Zigbee changes like this so a routine update doesn't strand your devices._

## Similar posts on daily.dev

- [Node Weekly Issue 623: May 7, 2026](https://daily.dev/posts/node-weekly-issue-623-may-7-2026-ylflaleuj) · Node Weekly · 9 upvotes · 0 comments
- [NestJS v12 Roadmap: Full ESM Migration, Standard Schema Validation and Modernised Toolchain](https://daily.dev/posts/nestjs-v12-roadmap-full-esm-migration-standard-schema-validation-and-modernised-toolchain-i8bxxtigr) · InfoQ · 2 upvotes · 0 comments
- [JavaScript Weekly Issue 784: May 5, 2026](https://daily.dev/posts/javascript-weekly-issue-784-may-5-2026-j1cxi1z0c) · JavaScript Weekly · 3 upvotes · 0 comments

---

Tags: [#iot](https://daily.dev/tags/iot), [#embedded](https://daily.dev/tags/embedded), [#firmware](https://daily.dev/tags/firmware)

[View this post on daily.dev](https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"ESPHome 2026.7.0: Native toolchains by default","url":"https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp"},"datePublished":"2026-08-23T12:18:30.466Z","dateModified":"2026-08-23T12:23:56.225Z","description":"ESPHome 2026.7.0 switches the default ESP32 and nRF52 toolchains from PlatformIO to native builds (ESP-IDF and nRF Connect SDK), with explicit opt-out via...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6174e0bed4e8e793f16b75512c1b12d7?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6174e0bed4e8e793f16b75512c1b12d7?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ESPHome - Smart Home Made Simple","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ESPHome - Smart Home Made Simple","logo":"https://media.daily.dev/image/upload/s--4zvo2xdp--/f_auto,q_auto/v1787487447/logos/esphome?_a=BAMAMicg0","url":"https://daily.dev/sources/esphome"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"iot,embedded,firmware","timeRequired":"PT38M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ESPHome - Smart Home Made Simple","item":"https://daily.dev/sources/esphome"},{"@type":"ListItem","position":3,"name":"ESPHome 2026.7.0: Native toolchains by default"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/esphome-2026-7-0-native-toolchains-by-default-vi3lnyzdp#faq","mainEntity":[{"@type":"Question","name":"What happens to my ESP32 config if I don't set a toolchain option in ESPHome 2026.7.0?","acceptedAnswer":{"@type":"Answer","text":"It compiles with native ESP-IDF instead of PlatformIO, since ESP-IDF became the default ESP32 toolchain in ESPHome 2026.7.0. To keep the previous PlatformIO-based build, add toolchain: platformio to the esp32 configuration block. The same default switch applies to nRF52 boards, which now default to the native nRF Connect SDK 2.9.2. Track breaking toolchain defaults like this before they surprise your next ESPHome build on daily.dev."}},{"@type":"Question","name":"Why did my Modbus client stop working correctly after updating ESPHome, and what changed in the timing defaults?","acceptedAnswer":{"@type":"Answer","text":"ESPHome 2026.7.0 rewrote the Modbus parser to be buffer-based and frame-length-aware, replacing byte-by-byte parsing, and changed default timing: send_wait_time moved from 250ms to 2000ms and turnaround_time from 100ms to 600ms. Any overrides added to compensate for the old parser's quirks should be reviewed, since they may no longer be necessary and disable_crc, send_wait_time, or turnaround_time keys set on a modbus server must be removed. Check defaults like these before a Modbus upgrade breaks your device communication timing."}},{"@type":"Question","name":"Why do my ESP32 Zigbee devices stop working after an ESPHome update?","acceptedAnswer":{"@type":"Answer","text":"ESPHome 2026.7.0 bumped the Zigbee component to esp-zigbee-sdk 2.0.2 and merged component endpoints on ESP32, which requires every existing Zigbee device to be re-joined, re-interviewed, and reconfigured after upgrading. The dedicated Zigbee storage partition was also retired in favor of default NVS, and the enabled/coordinator distinction under reporting configuration was removed. Keep tabs on breaking Zigbee changes like this so a routine update doesn't strand your devices."}}]}
```

