Feature Overview

September 4, 2026 · View on GitHub

Home · Getting Started: Linux · Getting Started: MCU · Troubleshooting

Come here after a first example works (see Getting Started). For each feature this answers: does it exist, which host path fits, and the best example to start from.


What runs where

FeatureLinuxMCUPage
Wi-Fi (STA / SoftAP / AP+STA / Scan)YesYesWi-Fi
Bluetooth / BLEYesYesBluetooth
OpenThreadNoYesOpenThread
Network SplitYesYesNetwork Split
Host Power SaveYesPower Save
GPIO ExpanderYesYesGPIO Expander
OTA & SystemYesYesOTA & System

Note

OpenThread is MCU-host only. Bluetooth/BLE works on both hosts — on Linux it runs through the kernel module and a normal host stack such as BlueZ (no ESP-Hosted BT example needed), see Bluetooth.


Reading order

If you are unsure where to begin:

  1. Get one transport path working first — Wi-Fi Station.
  2. Pick the feature you care about from the table above.
  3. Open that feature page — each links straight to its best starting example.
  4. Stuck? Check the Getting Started: MCU or Troubleshooting.

Quick summaries

Wi-Fi — Station, SoftAP, AP+STA, and scan on both hosts. On Linux, control flows through the ESP-Hosted RPC path (not a native wlan0). → Wi-Fi

Bluetooth / BLE — On Linux, the kernel module exposes a standard HCI interface and you use a normal host stack like BlueZ. On MCU, the host runs the BT stack (NimBLE or BlueDroid) and the co-processor is the controller over Hosted-HCI or standard UART-HCI. Classic BT needs an ESP32 co-processor. → Bluetooth

OpenThread — MCU host runs the Thread stack; a separate UART-connected RCP provides the 802.15.4 radio. → OpenThread

Network Split — Split networking duties between host and co-processor; route selected traffic to whichever side should handle it. → Network Split

Host Power Save — Coordinate host sleep/wake with the co-processor (pairs with network split). → Power Save

GPIO Expander — Drive and read the co-processor's GPIOs from the host over RPC. → GPIO Expander

OTA & System — Query firmware version, receive hosted events, configure transport, monitor memory, and OTA-update the co-processor. → OTA & System