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 | 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 |