Skip to content

Zephyr RTOS on ESP32

Marek Matej edited this page Jan 10, 2024 · 4 revisions

Zephyr on ESP32

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, currently using version 4.4.3
  • There is a work in progress to adopt IDF version 5.1 with emphasis on flexible hal_espressif updates and the 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:

Generic Zephyr 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 WiFi applications:

west blobs fetch hal_espressif

More information can be obtained from the ESP32 based board documentation maintained by the Espressif:

  • esp32_devkitc_wroom
  • esp32_devkitc_wrover
  • esp32s2_saola
  • esp32s3_devkitm
  • esp32c3_devkit

Further information

Don't forget to check out the Discord channel to get in touch with ESP32 Zephyr developers!

Clone this wiki locally