ESP-Hosted is an open-source solution that enables Espressif SoCs/modules (like ESP32) to act as wireless communication co-processors for external host systems.
It allows host devices (Linux-based systems or microcontrollers, MCUs) to add Wi-Fi and Bluetooth/BLE capabilities via standard interfaces like SPI, SDIO, or UART.
ESP-Hosted is available in three main variants:
Best for Linux hosts needing standard Wi-Fi and Bluetooth integration:
cfg80211 / wpa_supplicantNetworkManagerDesigned for Linux hosts, with custom lightweight RPC-based control:
Optimized for resource-constrained MCUs:
| Feature | ESP-Hosted-NG | ESP-Hosted-FG | ESP-Hosted-MCU |
|---|---|---|---|
| Target Host | Linux | Linux | MCU |
| Wi-Fi Configuration | cfg80211 |
RPC (protobuf) | RPC (protobuf) |
| Network Interface | 802.11 Wi-Fi | 802.3 Ethernet | 802.3 Ethernet |
| Same IP for ESP & Host | ❌ | ✅ | ✅ |
| Power Management | ✅ | :hourglass: Planned | ✅ |
| Wi-Fi Modes | STA, AP | STA, AP, STA+AP | STA, AP, STA+AP |
| Bus Interfaces | SPI, SDIO, UART (and combos) | Same | Same |
| Wi-Fi Security | WPA, WPA2, WPA3, Open | Same | Same |
| Standards | 802.11 b/g/n/ax, BLE 4.2/5.0/5.3 | Same | Same |
| Supported ESP Chips | ESP32, C2/C3/C5/C6/C61, S2/S3 | Same | Same |
| Use Case | Recommended Variant |
|---|---|
Standard Linux Wi-Fi config (NetworkManager, wpa_supplicant) |
ESP-Hosted-NG |
| Linux with custom/proprietary control over Wi-Fi | ESP-Hosted-FG |
| Embedded Linux platforms (e.g. Raspberry Pi, BeagleBone) | NG or FG |
| Minimal resource devices (low RAM/CPU MCUs) | ESP-Hosted-MCU |
| Custom networking or duplicate stack (same IP on host & ESP) | FG or MCU |
| IoT use cases requiring both BLE and Wi-Fi | Any |
| Need for protocol customization / Deep Packet Inspection | FG or MCU |
| Classic Bluetooth support | All Variants |