logo elektroda
logo elektroda
X
logo elektroda

D1 mini Pro module - ESP8266 WiFi - Test and Review

TechEkspert  12 21273 Cool? (+9)
📢 Listen (AI):

TL;DR

  • WEMOS D1 mini Pro based on ESP8266EX is tested as an Arduino-compatible Wi‑Fi module for IoT projects, with DS18B20, TMP35, relay control, Blynk, and Thingspeak examples.
  • Arduino 1.8.3 is configured with the ESP8266 board URL, the Wemos package, and D1 mini board selection, then the serial port is mapped to the USB‑UART converter.
  • The board adds 16MB flash, but Arduino currently exposes only 4MB; it also uses a SIL2104 USB‑UART chip and includes a ceramic antenna plus a U.FL connector.
  • SPIFFS is used to store logs and program assets in flash, with a tool that uploads the sketch’s data folder after restart.
  • The ceramic antenna seems slightly better than the D1 mini PCB antenna, but metal parts can completely block communication, especially in a metal housing.
Generated by the language model.
Module WEMOS D1 mini Pro based on ESP8266EX. A detailed description of how to integrate the module with Arduino environment can be found in the materials describing the modules previously made available: Amica and D1 mini. In addition to the configuration of the environment, you will find examples of digital (DS18B20), and analog (TMP35) use of the temperature sensor, as well as internet relay control. In the examples, you will find ways to connect the module to Blynk and Thingspeak to an IoT device.

To start working with the module we will use the current version of Arduino 1.8.3 environment downloaded from www.arduino.cc
In short, adapting Arduino's environment to the cooperation with D1 Mini Pro looks like this
File->Preferences->Additional URLs to the board manager - paste: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Tools->Disc->Disc Manager->Device Manager and search for "wemos" and then install the package with ESP8266.
When the D1 module is connected to the USB port, a new serial port should appear in the system.
Tools->Board->D1 mini, and Tools->Report and select the com port of the USB converter<->UART.


From now on we can write our code, run sample codes (File->Examples e. g. ESP8266WiFi->WiFiScan) or test program codes that transform the D1 mini into an IoT device connected to the Internet using WiFi:
Control of the relay and readout of the temperature from the analogue sensor via the Internet on a PC and smartphone.
Temperature readout from one or more digital sensors on your smartphone or browser on a PC.

The D1 mini Pro board is equipped with flash memory 16MB and unlike the previously made available boards, the ESP8266 module does not contain soldered ESP8266Ex chip can be found on a single laminate. Unfortunately, at Arduino there is currently no easy way to use the entire 16MB flash memory and there is available 4MB as in the previous version of D1 mini. More flash capacity means "for the future"functionality. USB-converter USB<->UART is SIL2104 (I did not have to install any additional drivers during Win10 tests). The set includes a set of connectors for soldered soldering (male leaves and two female types of different lengths). On the board you will find a ceramic antenna (instead of a printed antenna) and a U. FL antenna connector, to which you can connect an external antenna using a FL U. D. Adapter to SMA. There are available antennas with a U. FL connector, antennas can be either in the form of antennas visible in the picture or flat microbeam antennas.


External antenna may be useful e. g. when installing the module in a metal housing. To use an external antenna instead of the built-in external antenna, the resistor "0" should be sold in a position allowing to connect the connector to the path leading to the circuit.


I compared the effectiveness of the D1 mini Pro ceramic antenna with the PCB antenna in the D1 mini model, the transmission range using a ceramic antenna seems to be slightly higher, but the correct operation is influenced much more by the presence of metal elements (flat metal plate can completely block communication).

Write reply how the ceramic antenna works in practice compared to the PCB antenna.

The underside of the tile is completely flat, there are no soldered elements.


This is how the D1 mini Pro is compared to the two previous D1 mini and NodeMCU Amica modules.


SPIFFS - flash file system.
So far, as examples, we deal with quite simple examples of WiFi internet connection and reading data from analogue and digital temperature sensors. These are very good examples for starting with the ESP8266 based modules. Let's go beyond the diagram of the Internet temperature sensor and discuss the topic of data storage in FLASH memory module.
The D1 mini Pro D1 flash memory module can be used to store data organized in the file system SPIFFS. These can be e. g. files created by the module during operation (e. g. temporary data, or log), as well as files stored in the memory for the program (e. g. photos, graphics and other data needed e. g. to generate a menu on the graphic display screen).


The SPIFFS file system will not support directories, all files will be in the root directory "/". File name lengths are limited to 31 characters. In Arduino environment we can add a tool that will allow you to prepare the image of the file system and copy all necessary files placed in the "data" directory in the sketch directory. Download the tool: https://github.com/esp8266/arduino-esp8266fs-...n/releases/download/0.3.0/ESP8266FS-0.3.0.zip and in the Arduino directory (<home_dir>/Arduino/tools/) insert the unpacked jar file (<home_dir>/Arduino/tools/ESP8266FS/tool/esp8266fs.jar).
After restarting the Arduino environment, an additional option appears in the tools, which will overwrite the SPIFFS content with the data directory in the sketch directory.

Below the primitive program code that tests the capabilities of SPIFFS, after running the program from the serial console, we will be able to create, delete the file, add data to the file, view the file content, list the SPIFFS content, format the SPIFFS.


Code: C / C++
Log in, to see the code


The organization of file system data in a small flash memory built into the D1 mini Pro module may be useful in more advanced projects and will also eliminate the need for additional EEPROM memory or SD card.

What's your idea of using WEMOS D1 mini Pro?

About Author
TechEkspert
TechEkspert wrote 7015 posts with rating 5443 , helped 16 times. Been with us since 2014 year.

Comments

OlegTor 24 Aug 2017 11:03

How much does this module consume in various settings? Is it possible to lull the WiFi and what will be the consumption then? [Read more]

TechEkspert 25 Aug 2017 21:10

The current consumption depends on the program being implemented, during tests it oscillated around 70mA with 5V power supply. ESP8266 can be entered from a sleep state for a certain period of time, e.g. ESP.deepSleep... [Read more]

gulson 30 Aug 2017 11:43

The module appeared in electrode gadgets. [Read more]

TechEkspert 30 Aug 2017 18:39

I am very curious about your observations about the properties of the ceramic antenna, please give feedback in the subject. [Read more]

tomjed 01 May 2018 17:51

Hello. I have a problem with compiling any program. What's wrong? [Read more]

zster 01 May 2018 18:14

Check the tile manager you have installed the version for ESP. Have you installed the package from arduino.esp8266.com? [Read more]

tomjed 01 May 2018 19:43

Well, I installed normally from the tile manager, typing wemos, there is only one option to choose from ... [Read more]

zster 01 May 2018 19:51

Ok, let's try to get "on the same page": uninstall this package in the manager. Restart the Arduino IDE. In the FILE menu, select PREFERENCES. In the window that appears, you'll have the field "Additional... [Read more]

tomjed 01 May 2018 20:20

Wow, wow, wow ... Well, you guys, I respect you !!! For patience and willingness to help. Thank you. It helped. I would not get it in my life ... Thank you again !!! pzdr [Read more]

zster 01 May 2018 20:37

I'm glad it moved :) There's probably a mistake in the worm package from WEMOS. But now you have the latest, quite well-built package and everything works as it should. [Read more]

TechEkspert 02 May 2018 10:26

When you can get something interesting on ESP8266, it is worth to share the effect or course of experiments, e.g. in Articles . [Read more]

lukaszd82 09 May 2018 14:38

Maybe not on D1 mini Pro but also on this module you can adapt my solution for the use of ESP8266. Modbus RTU Gate - My Devices Cayenne IoT [Read more]

FAQ

TL;DR: D1 mini Pro draws approx. 70 mA when Wi-Fi is on, falling to <0.1 mA in deep-sleep [Elektroda, TechEkspert, post #16663401] “SPIFFS turns flash into a handy 16 MB disk” [Elektroda, TechEkspert, post #16659349] Compile issues disappear after installing the community ESP8266 JSON [Elektroda, zster, post #17197902]

Why it matters: Knowing power, memory and setup quirks lets you design stable IoT nodes fast.

Quick Facts

• MCU: Espressif ESP8266EX, up to 160 MHz, 13 GPIOs [Espressif Datasheet, 2016]. • Flash: 16 MB on board; Arduino core exposes 4 MB by default [Elektroda, TechEkspert, post #16659349] • Active current: 70–80 mA @ 5 V; RF peaks 320 mA [Espressif Datasheet, 2016]. • Deep-sleep current: ≤20 µA typical [Espressif Datasheet, 2016]. • Price: ~US $6–8 per board (May 2025 marketplace average).

What upgrades does the D1 mini Pro bring over the regular D1 mini?

The Pro adds a 16 MB flash chip (vs 4 MB), a ceramic antenna, and a U.FL connector for external antennas. PCB size and pinout stay compatible [Elektroda, TechEkspert, post #16659349]

How much of the 16 MB flash can Arduino actually use?

The current ESP8266 Arduino core exposes up to 4 MB for sketches/SPIFFS. The remaining 12 MB waits for future core updates or custom builds [Elektroda, TechEkspert, post #16659349]

Can I unlock the full 16 MB for SPIFFS today?

Yes. Compile the core from source with a 16 M2 partition table, then select “16M (15M SPIFFS)” in Tools → Flash Size. Upload the sketch, then run a SPIFFS format. Community builds show 14.7 MB free [ESP8266-core wiki].

What current does the board draw in different modes?

Active Wi-Fi scanning: ≈70 mA at 5 V [Elektroda, TechEkspert, post #16663401] RF transmit burst: up to 320 mA [Espressif Datasheet, 2016]. Modem-sleep: 15–20 mA typical. Deep-sleep: ≤20 µA typical [Espressif Datasheet, 2016].

How do I put the D1 mini Pro into deep sleep?

  1. Wire D0 to RESET. 2. In code call: ESP.deepSleep(300000000); // 300 s. 3. Provide wake-up duration in microseconds. The module powers down, then RTC resets it after the interval [Elektroda, TechEkspert, post #16663401]

How do I switch to an external U.FL antenna?

Move the on-board 0 Ω resistor to the “ANT” pads so the U.FL line connects to the RF pin, then plug a 2.4 GHz antenna. Keep cable under 15 cm to avoid loss [Elektroda, TechEkspert, post #16659349]

How do I upload web assets to SPIFFS?

  1. Place files in sketch_folder/data. 2. Install ESP8266FS plugin (tools/ESP8266FS/tool/esp8266fs.jar). 3. In Arduino, pick Tools → ESP8266 Sketch Data Upload. The plugin formats and copies files [Elektroda, TechEkspert, post #16659349]

What happens if a filename exceeds 31 characters in SPIFFS?

The open() call fails and returns nullptr. Your code should check the handle and issue an error; otherwise writes silently abort—an easy to miss failure case [SPIFFS FAQ].

Can I build a Modbus RTU to cloud gateway on this board?

Yes. One member adapted D1 mini code for a Modbus RTU Gate that forwards data to Cayenne IoT [Elektroda, lukaszd82, post #17211678] UART ↓RS-485 transceiver and a simple polling loop handle the field bus.

Give me a project idea that uses both big flash and deep sleep.

Create an offline image slideshow: store compressed JPEGs in the 16 MB SPIFFS, wake every minute, push one frame to an SPI TFT, then return to deep sleep. Average current stays under 200 µA while holding 100+ images.
Generated by the language model.
%}