esp-hosted-mcu-skill

Guides ESP-Hosted-MCU firmware development for ESP chips used as Wi-Fi/Bluetooth co-processors.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-hosted-mcu-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-hosted-mcu-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-hosted-mcu
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-hosted-mcu-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building an ESP-Hosted link between a host MCU and an ESP co-processor involves strict init ordering, matching transport configuration on both firmware images, chip-specific constraints, and many silent failure modes. This Skill grounds AI code generation in the real esp-hosted-mcu repository documentation, headers, and Kconfig symbols so the generated host and slave projects actually build and connect. ## Core Features & Use Cases - Transport bring-up recipes: Step-by-step SPI Full-Duplex, SDIO 1/4-bit, and UART link setup with pin maps, pull-up requirements, and link verification logs. - Host application recipes: Wi-Fi STA over RPC, ESP_HOSTED_EVENT handling with heartbeat-based transport recovery, co-processor BT controller enablement (v2.5.2+), GPIO expander, and DPP enrollee onboarding. - Advanced features: Co-processor OTA over the live transport, host deep-sleep power save, Network Split, Wi-Fi 6 iTWT, external coexistence (EXT_COEX), and OpenThread/Zigbee RCP. - Grounded references: Real esp_hosted_* API signatures, Kconfig symbol tables, 24+ consolidated pitfalls, and an index of the repository's example projects. - Use Case: Pairing an ESP32-P4 host with an ESP32-C6 co-processor over SDIO 4-bit — the Skill walks through slave firmware generation, host dependency setup (esp_wifi_remote + esp_hosted, removing esp-extconn), wiring with 51 kΩ pull-ups, and verifying the TRANSPORT_UP event before running Wi-Fi code. ## Quick Start Ask the AI to set up an ESP-Hosted link between your host chip and co-processor over SPI, SDIO, or UART, specifying both chip targets and the features you need such as Wi-Fi STA or Bluetooth.

Frequently Asked Questions about esp-hosted-mcu-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up ESP-Hosted between a host MCU and an ESP co-processor?

Build and flash the slave firmware first using idf.py create-project-from-example "espressif/esp_hosted:slave", selecting the transport in menuconfig. Then add esp_wifi_remote and esp_hosted dependencies to the host project, select the same transport and slave chipset, wire the pins plus Reset and GND, and flash both sides.

Which ESP chips support SDIO slave mode for ESP-Hosted?

Only ESP32, ESP32-C6, ESP32-C5, and ESP32-C61 support SDIO slave mode. ESP32-C3 and ESP32-S3 cannot act as SDIO slaves, so use SPI or UART for those chips. SDIO masters can be ESP32, ESP32-S3, or ESP32-P4.

Why does ESP-Hosted show no INIT event and keep retrying the connection?

This almost always means the host and slave selected different transports in menuconfig, or the wiring is wrong. Verify both ends use the same transport layer, check the Reset GPIO connection to the slave EN/RST pin, confirm grounds are connected, and try lowering the SPI/SDIO clock to 5 MHz.

Does ESP-Hosted support Bluetooth on the co-processor?

Yes, but since v2.5.2 the co-processor BT controller is disabled by default. The host must call esp_hosted_bt_controller_init() and esp_hosted_bt_controller_enable() after esp_hosted_connect_to_slave() and before starting NimBLE or BlueDroid. Classic BT is only available with an ESP32 co-processor.

Can I use ESP-Hosted with ESP32-P4 which has no radio?

Yes, ESP32-P4 is a host-only chip and the canonical pairing is ESP32-P4 host plus ESP32-C6 co-processor, as on the ESP32-P4-Function-EV-Board. Remove any esp-extconn dependency block from the host project before adding esp_hosted, since the two components are mutually exclusive.

When should I not use ESP-Hosted-MCU?

Do not use it for native single-chip ESP-IDF Wi-Fi or Bluetooth development without a co-processor, or for Linux hosts, which belong to the separate esp-hosted repository. UART transport is also unsuitable when you need high throughput, since it delivers roughly 0.6 Mbit/s at 921600 baud.