-
Notifications
You must be signed in to change notification settings - Fork 0
Zephyr RTOS 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.
- 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
The complete support status is tracked in the following GitHub issue:
https://github.com/zephyrproject-rtos/zephyr/issues/29394
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.
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 look here:
https://docs.zephyrproject.org/latest/boards/xtensa/index.html
https://docs.zephyrproject.org/latest/boards/riscv/index.html
Don't hesitate and check out the Discord channel to get in touch with ESP32 Zephyr developers!