La Wemos D1 Mini est une carte de développement pour objets connectés basée sur le module ESP8266 ESP-12E développée par la société du Wemos CC. Vous pouvez vous la procurer entre 2,90€ et 5€ sur aliexpress ou Banggood. Comme pour toutes les cartes Arduino, vous trouverez également de nombreux clones qui fonctionne parfaitement.
Nouveautés Wemos à découvrir : D1 Mini Pro, Wemos XI, Shield SHT30
Cette petite carte est vraiment très pratique à programmer et à utiliser. La programmation pourra se faire directement depuis l’IDE Arduino ou en Lua (à l’aide d’ESPlorer déjà présenté dans cet article) en la branchant à l’ordinateur à l’aide d’un câble USB. Sur Mac OS X, elle est reconnue immédiatement sur le port /dev/cu.wchusbserialfaxxxx. Si vous rencontrez des problèmes, il est toutefois possible d’installer manuellement le drivers CH340. Vous pouvez le récupérer ici. Pour Windows, vous trouverez également le drivers CH340 ici en cas de besoin.
Cartes à empiler et accessoires pour Wemos D1 mini
Wemos (et d’autres fabricants) a également développé des shields d’apprentissages / prototypage qui viennent s’empiler sur la carte (les borniers à souder sont livrés avec la carte, à vous de choisir celui qu’il vous faut au moment de la soudure).
Broche (Pin) | ||
Carte ESP8266 Wemos D1 Mini
Entre 2,90€ et 4,42€ en Asie (livraison entre 3 à 5 semaines). Environ 8€ depuis l’Europe. |
||
Alimentation 5/3A micro-usb
L’ESP8266 est sensible à la qualité de l’alimentation (risque de plantage). Une alimentation de qualité est recommandée. |
||
Chargeur pour batterie LiPo avec connecteur micro USB. Connecteur batterie à la norme JSH XH2-2.54mm | ||
Relais 1 sortie 250VAC/10A ou 30VDC/10A. Accessible sur la broche D1 (GPIO5) | D1 | |
1-Button, bouton connecté | ||
DHT11 : mesure de température et d’humidité. Shield non officiel
Librairie Adafruit : https://github.com/adafruit/DHT-sensor-library. Tutoriel : librairie DHT.h |
D4 | |
DHT22 mesure de température et d’humidité à l’aide. Shield non officiel
Librairie Adafruit : https://github.com/adafruit/DHT-sensor-library. Tutoriel : présentation, code Arduino, ESP Easy |
D4 | |
SHT30 : mesure de température et humidité sur le bus I2C | D1 – SCL
D2 – SDA |
|
DHT12 : nouveau shield officiel permettant la mesure de température et humidité sur le bus I2C. | D1 – SCL
D2 – SDA |
|
Ecran OLED SSD1306 I2C 64×48 pixels.. Guide complet sur les librairies pour utiliser un écran OLED. | D1 – SCL
D2 – SDA |
|
Lecteur de carte micro SD (idéal pour fabriquer un mini enregistreur de données) | D5 – CLK D6 – MISO D7 – MOSI D8 – CS |
|
Platine de prototypage | ||
Base double. Permet d’installer une Wemos sur un emplacement (et de superposer un shields). Un 2nd emplacement permet d’installer un 2nd shields. | ||
Base triple | ||
Driver I2C pour piloter 2 moteurs (15 VDC max.)
Environ 2,85€ (hors frais de port) |
D1 – SCL
D2 – SDA |
|
Alimentation DC 7 à 24 Volts (1A max.) | ||
Led RGB pilotée par un contrôleur WS2812B. Fonctionne avec la librairie Adafruit Neopixel |
D2 | |
Matrice de Led 8×8 |
Toutes les promos sur les shields officiels




Caractéristiques de la Wemos d1 mini
Toute la documentation technique
Micro-contrôleur | ESP-8266EX |
WiFi | 802.11 b/g/n |
Tension de fonctionnement | 3.3V |
Digital I/O Pins | 11 |
Entrée analogique | 1 (3.2V max.) |
Fréquence | 80MHz/160MHz |
Flash | 4M bytes |
Longueur | 34.2mm |
Largeur | 25.6mm |
Poids | 10g |
Port USB | micro USB |
Puissance Max. | 5V via le port USB ou le Pin 5V sur la carte |
Reset | Un bouton de Reset qui ré-initialise 5V, 3.3V et GND |
Et le repérage des Pins
Pin sur la carte | Fonction | Correspondance ESP-8266 |
TX | TXD | TXD |
RX | RXD | RXD |
A0 | Analog input, max 3.3V input | A0 |
D0 | IO | GPIO16 |
D1 | IO, SCL | GPIO5 |
D2 | IO, SDA | GPIO4 |
D3 | IO, 10k Pull-up | GPIO0 |
D4 | IO, 10k Pull-up, BUILTIN_LED | GPIO2 |
D5 | IO, SCK | GPIO14 |
D6 | IO, MISO | GPIO12 |
D7 | IO, MOSI | GPIO13 |
D8 | IO, 10k Pull-down, SS | GPIO15 |
G | GND | GND |
5V | 5V | – |
3V3 | 3.3V | 3.3V |
RST | Reset | RST |
Attention, comme tous les modules ESP8266, ne dépassez pas une tension de 3.3V sur les IO.
Toutes les broches supportent les interruptions, le PWM, la communication I2C et One-Wire sauf la broche D0.
Comment utiliser la Wemos D1 mini avec l’IDE Arduino
La Wemos D1 Mini s’utilise comme toutes les cartes ESP8266. Commencez par configurer l’IDE Arduino. Ouvrez les Préférences et ajoutez le dépôt vers la librairie esp8266.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Allez dans le gestionnaire de carte et cherchez esp8266, puis cliquez sur installer.
Dans la liste des cartes, choisissez WeMos D1 R2 & Mini dans la liste ESP8266 Modules.
Pour ma part j’ai du opter pour une vitesse d’upload de 115200 bauds. Si vous rencontrez des problèmes, voici quelques pistes :
- Faites un Reset,
- Débranchez puis rebranchez la carte,
- Retirez la carte du montage (surtout à la première utilisation).
Cette carte est livrée avec un série d’exemples que vous pouvez télécharger sur github ici. Placez le répertoire dans votre dossier Arduino et relancez l’IDE pour actualiser la liste des exemples. Une section est dédiée aux shields :
- 1 Button : bouton connecté
- DHT pro : pour le DHT22
- DHT : pour le DHT11
- Micro SD : lecteur de carte SD
- Relay : commande de relai 10A – 230V (courant alternatif) ou 10A – 30V (courant continu)
- WS2812B : pilote pour bandeau de LED RVB
Concernant le repérage des broches dans le code Arduino, on peut utiliser la référence de la broche indiquée sur la carte directement dans le programmes Arduino (par exemple D2 à la place de 4). Si vous souhaitez que votre programme puisse fonctionner indifféremment sur un Arduino ou un ESP, le mieux est de continuer à utiliser les références Arduino.
Cet article sur le même thème peut aussi vous intéresser
Comment utiliser les interruptions
Par rapport à un Arduino Uno qui ne possède que 2 interruptions, on peut brancher une interruption sur toutes les broches de Wemos D1 Mini, à l’exception de la broche D0 qui est réservée au sleep mode.
Avec l’IDE Arduino, utilisez comme d’habitude les fonctions attachInterrupt et detachInterrupt.
Pour attacher une interruption : attachInterrupt (interruption, fonction, mode)
- interruption : Indiquer la broche sur laquelle est branchée l’interruption, par exemple 4 pour la broche D4 de la Wemos.
- fonction : La fonction appelée lorsque l’interruption est déclenchée
- modes :
- LOW : l’interruption se déclenche lorsque la broche est au niveau BAS
- CHANGE : l’interruption se déclenche lorsque la broche change d’état BAS/HAUT
- RISING : l’interruption se déclenche lorsque la broche passe de l’état BAS vers HAUT (front montant)
- FALLING : l’interruption se déclenche lorsque la broche passe de l’état HAUT vers l’état BAS (front descendant)
Détacher une interruption : detachInterrupt(broche ou numéro de l’interruption).
Programmer la Wemos D1 Mini en Lua
Pour ceux qui préfèrent le Lua et NodeMCU, vous pouvez programmer la Wemos dans ce langage. Je vous conseil d’utiliser ESPlorer, un programme écrit en Java que je vous ai déjà présenté dans cet article. Pour réinstaller le firmware d’origine, suivez cet article.
Développer sans programmation avec ESP Easy
Enfin, la Wemos se prête très bien à l’utilisation du firmware ESP Easy. ESP Easy permet de faire des mesures, commander des actionneurs, communiquer avec un serveur domotique ou un service en ligne très simplement. Pour tout savoir sur ESP Easy, suivez ce guide complet.
Tutoriels et projets DIY à base de Wemos d1 mini
Vous pouvez commencer par lire ce tutoriel si vous débutez dans la programmation des modules ESP8266 avec du code Arduino. Voici ensuite tous les tutoriels et projets DIY développés à l’aide de la WeMos d1 mini.
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- ESP32-CAM. Broches et équipements ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- ESP32-CAM. Quel modèle choisir ? ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu
- ESP32-CAM. Souder l’antenne externe pour améliorer la portée et la stabilité du flux vidéo
- 5 astuces pour ESP32-CAM. Adresse IP fixe. Mode AP. Rotation image 90°. Récupération automatique connexion WiFi. stockage du code HTML
- ESP32-CAM. Migrer le projet CameraWebServer pour l’IDE Arduino vers PlatformIO
- Jusqu’à 66% de réduction sur les cartes de développement et montres ESP32 TTGO chez Banggood
- Nouveau ESP32-C3, la relève des ESP8266 et ESP01 est là !
- 🛍 Black Friday 2020. Imprimantes 3D en #PROMO sur Aliexpress
- Nouveautés, projets, tutoriels domotique et objets connectés en novembre 2020
- 🛍 Black Friday 2020. Coupon #PROMO sur les imprimantes 3D chez Gearbest
- 🛍 Black Friday 2020. Jusqu’à -33% sur les accessoires domotiques Netatmo sur Amazon
- Nouvelle TTGO T5-4.7 ESP32 avec écran ePaper et support batterie 18650
- 🛍 Raspberry Pi 4 2Go ou 4Go en #PROMO chez Gearbest à partir de 39,75€
- Waveshare lance deux bundles Raspberry Pi 400 + écran tactile 7″ ou 13,3″
- Nouveau M5PAPER ESP32 de M5Stack. Dashboard domotique ePaper tactile ou IoT
- T-Watch. Code simplifié pour extinction et réveil avec BMA423 ou AXP202 de l’ESP32
- T-Watch. Mise en veille et réveil de l’ESP32 avec accéléromètre BMA423 ou AXP202
- T-Watch. Menu, pages, navigation entre écrans avec TFT_eSPI
- T-Watch. Dessiner des fractales de Mandelbrot ou Julia avec un ESP32
- T-Watch. Afficher des images XBM (TFT_eSPI) et C++ (LVGL). Compatible ESP32, Arduino
- T-Watch. Mixer les librairies LVGL et TFT_eSPI dans un même projet ESP32
- T-Watch. Débuter avec la librairie ESP32 TFT_eSPI. Afficher texte, formes, détection tactile
- T-Watch. Créer votre 1er projet ESP32 avec la librairie LilyGoWatch (IDE Arduino ou PlatformIO)
- TTGO T-Watch ESP32. Quel modèle choisir ? Cartes d’extension disponibles
- T-Watch et T-Block. Repérage des broches du Core PCB ESP32 et des cartes d’extension
- T-Watch 2020. Repérage des broches et spécifications de la montre connectée ESP32 TTGO
- Microscope motorisé avec caméra HQ pour Raspberry Pi et interface HTML
- Flask + Bootstrap. Interface HTML pour projets Python sans effort
- Piloter un moteur pas à pas Nema 17 avec la librairie RpiMotorLib Python pour A4988
- Ouvrir une page HTML au démarrage de Raspberry Pi OS avec Chromium Browser en plein écran (mode kiosk)
- Stocker des données sur une carte micro SD. Code Arduino compatible ESP32, ESP8266
- 4 solutions pour ajouter des E/S à un projet Arduino, ESP8266, ESP32, ESP8266, Raspberry Pi. ADS1115, MCP23017, PCF8574, PCA9685
- Nouveautés, projets, tutoriels domotique et objets connectés du 2 octobre 2020
- Débuter Arduino. Recevoir des commandes depuis le port série (compatible ESP32 ESP8266)
- Fonctions C++ print•println•printf•sprintf pour Arduino ESP32 ESP8266. Combiner•formater → port série
- String C++. concat•c_srt•indexOf•replace•subString… pour Arduino ESP32 ESP8266
- ESP32. Utiliser les Timers et alarmes avec du code Arduino
- ESP32. Utiliser les interruptions externes avec du code Arduino
- ESP32. Utiliser les entrées / sorties numériques du GPIO avec du code Arduino
- ESP32. Comment utiliser la librairie WiFiManager pour gérer les connexions WiFi
- ESP32. Comment se connecter au réseau WiFi local avec du code Arduino
- Nouveautés, projets, tutoriels domotique et objets connectés du 14 au 18 septembre 2020
- ESP01. Débuter avec l’IDE Arduino ou PlatformIO. Quel module choisir ? Repérage des broches
- Comment attribuer une IP fixe à un projet ESP32 ESP8266 ou ESP01
- ESP01. Quel programmeur choisir ? Modification pour passer en Flash Mode
- Développer avec PlatformIO. Problèmes et solutions
- Platformio.ini, astuces et paramètres utiles. data_dir, monitor_speed, upload_port…
- Résumé de la semaine domotique et objets connectés du 7 au 11 septembre 2020
- ESP32. Stocker des données temporaires dans la mémoire RTC durant la mise en veille
- ESP32. Code Arduino pour mise en sommeil (Deep Sleep) et réveils (Timer, Touch Pad, GPIO…)
- Débuter avec ArduinoJSON v6, librairie Arduino pour manipuler des objets JSON
- Résumé de la semaine du 31 Août au 4 septembre 2020.
- ESP32 Sketch data upload pour IDE Arduino. Téléverser des fichiers SPIFFS sur la mémoire flash
- ESP32. Débuter avec la librairie SPIFFS.h pour lire, écrire, modifier des fichiers
- ESP32. Accéder aux fichiers SPIFFS en FTP avec la librairie ESP8266FtpServer
- TensorFlow Lite Micro est disponible pour ESP32 et ESP32-EYE (ESP32-CAM)
- 🛍 Accessoires Xiaomi Aqara ou Mijia en #PROMO. Ampoules connectées, détecteur de mouvement, ouverture et fuite d’eau, sondes température, humidité, fuite d’eau…
- Débuter avec le bus I2C sur Arduino ESP8266 ESP32. Librairie Wire.h
- Résumé de la semaine du 24 au 28 Août 2020
- Promos Aliexpress Back to School rentrée 2020. Raspberry Pi 4, ESP32, ESP32-CAM, imprimantes 3D
- Nouveaux STM32WL LoRa et STM32WB avec Bluetooth Zigbee et OpenThread
- Nouvelle librairie multitâche HeliOS pour Arduino AVR, SAM et SAMD
- Ventes flash et promos rentrée 2020 chez Gearbest. Domotique, imprimantes 3D, objets connectés
- Ventes flash Amazon rentrée 2020. Domotique, objets connectés, impression 3D, caméras IP…
- ESP32-PICO-V3-ZERO, développement rapide de produits Alexa Connect Kit
- Adresses I2C des capteurs et actionneurs les plus courants
- Test caméra thermique AMG8833/AMG8831 avec du code Arduino. Capteur infrarouge matriciel 64 points
- ESP8266. Téléverser le dossier data (SPIFFS ou LittleFS) depuis PlatformIO
- Migrer un projet de l’IDE Arduino vers PlatformIO. ESP32, ESP8266 ou autre
- ESP8266. Téléverser avec LittleFS Data Upload pour IDE Arduino
- ESP8266. Utiliser la librairie LittleFS pour lire, écrire, modifier des fichiers
- ESP8266. Comment lire, écrire, effacer l’EEPROM. Calculer l’espace nécessaire en bytes
Mises à jour :
- 2/06/2016 : comment utiliser les interruptions dans le code Arduino
- 03/09/2016 : nouveaux shields : chargeur de batterie LiPo, base double
- 8/02/2017 : repérage des broches des shields
- Débuter avec le BH1750 (GY-302), mesurer la qualité de l’éclairage de votre habitation (Arduino/ESP8266/ESP32)
- WeMos disparait, nouvelle gamme LoLin 2019
- ESP8266, activer le mode Deep Sleep, réveil (wake up) avec un détecteur de mouvement PIR
- Nouvelle Wemos LoLin d1 mini Pro, ESP8266EX 16MB, connecteurs IPEX, I2C, batterie LiPo
- Wemos LoLin D32 Pro ESP32 avec support écran TFT, connecteur et chargeur batterie LiPo et lecteur de carte SD
- CCS811 IAQ, test du capteur de qualité de l’air TVOC, eCO2 bus i2C (Arduino, ESP8266)
Bonjour,
Par manque de sortie, pour un Wemos mini peut on commander la pin Reset ou est ce malheureusement qu’une entrée ?
Merci d’avance.
L’Arsène.
bonjour j’ais besoin d’ aide j’ais envoyer les codes sur ma wemos mini mais sur le moniteur il affiche toujours des 1
sans que rien ne soi brancher sur la pin 4 il devrais m’afficher des 0
void setup()
{
pinMode(4, INPUT);
Serial.begin(9600);
}
void loop()
{
Serial.println(digitalRead(4));
delay(1000);
}
Bonjour Ludovic. Quelque chose est branché sur la broche 4 ? S’il n’y a rien ce n’est pas anormal, il faudrait au moins relier un switch pour fermer le circuit.
Bonjour,
Merci pour votre travail. J’ai aussi une petite question : est-il possible d’alimenter la wemos mini d1 avec une Lipo 3.7v via les broches GND et 5V.
Je travail sur un projet où l’espace est trop contraint pour utiliser une carte fille pour gérer la Lipo. J’ai bien compris qu’il n’est pas possible de passer par la broche 3V3 mais puis-je utiliser la broche 5V qui sera régulé plutôt que de faire un pont diviseur de tension ?
Bonjour Yoan, non ce n’est pas possible. Pour gagner en compacité, vous pourriez utiliser un connecteur micro usb à souder, en voici quelques uns http://s.click.aliexpress.com/e/meyZJeQ. Le GND se trouve sur la broche 1, le +5V sur la broche 5 (les extrémités en fait).
Merci,
J’ai sacrifié des câbles USB pour gagner du temps. Je fais mes tests ce soir.
Bonjour,
Merci pour vos tutos ! j’ai une petite question, J’ai un Wemos d1. J’ai généré un firmware avec https://nodemcu-build.com/ en juillet et ça marche très bien.
Par contre j’en ai regeneré en Aout et quand je le flash et que je redémarre le Wemos : la LED bleue clignotte en continu, et je ne peux rien faire du Wemos.
J’ai reflashé avec esptool.py le esp_init_data_default.bin du dernier SDK mais ça ne change rien…
du coup, je me dis qu’il faut peut-être que je fasse :
====================
Appuyez et maintenez appuyé le bouton GPIO0. La Led s’allume à pleine puissance
Appuyez sur le bouton Reset
Relachez le Reset
Relâchez le bouton GPIO. La led éclaire à demi. L’ESP8266 est en « bootload mode »
=======================
Mais je ne sais pas ce que vous appellé le bouton GPIO0 ? est-ce qu’il faut juste mettre la PIN GPIO0 à GND ?
je vous remercie d’avance.
Bonjour loukos. Avez-vous essayé de débrancher la Wemos de l’ordinateur avant de relancer le flashage ? Quelque fois, le flashage (ou le téléversement d’un programme Arduino) peut échouer si la carte est reliée à son circuit. Je ne connais pas la cause exacte, mais en tout cas en retirant la carte du circuit, généralement tout re-fonctionne. Par contre pour la Wemos, inutile de toucher au GPIO0 comme sur l’ESP01. Voilà, j’espère que tout ira bien mais je ne m’inquiète pas trop, pour rédiger les articles, j’ai fait beaucoup de tests, sans jamais rien casser. Bon courage.
Bonjour Projets DIY,
Après une semaine bien pourrie à m’arracher les cheveux, j’ai trouvé la solution :
j’utilise esptool.py et il faut bien utiliser les paramètres : -fm dio -fs 32m
– et comme https://nodemcu-build.com/ utilise le SDK 1.5.4.1 il faut s’assurer d’envoyer le esp_init_data_default.bin correspondant.
– et comme vous me l’indiquiez, pas de manip’ à faire pour passer en bootload mode.
Merci, bonne journée. On peut enfin passer à la suite !
Bonne nouvelle. Merci d’avoir partagé l’info, ça devrait servir à beaucoup d’autres. À très bientôt !