Skip to main content
BlogNewsTop News

Zephyr RTOS on ESP32

By April 13, 2021No Comments

ESP32 is a popular family of low-cost and connected SoCs. It is popular amongst hobbyists, and it is also used in commercial applications.

History

  • The first ESP32 support on Zephyr RTOS was available in 2017 on Zephyr v1.9.0. Only a basic set of peripherals was supported (I2C, GPIO, UART), and applications could only run from SRAM.
  • Espressif started to contribute to the work in 2021.
  • hal_espressif is based on the modified version of ESP-IDF
  • The IDF versions used in the Zephyr were: v4.3, v4.4, v5.1
  • Recent versions of hal_espressif are made with an emphasis on more flexible updates and new SoC support

Current development status

The complete support status is tracked in the following GitHub issue: https://github.com/zephyrproject-rtos/zephyr/issues/29394

Getting started guide

The generic Zephyr Getting Started Guide can be used to set up the development environment, with only a few ESP32-specific steps.

https://docs.zephyrproject.org/latest/develop/getting_started/index.html

After the “Install the Zephyr SDK” step, fetch and update the binary blobs needed to build the Wi-Fi applications:

$ west blobs fetch hal_espressif

More information can be obtained from the ESP32 based boards’ documentation.

Here are a few examples of boards maintained by the Espressif Systems:

  • esp32_devkitc_wroom
  • esp32_devkitc_wrover
  • esp32s2_saola
  • esp32s3_devkitm
  • esp32c3_devkit

To get a complete list of ESP32 based boards take a look here:

https://docs.zephyrproject.org/latest/boards/xtensa/index.html

https://docs.zephyrproject.org/latest/boards/riscv/index.html

Further information

Don’t hesitate and check out the Discord channel to get in touch with ESP32 Zephyr developers!

If you enjoyed this article, don’t forget to subscribe to the Zephyr newsletter to receive insightful quarterly updates about all things Zephyr! You can also follow us on Twitter and LinkedIn.