Last Updated on 15 April 2022 by Suffocation
The WEMOS D1 EP32 is the replacement for the D1 Mini. It has a vapor-deposited ESP 32 Wroom module. A USB Micro connector, a reset button, and two built-in LEDs on the ESP are the only peripherals. It's relatively small in terms of dimensions, but this does not limit the number of external pins, which are led outwards in two rows.
Interesting, how with the Wemos D1 Mini there are so many expansion boardsSee manufacturer).
I haven't found any information about the D1 ESP32 on Wemos, so I question whether it is officially produced by Wemos.
Facts
- USB Micro Connector (CH9102)
- Reset button
- 18 Digital Pins
- 8 Analogue Pins (almost freely configurable)
- Operating voltage 3.3V
- Connection voltage 5V
- 4M SPI Flash Memory
- 80MHz/240MHz
- 2 LEDs
- Price ~€5
- Dimensions in mm: l/w/h 39/32/13
Pin assignment

| Pin | Functions | ESP32 Pin |
|---|---|---|
| TX | UART TXD | TXD |
| RX | UART RXD | RXD |
| A0 | IO, ADC2 | GPIO36 |
| D0 | In | GPIO26 |
| D1 | In | GPIO22, I²C SCL |
| D2 | In | GPIO21, I²C SDA |
| D3 | In | GPIO17 |
| D4 | In | GPIO16 |
| D5 | In | GPIO18 |
| D6 | In | GPIO19 |
| D7 | In | GPIO23 |
| D8 | In | GPIO5 |
| G | Ground | Ground |
| 5V | 5V | – |
| 3V3 | 3.3V | 3.3V |
| RST | Reset | RST |
Source: https://www.wemos.cc/en/latest/d1/d1_mini.html
Areas of application
- Microcontroller projects with Wi-Fi
- Remote control
- Alarm clock
- ...
Views


Programming
Preparation
The Wemos comes with a CH9102 USB interface; if the driver is not already installed, it will need to be installed afterwards.
Libraries
No additional libraries are required for programming the Wemos. However, the ESP extension for the Arduino GUI must be installed. See also the Link for setup.
Current status Arduino ESP32 Library V2.0.2
Test programme
Blink can be used as a test program. This is available either in the example programs of the Arduino GUI, under which you will also find the task-controlled Blink, which is quite useful for learning the multitask environment on the ESP32. This can also be obtained via Github:
I was able to program my Wemos D1 ESP32 with the following settings:

As the port, please select your serial interface; for me, it's COM 15.
Problems
D Ports not found
Unfortunately, the D-ports are not mapped. Here, it helps to simply create defines with the corresponding ports. Example:
#ifndef D7
#define D7 23
#endif
#ifndef D5
#define D5 18
#endif
Wemos board not recognised
CH9102 Install drivers
Should there be any further problems Zadig Try.
Programming fails
Check board, port and programmer settings. Possibly try others than the ones I showed. There are also board settings for the Wemos.
Miscellaneous
Fritzing Wemos D1 ESP32 Mini:
https://forum.fritzing.org/uploads/short-url/wv8xVt6y4tFToPngAeMqUju2oUl.fzpz
Example projects:
https://github.com/wemos/D1_mini_Examples
3D printing model
https://grabcad.com/library/wemos-d1-mini-v3-0-0-1
https://grabcad.com/library/wemos-d1-mini-1
Conclusion
In my opinion, the D1 ESP32 is not entirely compatible as I couldn't find a board description for the Arduino GUI that also included the mapping for the D-ports. Nevertheless, it can serve as a speedy replacement. Due to the additional pins, it is also well-suited for other projects. With the pass-through ports, it can also be operated on a breadboard and is very compact overall.
Related Posts
- D1 Mini Shield – Prototype PCB
- Preview – W600-Pico V1.0.0 1MB Flash
- D1 Mini Shield – RGB LED (Individual)
- D1 Mini Shield – RGB LED
- D1 Mini Shield – PIR (Motion Sensor)
- D1 Mini Shield – HR8833 Motor
- D1 Mini Shield – AT8870 Motor
- D1 Mini Shield – SG30 Air Quality Measurement
- D1 Mini Shield – I2C Connector
- Wemos C3 Mini
Sources
https://arduino-projekte.info/produkt/d1-mini-esp32-wifi-bluetooth/
https://makersportal.com/shop/esp32-d1-mini-bluetoothwifi-board
https://docs.platformio.org/en/stable/boards/espressif32/wemos_d1_mini32.html
Hi Sven,
If the problem with brownout exceptions still hasn't been solved – here's a tip: insert the following code on the first line in setup().
void setup() {
RTC_CNTL_BROWN_OUT_REG,0);
.........
Hi, I found the ESP32 in the D1-mini format in my bits and bobs box and wanted to tinker with something…
As soon as I try a WifiConnect with the Arduino API, I get a brownout exception and restart. The board is connected to the computer via USB (tested with different cables and USB ports). Always the same rubbish.
Unlike other dev boards, at least the 5V voltage is available on an external pin which can be supplied with an external voltage source. Usually, for many ESP32 projects (with Wi-Fi), it is recommended to stabilise the external voltage with a hefty capacitor between +5V and GND. How should one do this with this board?
As Stefan wrote, mapping the pinouts to the Arduino code is fiddly reverse-engineering.
I would use a different board next time.
Hi Sven,
I'm currently detoxing from technology 😉, so here's just a quick message. I would have initially guessed voltage too (VCC pin). But it could also be down to the settings in the Arduino GUI, memory (size, type...).
Hello
Stefan