À la une
ESP-Hosted-Linux : un ESP32-C5 peut désormais devenir la carte Wi-Fi 6 de votre SBC Linux
Une carte Wi-Fi pour Linux, c’est normalement un petit module PCIe, M.2 ou USB accompagné de son pilote, de son firmware et parfois d’une bonne dose de prières au moment du premier dmesg. Espressif propose une autre voie : prendre un ESP32, le connecter en SDIO ou SPI à une machine Linux et le transformer en véritable coprocesseur Wi-Fi/Bluetooth exposé comme une interface réseau classique. Le projet ESP-Hosted-Linux, séparé cet été de l’ancien dépôt ESP-Hosted pour devenir autonome, prend désormais en charge plusieurs générations d’ESP32. Avec un ESP32-C5, les mesures du projet montent jusqu’à 63,3 Mbit/s en TCP et 97,8 Mbit/s en UDP, avec en prime Wi-Fi 6 bi-bande 2,4/5 GHz. Ce n’est pas le remplaçant d’une carte Intel AX210 pour votre PC gaming, mais pour un Raspberry Pi, un SBC exotique, une machine embarquée ou un projet maison dont on veut réellement maîtriser la partie radio, l’idée est délicieusement geek.
Une carte Wi-Fi qui est en réalité un microcontrôleur
Le principe d’ESP-Hosted n’est pas totalement nouveau, mais le projet vient de gagner une nouvelle vie. Le 3 août 2026, Espressif a séparé l’implémentation Linux de son dépôt historique pour créer
ESP-Hosted-Linux, désormais développé comme projet autonome
. L’historique Git a été conservé et une documentation de migration accompagne les développeurs qui travaillaient auparavant dans le sous-répertoire esp_hosted_ng. Cette réorganisation pourrait sembler administrative, mais elle est révélatrice : Espressif traite désormais la variante Linux comme un véritable composant à part entière, avec ses propres pilotes, firmware et documentation.
L’idée est assez simple à visualiser. Votre ordinateur Linux conserve sa pile réseau habituelle, mais au lieu de parler directement à une puce Wi-Fi PCIe ou USB, il communique avec un ESP32 par SDIO, SPI ou, sur certains modèles, USB. Un firmware spécifique tourne sur l’ESP32 et gère la partie radio tandis qu’un pilote installé côté Linux expose un wlanX normal au système. Les logiciels habituels continuent donc de fonctionner : wpa_supplicant, hostapd, iw, cfg80211, nl80211 et la pile réseau Linux n’ont pas besoin d’apprendre une nouvelle API exotique. Pour Bluetooth, le projet peut également déclarer une interface HCI standard utilisable par BlueZ.
En clair, pour Linux, votre petit ESP32 finit par ressembler beaucoup plus à une vraie carte réseau qu’à une carte Arduino vaguement connectée par UART.
Pourquoi s’embêter alors qu’une clé USB Wi-Fi coûte 15 euros ?
Question légitime. Pour un PC de bureau, il existe évidemment des solutions plus simples. Mais dès qu’on quitte le monde du laptop classique pour celui des SBC, cartes ARM, robots, NAS maison et PCB custom, la situation devient beaucoup plus amusante. Certains ordinateurs monocartes n’intègrent aucun Wi-Fi. D’autres possèdent un module radio dont le firmware est pénible à obtenir, dont le pilote Linux est bancal ou dont la référence disparaît du marché six mois après la conception du produit.
Dans son retour d’expérience publié le 7 octobre sur Hackaday , Arya Voronova raconte précisément ce genre de problème et explique avoir intégré un ESP32-C6 comme coprocesseur sans-fil. La solution demande du travail — câblage SDIO, firmware et module kernel — mais elle repose sur une famille de composants extrêmement répandus, documentés et disponibles chez quantité de distributeurs. Pour quelqu’un qui conçoit sa propre carte, remplacer un obscur module Wi-Fi propriétaire par un ESP32 vendu partout possède un charme certain.
Et il y a un autre avantage rarement cité sur la boîte des dongles Wi-Fi : on peut modifier le firmware du coprocesseur. L’ESP32 n’est pas seulement une puce radio figée. C’est un véritable MCU programmable, avec ses GPIO, ses bus SPI et ses capacités de calcul. Le projet officiel se concentre sur Wi-Fi et Bluetooth, mais rien n’empêche théoriquement un bidouilleur de lui confier d’autres fonctions tant qu’il accepte de mettre les mains dans le firmware.
Le C5 devient particulièrement intéressant avec le 5 GHz
Tous les ESP32 ne se valent pas pour cet usage. ESP-Hosted-Linux prend actuellement en charge via SPI des modèles allant du classique ESP32 aux S2, S3, S31, C2, C3, C5, C6 et C61. Le SDIO est disponible sur un ensemble plus restreint comprenant notamment l’ESP32 d’origine, le C5, le C6 et le C61.
Le ESP32-C5 est toutefois un candidat particulièrement séduisant. Espressif le présente comme un microcontrôleur RISC-V capable de Wi-Fi 6 sur les bandes 2,4 et 5 GHz, accompagné de Bluetooth 5 LE et d’un contrôleur IEEE 802.15.4 exploitable pour Zigbee ou Thread dans d’autres contextes. Son CPU RISC-V peut atteindre 240 MHz et la puce est entrée en production de masse en 2025. La fiche officielle de l’ESP32-C5 confirme également la compatibilité avec les anciens modes 802.11a/b/g/n/ac.
Attention néanmoins à ne pas mélanger les capacités du silicium et celles exposées aujourd’hui par ESP-Hosted-Linux. Le C5 sait matériellement faire du Zigbee et du Thread, mais le projet Linux documenté expose actuellement principalement le Wi-Fi et le Bluetooth. Hackaday évoque justement Thread, Zigbee ou des protocoles mesh comme des extensions particulièrement intéressantes à développer, pas comme des fonctions Linux déjà disponibles d’un clic.
Presque 100 Mbit/s : pas mal pour six fils et une puce IoT
La grande question reste évidemment celle des performances. Espressif publie désormais des mesures détaillées dans la documentation de performances d’ESP-Hosted-Linux . Sur un ESP32-C5 relié en SDIO à un Raspberry Pi 5 avec une horloge SDIO de 50 MHz, le meilleur résultat consigné atteint 63,3 Mbit/s en TCP et 97,8 Mbit/s en UDP. En Wi-Fi 6 5 GHz à 20 MHz, les valeurs rapportées atteignent respectivement 54,8 Mbit/s et 68 Mbit/s sur les meilleures directions mesurées.
Il faut toutefois lire ces chiffres exactement comme Espressif demande de les lire : ce sont des maxima issus des essais du projet, pas des performances garanties. Les résultats dépendent du SBC, du noyau, du point d’accès, de la fréquence du bus, de la direction du trafic et du mode radio. Certaines informations sur les anciens tests n’ont d’ailleurs pas été conservées assez précisément pour les considérer comme un benchmark reproductible. Espressif l’indique noir sur blanc dans sa documentation.
Cela reste néanmoins largement suffisant pour beaucoup d’usages embarqués : télémétrie, Home Assistant, robotique, passerelle réseau, serveur léger, machine industrielle ou SBC chargé d’envoyer quelques flux de données. Ce n’est pas ce que vous choisirez pour télécharger Call of Duty 2034 Ultimate Complete Definitive Edition en Wi-Fi à 2 Gbit/s, mais ce n’est clairement plus non plus le débit d’un modem 56k auquel on aurait soudé une antenne.
SDIO ou SPI : même combat, mais pas la même vitesse
ESP-Hosted-Linux accepte plusieurs transports entre l’ordinateur et le coprocesseur. Le plus intéressant lorsque le matériel le permet reste SDIO, interface traditionnellement utilisée pour connecter des cartes SD mais également extrêmement courante pour les puces Wi-Fi embarquées. Elle offre plusieurs lignes de données et davantage de bande passante que SPI dans les configurations typiques du projet.
Les mesures officielles illustrent parfaitement la différence. Un ESP32-C6 branché en SDIO atteint jusqu’à 55,6 Mbit/s en TCP et 90,4 Mbit/s en UDP, contre environ 16 à 17 Mbit/s lorsqu’il passe par SPI. Pour un ESP32-C3, qui utilise ici SPI, les valeurs culminent autour de 15,8 Mbit/s TCP et 17,1 Mbit/s UDP.
Le revers est que SDIO demande un peu plus de soin matériel. Il faut disposer d’un contrôleur libre côté SBC, configurer correctement le Device Tree et respecter les contraintes électriques. Dans son montage, Hackaday recommande notamment des pistes relativement courtes, des résistances série et de pull-up et une alimentation 3,3 V capable de fournir suffisamment de courant à l’ESP32. Si votre idée du bricolage consiste principalement à enfoncer une clé USB dans le bon sens au troisième essai, il existe probablement un produit davantage adapté.
Une fois installé, Linux ne voit presque plus la différence
C’est probablement l’aspect le plus réussi de l’architecture. Le pilote ESP-Hosted-Linux s’enregistre auprès de
cfg80211
, la couche standard utilisée par les pilotes Wi-Fi Linux. L’interface apparaît alors comme un wlan0 ou wlan1 classique et peut être contrôlée avec iw, wpa_supplicant ou hostapd. Il est donc possible d’utiliser l’ESP32 comme client Wi-Fi ou comme point d’accès selon la configuration prise en charge.
Même philosophie pour Bluetooth : lorsque le transport correspondant est activé, le pilote déclare un contrôleur HCI auprès de Linux. On peut ensuite utiliser bluetoothctl, btmon et la pile BlueZ sans installer une application propriétaire Espressif chargée de réinventer tout ce que Linux sait déjà faire. Selon le matériel, les paquets Bluetooth peuvent emprunter le même bus SDIO/SPI que le Wi-Fi ou passer par un UART séparé.
Cette intégration native est précisément ce qui distingue ESP-Hosted-Linux d’un simple ESP32 auquel on aurait écrit « AT+CONNECT_WIFI » sur un port série. Le réseau continue d’appartenir au système d’exploitation hôte.
Le rêve du « Wi-Fi ouvert » mérite quand même un astérisque
Le projet possède également un argument particulièrement séduisant pour les amateurs de matériel libre : le code d’ESP-Hosted est accessible et modifiable, côté hôte comme côté coprocesseur. Le dépôt ESP-Hosted-Linux combine notamment du code sous Apache 2.0 et GPLv2 selon les composants.
Mais il ne faut pas pour autant présenter aujourd’hui un ESP32 comme une carte Wi-Fi 100 % open source jusque dans la radio. Hackaday rappelle que certaines briques RF traditionnelles du firmware Espressif restent distribuées sous forme propriétaire. Des projets communautaires travaillent depuis longtemps à libérer davantage la pile, mais nous ne sommes pas encore face à une chaîne intégralement libre du silicium jusqu’à wpa_supplicant.
La situation reste malgré tout intéressante par rapport à quantité de chipsets Wi-Fi dont l’utilisateur dépend d’un firmware opaque, d’un pilote peu maintenu et d’un fabricant susceptible de faire disparaître le produit. Avec un ESP32, au moins une partie bien plus importante de l’environnement est accessible, documentée et hackable.
Le bouton physique « plus de Wi-Fi du tout » fonctionne même plutôt bien
L’un des détails les plus sympathiques du test Hackaday concerne un interrupteur matériel de confidentialité. Sur le prototype présenté, couper réellement l’alimentation de l’ESP32 provoque naturellement la disparition du réseau, mais sans mettre le module kernel dans un état catastrophique. Lorsque l’alimentation revient, le coprocesseur peut être détecté de nouveau et la connexion rétablie. Il s’agit ici d’un retour d’expérience individuel et non d’une garantie d’Espressif pour toutes les cartes, mais le concept est extrêmement séduisant pour les appareils sensibles.
Un interrupteur qui ne demande pas gentiment au firmware d’éteindre la radio mais qui lui retire littéralement le courant reste en effet une méthode remarquablement efficace.
Difficile de contourner une politique réseau lorsque l’électronique chargée d’émettre vient physiquement de disparaître.
Tout n’est pas encore aussi propre qu’un pilote intégré au noyau
ESP-Hosted-Linux reste un projet pour utilisateurs relativement techniques. Il faut compiler et flasher le firmware correspondant sur l’ESP32, configurer le bus du SBC puis compiler le module Linux associé. La documentation officielle insiste également sur la correspondance entre les différents composants : firmware et pilote doivent provenir de versions compatibles.
Hackaday souligne également que l’intégration pourrait être améliorée côté Linux. Dans certaines configurations, le module doit encore être recompilé après une mise à niveau du kernel et réinstallé manuellement. Une intégration DKMS ou un support Device Tree plus automatisé rendrait l’expérience beaucoup plus agréable. Ce n’est donc pas encore une carte que l’on soude, démarre puis oublie pendant dix ans.
En contrepartie, le nouveau dépôt autonome montre justement qu’Espressif semble vouloir structurer davantage cette partie du projet. Il contient désormais des guides spécifiques au portage, aux différents transports, au Bluetooth, aux performances et même aux mises à jour du firmware depuis Linux.
Le véritable intérêt pourrait arriver après le Wi-Fi
Ce qui rend l’ensemble particulièrement amusant est finalement moins ce qu’ESP-Hosted-Linux fait aujourd’hui que ce qu’un tel coprocesseur pourrait devenir. Un ESP32-C5 possède Wi-Fi, Bluetooth LE et IEEE 802.15.4. Les cartes conservent également des GPIO et périphériques programmables une fois reliées au SBC. Hackaday imagine ainsi des extensions autour de LoRa, Meshtastic, MeshCore, Zigbee ou Thread et, plus généralement, un coprocesseur de communication capable de concentrer plusieurs technologies autour d’une seule liaison avec Linux. Là encore, il s’agit de possibilités et de pistes communautaires, pas de fonctionnalités promises officiellement.
Mais l’idée est excellente : plutôt que d’empiler sur un Raspberry Pi un dongle Bluetooth, une clé Wi-Fi, une clé Zigbee, un adaptateur Thread et bientôt probablement un dongle permettant de gérer les autres dongles, un microcontrôleur programmable pourrait devenir la petite boîte à outils radio de la machine.
Nous n’en sommes pas encore là.
Aujourd’hui, ESP-Hosted-Linux est surtout une manière inhabituelle mais désormais très crédible de transformer une puce IoT à quelques euros en interface réseau Linux standard.
Demain, elle pourrait devenir quelque chose de plus intéressant : une carte radio que l’on ne se contente pas d’installer.
Une carte radio que l’on peut réellement hacker.
Et franchement, pour un ESP32, c’était presque écrit dans le contrat.
Communauté
Commentaires
Aucun commentaire pour le moment. Soyez le premier à réagir.