ESP-Hosted Turns ESP32 Into Linux WiFi/BT Adapter
While USB WiFi adapters are common, embedded devices often use SDIO WiFi cards due to their lower power consumption, lack of need for a USB port, and the widespread availability of the SDIO interface. However, SDIO cards and modules are typically obscure and proprietary. Enter ESP-Hosted, Espressif’s firmware and driver combination for the ESP32, which turns your ESP32 into a WiFi module for either Linux computers (ESP-Hosted-NG) or MCUs (ESP-Hosted-FG). Specifically, ESP-Hosted-NG allows your SPI- or SDIO-connected ESP32 (including models like -S2, -S3, -C2, -C3, and -C6) to function as a WiFi card that is natively supported by the Linux network stack, offering a more seamless integration compared to an AT command mode setup.
This concept isn’t entirely new, as similar repurposing has been done with the ESP8266 by using an ESP8089 driver from online sources to create a $2 WiFi adapter for devices like the Raspberry Pi. However, the ESP-Hosted project is officially supported by Espressif and works across the entire ESP32 lineup via an SDIO or even SPI interface. It supports 802.11b/g/n WiFi and Bluetooth up to BLE5, either over an additional UART channel or the same SDIO/SPI channel. This means you can also get BT audio over I2S. If you have an available SPI/SDIO port and an ESP32 module, this could be the ideal WiFi solution for your Linux project.
There are some limitations, such as the inability to operate in AP mode in the NG (Linux-compatible) version. Additionally, parts of the firmware include binary blobs, but much of the firmware and all of the driver are modifiable. This makes it more flexible than Broadcom’s proprietary Raspberry Pi WiFi chip, even if it’s not fully open-source. The documentation is extensive, and there are features like raw transport layer access. Notably, the project supports the ESP32-C6, allowing for a RISC-V-based WiFi adapter in your projects.
Overall, the ESP-Hosted project by Espressif offers a powerful and flexible solution for adding WiFi and Bluetooth capabilities to Linux computers and MCUs via the ESP32, with considerable customization potential and support for modern wireless standards. The combination of ease of use, documentation, and the ability to modify the driver and parts of the firmware makes it a compelling choice for developers looking to integrate wireless connectivity into their projects.
Read more: ESP-Hosted Turns ESP32 Into Linux WiFi/BT Adapter