Hackaday · Creativity & design
ESP32 as a Linux Wireless Co-processor
A novel approach uses ESP32 modules to provide wireless connectivity for Linux SBCs, addressing limitations of proprietary WiFi solutions.

The esp-hosted project uses ESP32 modules as WiFi/Bluetooth cards for SBCs via SDIO or SPI, offering a more open-source alternative.
Two projects exist: esp-hosted-mcu (ESP32 as self-sufficient MCU) and esp-hosted-linux (ESP32 as proxy). This guide focuses on esp-hosted-linux for its native Linux behavior.
Setup requires a Linux SBC with an SDIO/SPI port and a supported ESP32 (e.g., ESP32-S2 to -C6/C61). SDIO is faster. Proper wiring, pull-up resistors, and 3.3V power (300-400mA) are crucial.
Steps include freeing the SBC's interface, compiling/flashing ESP32 firmware, and compiling/loading the Linux driver. Firmware can be pre-compiled or downloaded.
The Linux driver can be compiled on the SBC, with adjustments for low-RAM systems. It can be copied to kernel modules for easier loading and auto-boot.
Limitations include manual driver updates after kernel upgrades and 40-50 Mbps throughput. DKMS support is desired.
This solution is promising for Bluetooth over SDIO, power switch handling, and potential for fully open-source WiFi. ESP32's spare pins could enable other protocols like LoRa or Zigbee.
AI-samenvatting op basis van de bron.
Hackaday