If you remember, we have already introduced the ESP8266 chip, a very practical WiFi connectivity IC to use in your Arduino projects. Now it’s the turn of Wemos D1, a board that includes this same chip and is also quite practical for many DIY projects. If you want, you can get documentation about this board from Wemos’ official website, and you can access it from here.
I recommend you to see our article about the ESP8266 that I have put in the previous link, because otherwise, when you start with Wemos D1 you will be a bit more lost if you don’t have a base. You should also see our other guide about NodeMCU, which has a lot of relation with ESP8266 and with this other component that we are dealing with today. In these two articles you will also get code examples to be able to program ESP8266, the necessary libraries for Arduino IDE, etc.
It is a Chinese brand that manufactures this type of electronic development boards and their shields from its official website. Among his outstanding products, you can find the Wemos D1 board.
There are two very interesting boards provided by Wemos, one of the Wemos D1 and the other is its smaller sister Wemos D1 Mini, which is smaller, or other more expensive versions like the Pro (with 16M of flash instead of 4M), etc. For many, it is one of their favorite development boards for the ESP8266 chip, even above NodeMCU, or other modules with ESP8266, for certain applications.
In the NodeMCU and ESP8266 article I have quoted, you can learn that the ESP8266 chip can be integrated into various modules such as ESP12, ESP12E, etc. In the case of the Wemos D1 Mini, is a bit bigger than using directly an ESP12 without more, with dimensions of 34.2×25.6mm and 3 grams of weight.
But if you use the ESP12 peeled, you’ll have a lot of shortcomings. With the Wemos D1 Mini you have advantages and extras like a microUSB port and serial converter for your connection. It also includes a voltage regulator to feed it directly from the 5V Arduino socket, and the internal circuitry will take care of passing those volts to the voltage that the module really needs.
Another advantage of the Wemos products is that they allow to extend their functionalities with shields, which exist in great quantity to control motors (drivers), relay modules, OLED screens, temperature and humidity sensors, PIR, buttons, etc. That is to say, it provides many facilities to use these components with control from Internet or in network WAN.
Although is not all advantages, against it has a lower number of pins available, with 11 GPIOs against the 17 you have in other modules like ESP12 or NodeMCU. However, this shouldn’t be a major problem, as many projects don’t need more than these 11 pins, although it all depends on what each user needs…
Features, pinout, and prices
As it is based on the ESP12E, it shares characteristics, therefore, I make you a summary here:
- It works at speeds of 80 to 160Mhz.
- 4 MB of flash memory
- 3.3v power supply, although it has a converter to be able to feed it with the 5V of Arduino if you want.
- 11 GPIO, all with PWM except D0.
- I2C bus
- Analog inputs 1 (3.2v max)
- microUSB connector
The price of about 2 ?, up to 20 ?, depending on the model. You can find it in many specialized shops and online. So you can have a very very cheap Wemos D1 Mini, more than NodeMCU and just a little bit over the price of an ESP12E module without any other extras…
To buy these products and their shields, Wemos offers a section of Shop Online, but it redirects you to AliExpress, so it is the one where it is officially distributed.
The pinout of a Wemos D1 Mini basic board is:
- TX: it is connected to the TXD of the ESP8266, for TXD.
- RX: it is connected to the RXD of the ESP8266, for RXD.
- A0: connected to the pin with the same name as the analog input.
- D0: it is the GPIO16 of the module, and it is used as I/O.
- D1: it is the GPIO5 of the module, as I/O, PWM, Interrupt, I2C and SCL.
- D2: the GPIO4, for I/O, PWM, Interrupt, I2C, SDA.
- D3: to GPIO0, for I/O with 10K pull-up resistor, PWM, Interrupt and I2C.
- D4: to GPIO2, same as above, but adds BUILTIN_LED
- D5: to GPIO14, for I/O, PWM, Interrupt, I2C and SCK.
- D6: to GPIO12, same as above, but instead of SCK for MISO.
- D7: to the GPIO13 of the ESP12, same as the previous one.
- D8: to GPIO15, for I/O with 10K pull-down resistor, PWM, Interrupt, I2C and SS.
- G: is the GND (ground), the earth connection.
- 5V: for power supply.
- 3V3: for power supply 3.3v.
- RST: connected to RST, i.e. for reset.
To get a datasheet, you know that you can get the documentation from the official Wemos website that I left at the beginning of the article. Also have a complete Wiki which I recommend, as you will get a lot of help… They even have tutorials.