ESP-Hosted

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.

🔑 Key Features

📦 High-Level Architecture

Basic Block Diagram

🧩 ESP-Hosted Variants

ESP-Hosted is available in three main variants:

🔹 ESP-Hosted-NG (Next Gen)

Best for Linux hosts needing standard Wi-Fi and Bluetooth integration:

🔹 ESP-Hosted-FG (First Gen)

Designed for Linux hosts, with custom lightweight RPC-based control:

🔹 ESP-Hosted-MCU

Optimized for resource-constrained MCUs:

📊 Variant Comparison

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

🤔 Choosing the Right Variant

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

📚 Documentation & Resources

ESP-Hosted-NG

ESP-Hosted-FG

ESP-Hosted-MCU