The WeMos D1 is a WiFi-enabled microcontroller development board based on the ESP8266 chip. It is a cost-effective and versatile board that can be used for a variety of Internet of Things (IoT) projects. The board includes a USB-to-serial converter chip called the CH340, which allows you to program and communicate with the board using a USB connection. The ESP8266 chip on the board provides WiFi connectivity, allowing you to connect your projects to the internet and communicate with them remotely. The board has a number of digital and analog input/output (I/O) pins, as well as built-in support for a variety of protocols, such as HTTP and MQTT, making it well-suited for IoT applications. You can program the WeMos D1 using the Arduino Integrated Development Environment (IDE) or other software development tools.
This is a great Arduino-like development board but it NOT an Arduino, it is a "WeMos". You can code it in the normal Arduino IDE but this board is different from a normal Uno in many ways. It runs at 80MHz (vs 16MHz of an Uno) and operates at 3.3V (thus is less power intensive than an Uno) and also has 4MB of built-in storage space! The downside is that even though layout looks very similar to an Uno, it is not compatible with most Arduino Shields due the operating voltage being 3.3V (versus 5V for an Uno).
To communicate between an Arduino and a WeMos you need to add a middleman device to change the voltages from 5v to 3.3v (and vice versa) such as a standard I2C module available from the Leobot website.
The biggest benifit of this development board is its built-in support for WiFi support! It even includes an example code to create a simple HTTP server to be used in The Internet Of Things (IOT) projects by allowing you communicate directly with your Arduino over the internet from anywhere in the world.
Remember to NEVER directly connect an Arduino to a WeMos or you may destroy the WeMos. Use an I2C converter in between at all times.
| Operating Voltage | 3.3V |
| Digital I/O Pins | 11 |
| Analog Input Pins | 1(Max input: 3.2V) |
| Clock Speed | 80MHz/160MHz |
| Flash | 4M bytes |
| Length | 68.6mm |
| Width | 53.4mm |
| Weight |
25g
|
Pin
| Pin | Function | ESP-8266 Pin |
|---|---|---|
| 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 | Ground | GND |
| 5V | 5V | - |
| 3V3 | 3.3V | 3.3V |
| RST | Reset | RST |
All of the IO pins run at 3.3V.
- N/A
-
Providing Power to an Arduino
Options available to provide power to an Arduino is discussed here.
More from this Category
Arduino UNO R3
Arduino Nano V3 (CH340)
ARDUINO MEGA 2560 R3
Wemos D1 Mini V3.0.0 (WIFI, IoT, ESP8266EX)
Arduino Pro Mini Atmega328 (3.3V)
Pro Micro ATMEGA32U4-AU (5V, 16MHz, Leonardo)
Arduino Pro Mini Atmega328 (5V)
Arduino UNO + WiFi R3 (32Mb memory, ATmega328P+ESP8266)