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.
- Flexible Connectivity: Wi-Fi + Bluetooth/BLE
 - Broad Host Support: Works with Linux and MCU-based systems
 - Multiple Interfaces: SPI, SDIO, UART
 - Shared Networking: ESP and host can share the same IP address
 - Power Efficient: Low power modes for battery-powered use cases
 
ESP-Hosted is available in three main variants:
Best for Linux hosts needing standard Wi-Fi and Bluetooth integration:
- Acts as a native 802.11 wireless device
 - Configurable via 
cfg80211/wpa_supplicant - Supports 
NetworkManager - Bluetooth via standard HCI interface
 
Designed for Linux hosts, with custom lightweight RPC-based control:
- Ethernet 802.3 interface
 - Wi-Fi configuration via protobuf-based RPC
 - Fully customizable APIs
 - Bluetooth via standard HCI
 - Python or C integration
 - ESP maintains network when the host is powered off
 
Optimized for resource-constrained MCUs:
- Minimal memory footprint
 - Wi-Fi configuration via protobuf-based RPC
 - Power-efficient operation
 - Ready port of ESP and STM32 as host
 - Bluetooth via standard HCI
 - ESP stays connected even when the host is in deep sleep or powered off
 
| 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 | ✅ | ⌛ 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, 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 | 
