Clavier Wi-Fi piloté par smartphone avec un XIAO ESP32-S3
Ce guide fait partie du projet clavier USB piloté par smartphone. Il décrit la version Wi-Fi, construite avec un XIAO ESP32-S3 et pilotée depuis le navigateur du téléphone. Arduino IDE et le paquet ESP32 doivent être installés au préalable : voir Installer Arduino IDE pour les cartes XIAO.
Pour réaliser ce projet, nous allons transformer un Seeed Studio XIAO ESP32-S3 en clavier USB. Le téléphone se connectera directement à la carte en Wi-Fi et affichera une interface permettant d’écrire ou de dicter du texte.
Une fois la configuration terminée, Windows, Linux ou macOS reconnaîtra le XIAO ESP32-S3 comme un clavier USB standard.
Comment fonctionne ce clavier Wi-Fi ?

Le fonctionnement est relativement simple :
- Le XIAO ESP32-S3 est branché sur un port USB de l’ordinateur.
- Il crée un réseau Wi-Fi privé appelé « MD-Clavier ».
- Le smartphone se connecte à ce réseau.
- Le navigateur du téléphone ouvre l’adresse
http://192.168.4.1. - Une interface aux couleurs de md.lu apparaît.
- Le texte saisi ou dicté sur le téléphone est envoyé au XIAO.
- Le XIAO transmet le texte à l’ordinateur comme de véritables frappes de clavier.
Le XIAO ESP32-S3 possède un contrôleur USB natif. Il peut donc être reconnu comme un périphérique USB HID, c’est-à-dire comme un clavier ou une souris standard.
Aucun pilote particulier n’est normalement nécessaire sous Windows, Linux ou macOS.
Matériel nécessaire
Pour réaliser ce projet, il faut :
- un Seeed Studio XIAO ESP32-S3 ;
- l’antenne Wi-Fi fournie avec la carte ;
- un câble USB-C capable de transporter les données ;
- un ordinateur pour programmer la carte ;
- un smartphone ;
- le logiciel Arduino IDE 2 ;
- le programme Arduino fourni avec cet article.
Attention à ne pas confondre le XIAO ESP32-S3 avec le XIAO ESP32-C3. Pour ce projet, il faut bien utiliser la version ESP32-S3, car elle dispose du contrôleur USB nécessaire pour émuler correctement un clavier.
Connecter l’antenne Wi-Fi
Le XIAO ESP32-S3 possède un petit connecteur destiné à l’antenne Wi-Fi.
Placez le connecteur de l’antenne bien à la verticale, puis appuyez doucement jusqu’à ce qu’il soit correctement fixé.
Ce connecteur est fragile. Il faut éviter de tirer sur le câble ou de brancher et débrancher l’antenne trop souvent.
Sans cette antenne, la portée et la stabilité de la connexion Wi-Fi risquent d’être fortement réduites.
Télécharger et ouvrir le programme
Téléchargez l’archive suivante :
https://md.lu/wp-content/uploads/2026/09/clavier-wifi-md-lu-xiao-esp32s3.zip
Décompressez ensuite l’archive ZIP.
Elle contient le fichier suivant :
clavier-wifi-xiao-esp32s3.ino
Ouvrez ce fichier avec Arduino IDE.
Le programme contient :
- le serveur web ;
- l’interface pour smartphone ;
- la connexion Wi-Fi ;
- la gestion du clavier USB ;
- la disposition française AZERTY ;
- la gestion des caractères accentués les plus courants ;
- les couleurs correspondant à la charte graphique de md.lu.
Modifier le nom et le mot de passe Wi-Fi
Au début du programme, recherchez ces lignes :
const char *WIFI_NAME = "MD-Clavier";
const char *WIFI_PASSWORD = "ChangezMoi-2026";
Vous pouvez conserver le nom MD-Clavier.
En revanche, il est fortement recommandé de remplacer le mot de passe par un mot de passe personnel.
Par exemple :
const char *WIFI_PASSWORD = "VotreMotDePasseSolide";
Le mot de passe doit contenir au minimum huit caractères.
N’utilisez pas le même mot de passe que pour votre messagerie, votre routeur Internet ou un autre service important.
Personnaliser les couleurs de l’interface
L’interface reprend les couleurs principales du site md.lu :
--brand-primary: #75a0c0;
--brand-secondary: #586274;
--brand-light: #d7e5f2;
--brand-background: #f1f3f6;
Ces quatre couleurs correspondent aux éléments suivants :
brand-primary: le bleu principal de md.lu ;brand-secondary: le gris bleuté utilisé pour les textes ;brand-light: le bleu clair des boutons secondaires ;brand-background: la couleur de fond générale.
Le logo md.lu est affiché directement sous forme de texte. L’interface ne dépend donc d’aucune image externe et fonctionne même sans connexion Internet.
Sélectionner la carte dans Arduino IDE
Branchez le XIAO ESP32-S3 à l’ordinateur avec un câble USB-C capable de transmettre les données.
Dans Arduino IDE, ouvrez le menu « Outils », puis configurez les options suivantes :
- Type de carte :
XIAO_ESP32S3 - USB Mode :
USB-OTG (TinyUSB) - USB CDC On Boot :
Disabled - USB Firmware MSC On Boot :
Disabled - USB DFU On Boot :
Disabled - Upload Mode :
UART0 / Hardware CDC, si cette option apparaît - Port : sélectionnez le port correspondant au XIAO ESP32-S3
Les noms exacts peuvent légèrement changer selon la version du paquet ESP32 installée.
Le réglage le plus important est l’utilisation du mode USB-OTG avec TinyUSB. C’est ce mode qui permet au XIAO d’être reconnu comme un clavier.
Téléverser le programme
Une fois les réglages terminés :
- Cliquez sur le bouton « Vérifier » pour compiler le programme.
- Attendez la fin de la compilation.
- Si aucune erreur n’apparaît, cliquez sur « Téléverser ».
- Attendez le message confirmant la fin du téléversement.
- Débranchez le XIAO.
- Rebranchez-le sur l’ordinateur.
La carte redémarre, l’ordinateur la reconnaît comme un clavier USB et elle diffuse le réseau Wi-Fi « MD-Clavier ». Il suffit ensuite de connecter le téléphone à ce réseau avec le mot de passe choisi, puis d’ouvrir http://192.168.4.1 dans son navigateur.
À lire aussi
- Installer Arduino IDE pour les cartes XIAO : le logiciel et le paquet ESP32 nécessaires au téléversement.
- Version Bluetooth avec le XIAO nRF52840 : la même idée, avec une application Android à la place du navigateur.
Certains liens de cet article sont des liens d’affiliation Amazon : un achat effectué par ces liens rapporte une petite commission à md.lu, sans surcoût pour l’acheteur.