Transformer un XIAO en clavier Wi-Fi ou Bluetooth piloté par smartphone
Il est possible d’écrire sur un ordinateur depuis un smartphone sans installer de logiciel sur cet ordinateur.
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.
Cette solution peut notamment servir à :
- dicter un texte depuis un smartphone ;
- saisir rapidement un texte préparé sur le téléphone ;
- créer un clavier adapté à certains besoins ;
- écrire sur un ordinateur sur lequel aucun logiciel ne peut être installé ;
- contrôler plusieurs ordinateurs avec une interface identique.
Important : le XIAO peut écrire dans n’importe quelle fenêtre active. Pour les premiers essais, utilisez uniquement un éditeur de texte simple, comme le Bloc-notes sous Windows ou Xed sous Linux Mint.
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, comme le Honor Magic V3 ;
- 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.
Installer Arduino IDE sous Windows ou macOS
Téléchargez la version stable d’Arduino IDE depuis le site officiel :
https://www.arduino.cc/en/software/#ide
Installez ensuite le logiciel normalement, puis lancez-le.
Dans Arduino IDE :
- Ouvrez le menu « Fichier ».
- Sélectionnez « Préférences ».
- Recherchez le champ « URL de gestionnaire de cartes supplémentaires ».
- Ajoutez l’adresse suivante :
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Si une autre adresse est déjà présente, utilisez le bouton situé à droite du champ pour ajouter une nouvelle ligne.
Validez ensuite avec le bouton « OK ».
Vous pouvez alors passer directement à la section « Installer ou vérifier la prise en charge des cartes ESP32 ».
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 devrait redémarrer au
Solution en Bluetooth avec le XIAO nRF52840 Plus
Cette solution permet d’utiliser un XIAO nRF52840 Plus pour écrire sur un ordinateur depuis un téléphone Android.
Le XIAO reste branché en USB sur l’ordinateur et se présente comme un clavier. L’application Android MD’s KeyBridge transmet directement le texte à la carte en Bluetooth.
Attention : le programme Bluetooth est réservé au XIAO nRF52840 Plus. Ne téléversez pas le programme de l’ESP32-S3 sur cette carte. Les deux firmwares ne sont pas interchangeables.
Fonctionnement de la version Bluetooth
Le texte suit ce parcours :
Téléphone Android
↓
Application MD’s KeyBridge
↓
Bluetooth
↓
XIAO nRF52840 Plus
↓
USB
↓
Ordinateur
Aucune connexion Internet n’est nécessaire pour écrire, coller ou dicter du texte.
Matériel nécessaire
Pour réaliser cette version, il faut :
- un Seeed Studio XIAO nRF52840 Plus ;
- un câble USB-C capable de transmettre les données ;
- un ordinateur pour programmer puis utiliser la carte ;
- un téléphone Android, comme le Honor Magic V3 ;
- Arduino IDE 2 ;
- le firmware MD-Clavier-BLE ;
- l’application Android MD’s KeyBridge.
Télécharger les fichiers nécessaires
Deux téléchargements sont nécessaires : le firmware destiné au XIAO et l’application destinée au téléphone.
Télécharger le firmware du XIAO
Téléchargez l’archive suivante :
Télécharger le firmware MD-Clavier-BLE
L’archive contient :
clavier-bluetooth-xiao-nrf52840.ino
LISEZ-MOI.txt
Décompressez l’archive avant de poursuivre.
Télécharger l’application Android
Téléchargez l’application MD’s KeyBridge :
Télécharger MD’s KeyBridge pour Android
Décompressez l’archive sur le téléphone. Elle contient :
MDs-KeyBridge-1.0.0-test.apk
LISEZ-MOI-INSTALLATION.txt
Cette version est actuellement destinée aux essais. Elle sera remplacée par une version définitive après validation de toutes les fonctions.
Installer la prise en charge du XIAO nRF52840 Plus
Dans Arduino IDE, ouvrez « Fichier », puis « Préférences ».
Ajoutez cette adresse dans le champ « URL de gestionnaire de cartes supplémentaires » :
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
Ouvrez ensuite le gestionnaire de cartes et recherchez :
seeed nrf52
Installez le paquet :
Seeed nRF52 Boards
N’utilisez pas l’ancien paquet portant la mention « mbed-enabled » pour ce projet.
Ouvrir et téléverser le programme Bluetooth
Dans l’archive du firmware, ouvrez le fichier suivant avec Arduino IDE :
clavier-bluetooth-xiao-nrf52840.ino
Branchez le XIAO nRF52840 Plus à l’ordinateur, puis sélectionnez :
- Type de carte :
Seeed XIAO nRF52840 Plus - Port : le port USB correspondant au XIAO
Cliquez sur « Vérifier » pour compiler le programme.
Si aucune erreur n’apparaît, cliquez sur « Téléverser ».
Après le téléversement :
- débranchez le XIAO ;
- rebranchez-le sur l’ordinateur ;
- attendez quelques secondes.
La carte doit diffuser un périphérique Bluetooth appelé :
MD-Clavier-BLE
Elle doit également être reconnue par l’ordinateur comme un clavier USB.
Installer MD’s KeyBridge sur Android
Sur le téléphone :
- décompressez l’archive de l’application ;
- ouvrez le fichier
MDs-KeyBridge-1.0.0-test.apk; - autorisez temporairement l’installation depuis cette source si Android le demande ;
- confirmez l’installation.
Comme l’application est distribuée directement depuis md.lu et non depuis Google Play, Google Play Protect peut afficher un avertissement.
Dans ce cas :
- ouvrez « Plus de détails » ;
- sélectionnez « Installer quand même » ;
- terminez l’installation.
N’installez l’application que si elle a été téléchargée depuis le lien officiel présent dans cet article.
Connecter l’application au XIAO
- Branchez le XIAO sur l’ordinateur qui doit recevoir le texte.
- Activez le Bluetooth du téléphone.
- Lancez MD’s KeyBridge.
- Autorisez l’accès aux appareils Bluetooth à proximité.
- Appuyez sur « Connecter ».
- Attendez que l’application affiche « MD-Clavier-BLE connecté ».
L’ordinateur doit utiliser la disposition de clavier :
Français (France) - AZERTY
Pour les premiers essais, ouvrez un éditeur de texte simple et placez le curseur dans une page vide.
Écrire sur l’ordinateur
Dans l’onglet « Écrire », vous pouvez :
- écrire avec SwiftKey ;
- coller un passage copié depuis un article ;
- modifier le texte avant son envoi ;
- utiliser le microphone de SwiftKey pour dicter ;
- envoyer la touche Entrée ;
- envoyer un retour arrière ;
- enregistrer le texte pour le réutiliser plus tard.
Lorsque le texte est prêt :
- cliquez dans la fenêtre de l’ordinateur qui doit recevoir le texte ;
- vérifiez la position du curseur ;
- appuyez sur « Écrire sur l’ordinateur ».
Le texte est alors transmis directement au XIAO en Bluetooth, puis écrit sur l’ordinateur comme de véritables frappes de clavier.
Utiliser les textes enregistrés
L’onglet « Textes » permet d’enregistrer sur le téléphone les contenus utilisés régulièrement.
Vous pouvez notamment enregistrer :
- des instructions de dépannage ;
- des réponses destinées aux clients ;
- des procédures techniques ;
- des adresses Internet ;
- des signatures ;
- des textes fréquemment utilisés.
Ces contenus restent enregistrés uniquement sur le téléphone.
Télécharger des commandes depuis une page WordPress
L’onglet « Commandes » peut récupérer une bibliothèque depuis une page WordPress publique.
L’adresse de cette page est modifiable dans l’onglet « Réglages ».
Elle peut par exemple être :
https://md.lu/commandes-clavier/
La page WordPress doit utiliser la structure suivante :
- un titre H2 pour la catégorie ;
- un titre H3 pour le nom de la commande ;
- un paragraphe facultatif pour l’explication ;
- un bloc Code pour la commande à envoyer.
Exemple :
H2 : Windows
H3 : Vérifier les fichiers système
Paragraphe :
Analyse et répare les fichiers protégés de Windows.
Bloc Code :
sfc /scannow
Après avoir modifié la page WordPress :
- ouvrez l’onglet « Réglages » ;
- vérifiez l’adresse de la page ;
- appuyez sur « Enregistrer et synchroniser ».
Les commandes téléchargées restent ensuite disponibles sans connexion Internet.
Envoyer une commande en toute sécurité
Lorsqu’une commande est sélectionnée, MD’s KeyBridge affiche son contenu avant de l’envoyer.
L’application permet de :
- modifier la commande ;
- écrire la commande sans l’exécuter ;
- écrire la commande et envoyer automatiquement la touche Entrée ;
- annuler l’opération.
Avant tout envoi, vérifiez que le curseur se trouve dans la bonne fenêtre de l’ordinateur.
Une commande administrative doit être envoyée dans un terminal ou une invite de commandes disposant des autorisations nécessaires.
Limites et précautions
- les emojis et certains caractères rares peuvent être remplacés par un point d’interrogation ;
- l’ordinateur doit utiliser une disposition de clavier AZERTY français ;
- le XIAO peut écrire dans n’importe quelle fenêtre active ;
- vérifiez toujours la fenêtre sélectionnée avant un envoi ;
- contrôlez chaque commande avant de choisir « Écrire et exécuter » ;
- débranchez le XIAO lorsqu’il n’est pas utilisé.
Prochaine évolution : version avec écran tactile
Une future version équipée d’un écran tactile pourra afficher l’état des connexions, le mode actif et les erreurs.
Elle pourra également proposer des boutons permettant de sélectionner différents profils ou d’exécuter des actions préenregistrées directement depuis la carte.