Accueil | ESP8266 - ESP32 | Wemos D1 mini : carte ESP8266 polyvalente à 5€

Wemos D1 mini : carte ESP8266 polyvalente à 5€

La Wemos D1 Mini est une carte 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)
esp8266 Wemos D1 miniCarte ESP8266 Wemos D1 Mini

Entre 2,90€ et 4,42€ en Asie (livraison entre 3 à 5 semaines). Environ 8€ depuis l’Europe.

chargeur raspbery pi 3 5v 3000maAlimentation 5/3A micro-usb

L’ESP8266 est sensible à la qualité de l’alimentation (risque de plantage). Une alimentation de qualité est recommandée.

wemos d1 mini shield batterie lipoChargeur pour batterie LiPo avec connecteur micro USB. Connecteur batterie à la norme JSH XH2-2.54mm

environ 2,20€

wemos d1 mini relai shieldRelai 1 sortie 250VAC/10A ou 30VDC/10A. Accessible sur la broche D1 (GPIO5)

environ 3,2€

D1
wemos d1 mini one button shield1-Button, bouton connecté

environ 1,95€

wemos d1 mini dht11 shieldDHT11 : mesure de température et d’humidité.

environ 2,70€

Librairie Adafruit : https://github.com/adafruit/DHT-sensor-libraryTutoriel : librairie DHT.h

D4
wemos d1 mini dht22 shieldDHT22 mesure de température et d’humidité à l’aide.

à partir de 2,77€

Librairie Adafruit : https://github.com/adafruit/DHT-sensor-libraryTutoriel : présentation, code Arduino, ESP Easy

D4
SHT30 : mesure de température et humidité sur le bus I2C

environ 2,90€

Librairie et exemple sur GitHub

D1 – SCL

D2 – SDA

wemos d1 mini oled shieldEcran OLED SSD1306 I2C 64×48 pixels.. Guide complet sur les librairies pour utiliser un écran OLED.

environ 4,40€

D1 – SCL

D2 – SDA

wemos d1 mini microsd shieldLecteur de carte micro SD (idéal pour fabriquer un mini enregistreur de données)

environ 2,60€

D5 – CLK
D6 – MISO
D7 – MOSI
D8 – CS
wemos d1 mini proto shieldPlatine de prototypage

environ 0,70€

wemos d1 mini dual baseBase double. Permet d’installer une Wemos sur un emplacement (et de superposer un shields). Un 2nd emplacement permet d’installer un 2nd shields.

Environ 0,95€

wemos d1 mini motor shield i2cDriver I2C pour piloter 2 moteurs (15 VDC max.)

Environ 2,85€ (hors frais de port)

D1 – SCL

D2 – SDA

wemos d1 mini shield dc powerAlimentation DC 7 à 24 Volts (1A max.)

Environ1,80€ (hors frais de port)

wemos shield rbg led ws2812b adafruit neopixel libraryD2

Caractéristiques de la carte

Toute la documentation technique

Micro-contrôleurESP-8266EX
WiFi802.11 b/g/n
Tension de fonctionnement3.3V
Digital I/O Pins11
Entrée analogique1 (3.2V max.)
Fréquence80MHz/160MHz
Flash4M bytes
Longueur34.2mm
Largeur25.6mm
Poids10g
Port USBmicro USB
Puissance Max.5V via le port USB ou le Pin 5V sur la carte
ResetUn bouton de Reset qui ré-initialise 5V, 3.3V et GND

Et le repérage des Pins

Pin sur la carteFonctionCorrespondance ESP-8266
TXTXDTXD
RXRXDRXD
A0Analog input, max 3.3V inputA0
D0IOGPIO16
D1IO, SCLGPIO5
D2IO, SDAGPIO4
D3IO, 10k Pull-upGPIO0
D4IO, 10k Pull-up, BUILTIN_LEDGPIO2
D5IO, SCKGPIO14
D6IO, MISOGPIO12
D7IO, MOSIGPIO13
D8IO, 10k Pull-down, SSGPIO15
GGNDGND
5V5V
3V33.3V3.3V
RSTResetRST
Correspondance Pins GPIO WeMos D1 mini
Correspondance des Pins de la Wemos D1 Mini

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.

Attention. Ne dépassez pas 3.3 Volts pour alimenter la carte sur la broche 3V sont peine de détruire la carte

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.

 

IDE Arduino 1.6.8 esp8266 package

Allez dans le gestionnaire de carte et cherchez esp8266, puis cliquez sur installer.

IDE Arduino 1.6.x ajouter carte esp8266

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

wemos d1 mini exemples github

 

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.

 

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 : broches des shields

  • Ioukos

    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.

      • Ioukos

        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 !