Select the Right ESP IoT Development Framework Version Before Developing Your Connected Products

Posted on March 25, 2020 by Nate Bowen

Last month, Espressif released ESP-IDF v4.0. This version is a major update on the official SDK for the ESP32 system-on-chip. It includes many new features, including a standalone BLE stack, a native Windows build system option, and support for BLE-MESH. Many of the new features have been available for months as developmental improvements with no promises of support from the ESP-IDF maintainers. However, this update is considered “major” by Espressif, and therefore comes with an 18-month guaranteed support period.

This makes it the best option for developers starting new projects with an ESP32.

But wait, before you run off and update your all of your existing ESP-IDF-based projects, consider this: v4.0 is stable, but not a long-term support (LTS) release.

What does that mean?

According to its support policy, all major and minor releases come with 18 months of support, but an LTS release is supported for 30 months. There is currently only one LTS version, v3.3. This means that v3.3 will be supported through March 2022 and v4.0 will be supported through October 2021.

So now you have a decision to make: the latest stable version, or the only LTS version. Let’s cover some specific reasons why you may want to use the v3.3 LTS version instead of v4.0.

If you’ve already done significant work with a v3.x release

If you have a mature project that is built on one of the v3.x versions of the SDK, there could be an uncomfortable amount of your codebase that would be changed by migrating to v4.0. This is especially true for projects that have already been launched to end-users. In these cases, upgrading the ESP-IDF places a tremendous burden on regression testing.

If your plan requires a complete design before March 2022

Even if the project is just starting, a development team with v3.x experience could easily justify using it over v4.0 if the complete design and release cycle will be completed before March 2022. This is a rare scenario for an ESP32 application, which is almost always IoT-flavored, but if your project is not concerned with Over-the-Air bug fixes, security patches, or general improvements beyond the LTS period, v3.3 could really be the most stable option.

If these considerations don’t apply to your project, then the differences in support periods are insignificant. Espressif has stated that a new LTS version will become available at least every 18 months. This means the next LTS will land before March 2021 and will be based on a v4.x release, dramatically decreasing the regression testing burden when the time comes to upgrade.

Whether you grab the shiny new v4.0 or v3.3 LTS, the ESP-IDF is the most stable and mature it has ever been. It’s a great time to start a project with the ESP32.

Need some guidance with your ESP32-based project? Contact us for a free meeting.

Nate Bowen
by Nate Bowen
Embedded Engineer
Nate Bowen is an embedded engineer at DornerWorks.