Hosted Solution (Linux/MCU) with ESP32 (Wi-Fi + BT + BLE)
Hosted Solution (Linux/MCU) with ESP32 (Wi-Fi + BT + BLE)
ESP-Hosted, an open-source connectivity solution, leverages Espressif SoCs as dedicated wireless co-processors for Linux systems and microcontrollers.
It offloads protocol management to the co-processor, providing the host with full Wi-Fi, Bluetooth/BLE, and Thread capabilities via standard peripheral buses (SDIO, SPI, or UART).
FullMAC solution for Linux hosts:
wlan0)cfg80211 integrationwpa_supplicant and NetworkManager supportRPC-based solution for MCU and Linux hosts:
esp_event for co-processor events transparentlyThe first question is how the host wants to reach Wi-Fi.
| Host | Host Wi-Fi interface | Solution |
|---|---|---|
| Linux | Linux networking stack: wlan0, cfg80211, wpa_supplicant, NetworkManager |
esp-hosted-linux |
| Linux or MCU | ESP-IDF esp_wifi_*() APIs |
esp-hosted-mcu |
By use case:
| Use case | Recommended |
|---|---|
Standard Linux Wi-Fi config (NetworkManager, wpa_supplicant) |
esp-hosted-linux |
| A native wireless interface, so existing tooling and scripts keep working | esp-hosted-linux |
| Linux with custom or proprietary control over Wi-Fi | esp-hosted-mcu |
| Embedded Linux boards (Raspberry Pi, BeagleBone) | either |
| ESP-IDF application code that should run unchanged on the host | esp-hosted-mcu |
| Wi-Fi in AP + station mode on Linux | esp-hosted-mcu |
| Wi-Fi and Bluetooth/BLE together | either |
| Classic Bluetooth | either |
| Connectivity kept up while the host sleeps | either |
ESP-Hosted-Linux — FullMAC ESP-Hosted-MCU — custom solution
Seamless connectivity
Out-of-the-box networking
Existing Linux tooling and scripts keep working
Both Linux and MCU hosts use standard ESP-IDF APIs
Single co-processor firmware for MCU and Linux hosts
Same host app works on MPU and MCU
See the detailed comparison to understand how the two solutions differ.
Active development is currently taking place in these repositories:
| Repository | Purpose | Support |
|---|---|---|
| esp-hosted-linux | Standard Linux Solution | Linux Issues |
| esp-hosted-mcu | Custom solution for MCU and Linux hosts | MCU Issues |
Contributions are welcome — bug reports, fixes, new features and documentation. ESP-Hosted is developed in the open, and every change goes through review. For anything substantial, please open an issue first so the approach can be agreed before you write the code.
| Legacy implementation | Migrated to | Status | Code |
|---|---|---|---|
| ESP-Hosted-NG | esp-hosted-linux | Legacy | legacy/fg-ng |
| ESP-Hosted-FG | esp-hosted-mcu | Legacy | legacy/fg-ng |
No open issues yet, or sync has not completed.