Pre-built ESP-Hosted-MCU co-processor firmware binaries
The slave firmware enables host MCUs to utilize the Wi-Fi and Bluetooth capabilities of ESP32 series chips through SDIO, SPI, or UART interfaces.
The following table summarizes the supported co-processors and transport communication buses between the slave and host.
| Transport Supported | SDIO | SPI Full-Duplex | SPI Half-Duplex | UART |
|---|---|---|---|---|
| Co-Processors Supported | ||||
| ESP32 | ✓ | ✓ | × | ✓ |
| ESP32-C2 | × | ✓ | ✓ | ✓ |
| ESP32-C3 | × | ✓ | ✓ | ✓ |
| ESP32-C5 | ✓ | ✓ | ✓ | ✓ |
| ESP32-C6/C61 | ✓ | ✓ | ✓ | ✓ |
| ESP32-S21 | × | ✓ | ✓ | ✓ |
| ESP32-S3 | × | ✓ | ✓ | ✓ |
Download the appropriate firmware binary for your co-processor from the Releases page.
You can also use the firmware files hosted on the project's GitHub Pages site for over-the-air (OTA) updates to the co-processor. The workflow publishes the latest release .bin files to GitHub Pages (https://pioarduino.github.io/esp-hosted-mcu-firmware); point your co-processor's OTA URL to the desired .bin file (for example: https://pioarduino.github.io/esp-hosted-mcu-firmware/network_adapter_esp32c6.bin).
To build the firmware locally:
# Clone ESP-IDF
git clone -b v5.5.1 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh esp32c6 # or your target
source export.sh
cd ..
# Create project from ESP-Hosted example
idf.py create-project-from-example "espressif/esp_hosted==2.7.3:slave"
cd slave/
# Build for your target
idf.py set-target esp32c6 # or your target
idf.py build
# Output: build/network_adapter.binReleases are tagged with the ESP-Hosted-MCU version used (e.g., v2.7.3).
The ESP-Hosted-MCU firmware is licensed under the Apache License 2.0. See the ESP-Hosted-MCU repository for details.
Footnotes
-
Build currently fails due to an incorrect default configuration ↩