finds.dev← search

// the find

esp32-open-mac/FoA

★ 263 · Rust · MIT · updated May 2026

Ferris-on-Air: An experimental IEEE 802.11 (WLAN) stack for rust on the ESP32.

An async Rust 802.11 stack for the ESP32, built on top of the esp32-open-mac reverse-engineered MAC layer and the embassy async runtime. It multiplexes hardware access across virtual interfaces so you can run STA and AP modes concurrently. Very early days — this is research code, not a production Wi-Fi driver.

The VIF multiplexer design is the right abstraction: plugging in foa_sta or foa_awdl as separate crates that share the same hardware without fighting over it is cleaner than most embedded Wi-Fi architectures. AWDL support is a rare find — Apple's proprietary peer-discovery protocol on a $5 chip is genuinely impressive. The async-first design with embassy means you're not polling in a busy loop or fighting FreeRTOS task scheduling. Apache/MIT dual-license with no Espressif SDK dependency means you actually own what you ship.

Station support is described as 'rudimentary' and there's no WPA3 or enterprise auth in sight — if you need anything beyond basic WPA2-PSK home Wi-Fi, you're writing it yourself. The project structure with separate Cargo workspaces per crate (foa, foa_sta, foa_awdl, examples all have their own Cargo.lock) suggests the API is still unstable enough that they don't want cross-crate version pinning to be a commitment. 263 stars and 5 forks means the community is watching but not contributing — you will be debugging alone when the LMAC does something unexpected. No CI visible in the repo tree, so there's no guarantee the examples even build against the current codebase.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →