Ir directamente al contenido

All items ship from our office in Colorado USA - $5.95 Flat-Rate US shipping & free shipping on orders over $75!

D1 Mini Pro NodeMCU & Arduino-Compatible WiFi ESP8266 WeMos Microcontroller with Antenna User Guide

D1 Mini Pro NodeMCU & Arduino-Compatible WiFi ESP8266 WeMos Microcontroller with Antenna

📋 D1 Mini Pro Overview

The D1 Mini Pro is a compact, powerful WiFi-enabled development board based on the ESP8266EX microcontroller. Designed for fast Internet-of-Things (IoT) prototyping, it packs WiFi connectivity, 16MB of flash memory, and a built-in lithium battery charging circuit into a board barely larger than a postage stamp.

Despite its small size, the D1 Mini Pro is fully compatible with the Arduino IDE and supports NodeMCU/Lua programming, making it accessible to beginners and powerful enough for advanced projects.

What Makes the "Pro" Special?

Compared to the standard D1 Mini, the Pro version adds several key upgrades:

  • 16MB flash memory (vs. 4MB on the standard D1 Mini)
  • Built-in ceramic antenna plus a U.FL connector for an external antenna (included)
  • Lithium battery charging circuit — connect a LiPo battery and charge it via USB
  • CP2104 USB-to-UART bridge — reliable driver support across all operating systems

🔧 Technical Specifications

Feature Specification
Microcontroller ESP8266EX
Operating Voltage 3.3V
Input Voltage (USB) 5V via Micro-USB
Digital I/O Pins 11
Analog Input Pins 1 (A0, 0–3.3V range)
Flash Memory 16MB
Clock Speed 80MHz / 160MHz
WiFi 802.11 b/g/n (2.4GHz)
USB-to-UART Chip CP2104 (Silicon Labs)
Antenna Built-in ceramic + external U.FL antenna (included)
Battery Charging Built-in LiPo charging circuit
Board Dimensions Approx. 34.2mm × 25.6mm (1.35" × 1.0")
Weight ~3g

📌 Pinout Reference

                 ┌───────────┐
           RST  ─┤ 1      16 ├─  TX  (GPIO1)
            A0  ─┤ 2      15 ├─  RX  (GPIO3)
    D0 (GPIO16) ─┤ 3      14 ├─  D1  (GPIO5)  [SCL]
    D5 (GPIO14) ─┤ 4      13 ├─  D2  (GPIO4)  [SDA]
    D6 (GPIO12) ─┤ 5      12 ├─  D3  (GPIO0)
    D7 (GPIO13) ─┤ 6      11 ├─  D4  (GPIO2)  [LED]
    D8 (GPIO15) ─┤ 7      10 ├─  GND
           3V3  ─┤ 8       9 ├─  5V
                 └───────────┘

Pin Details

Board Label GPIO Function Notes
TX GPIO1 UART Transmit Used for serial communication
RX GPIO3 UART Receive Used for serial communication
A0 ADC0 Analog Input 0–3.3V input range
D0 GPIO16 Digital I/O Can be used for deep sleep wake-up
D1 GPIO5 Digital I/O / SCL Default I²C clock line
D2 GPIO4 Digital I/O / SDA Default I²C data line
D3 GPIO0 Digital I/O Pulled HIGH; used for flash/boot mode
D4 GPIO2 Digital I/O Built-in LED (active LOW); pulled HIGH
D5 GPIO14 Digital I/O / SCK SPI clock
D6 GPIO12 Digital I/O / MISO SPI data in
D7 GPIO13 Digital I/O / MOSI SPI data out
D8 GPIO15 Digital I/O / SS SPI select; pulled LOW at boot
RST Reset Active LOW; resets the board
3V3 Power 3.3V regulated output
5V Power 5V from USB input
GND Ground Common ground
⚠️ Important: All I/O pins operate at 3.3V logic. Do not apply 5V to any GPIO pin — this can permanently damage the board.

📡 Antenna Options

The D1 Mini Pro features two antenna options:

  1. Built-in ceramic antenna — Suitable for most short-to-medium range applications
  2. External U.FL antenna — Included in the box; provides better range and signal strength

How to Switch Between Antennas

The antenna selection is controlled by a tiny 0-ohm resistor (solder bridge) on the board. By default, the board is configured to use the ceramic antenna.

To switch to the external antenna:

  1. Locate the small 0-ohm resistor near the antenna area on the PCB
  2. Carefully desolder it from the ceramic antenna pads
  3. Re-solder it to the external antenna pads (or simply bridge the pads with solder)
  4. Connect the included U.FL external antenna to the U.FL connector on the board
💡 Tip: For most indoor projects, the built-in ceramic antenna works fine. Use the external antenna when you need extended range or when the board is inside a metal enclosure.

🔋 Battery Charging Feature

The D1 Mini Pro includes a built-in lithium polymer (LiPo) battery charging circuit. This allows you to:

  • Power the board from a rechargeable LiPo battery when USB is not available
  • Automatically charge the battery when USB power is connected
  • Create portable, battery-powered IoT projects

How to Connect a Battery

  • Solder a single-cell 3.7V LiPo battery to the battery pads on the bottom of the board (marked + and )
  • When USB is plugged in, the battery charges automatically
  • When USB is disconnected, the board runs from the battery
⚠️ Caution: Only use single-cell 3.7V LiPo batteries. Observe correct polarity. Using the wrong battery type or reversing polarity can cause damage or fire.

💻 Getting Started

Step 1: Install the CP2104 USB Driver

The D1 Mini Pro uses the CP2104 USB-to-UART bridge chip by Silicon Labs. You need to install the driver so your computer can communicate with the board.

Download the driver from Silicon Labs:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Operating System Instructions
Windows Download and run the CP210x Windows installer. Follow the on-screen prompts.
macOS Download the macOS VCP driver. Open the DMG and run the installer. You may need to allow it in System Preferences → Security & Privacy.
Linux Most modern Linux distributions (kernel 3.x+) include CP210x drivers by default. No installation needed.

Verify the Driver Is Working

  1. Connect the D1 Mini Pro to your computer via a Micro-USB cable
  2. Open your system's device manager:
    • Windows: Device Manager → Ports (COM & LPT) → Look for "Silicon Labs CP210x USB to UART Bridge (COMx)"
    • macOS: Terminal → type ls /dev/tty.* → Look for /dev/tty.SLAB_USBtoUART
    • Linux: Terminal → type ls /dev/ttyUSB* → Look for /dev/ttyUSB0
⚠️ Important: Make sure you are using a data-capable Micro-USB cable. Some cables are charge-only and will not allow communication with the board. If the board doesn't appear in your device manager, try a different cable.

Step 2: Set Up the Arduino IDE

The Arduino IDE is the easiest way to program the D1 Mini Pro. Follow these steps to add ESP8266 board support.

Install Arduino IDE

If you don't already have it, download the Arduino IDE from:
https://www.arduino.cc/en/software

Add the ESP8266 Board Manager URL

  1. Open the Arduino IDE
  2. Go to File → Preferences (on macOS: Arduino IDE → Settings)
  3. In the "Additional Board Manager URLs" field, paste the following URL:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
  1. Click OK
💡 Tip: If you already have other board URLs in this field, separate them with a comma.

Install the ESP8266 Board Package

  1. Go to Tools → Board → Boards Manager
  2. In the search box, type "ESP8266"
  3. Find "ESP8266 by ESP8266 Community" and click Install
  4. Wait for the installation to complete

Select the Correct Board Settings

  1. Go to Tools → Board and select "LOLIN(WEMOS) D1 mini Pro"
  2. Configure the following settings under the Tools menu:
Setting Value
Board LOLIN(WEMOS) D1 mini Pro
Upload Speed 921600
CPU Frequency 80 MHz
Flash Size 16MB (FS:14MB OTA:~1019KB)
Port Select the COM port where your board is connected

Step 3: Upload Your First Sketch (Blink Example)

Let's verify everything is working by blinking the built-in LED.

  1. In the Arduino IDE, go to File → Examples → ESP8266 → Blink, or paste the following code:
/*
 * D1 Mini Pro - Blink Example
 * Blinks the built-in LED on GPIO2 (D4)
 * The built-in LED is active LOW (LOW = ON, HIGH = OFF)
 */

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  // Initialize the built-in LED pin as output
}

void loop() {
  digitalWrite(LED_BUILTIN, LOW);   // Turn LED ON (active LOW)
  delay(1000);                       // Wait 1 second
  digitalWrite(LED_BUILTIN, HIGH);  // Turn LED OFF
  delay(1000);                       // Wait 1 second
}
  1. Click the Upload button (→ arrow icon) in the Arduino IDE
  2. Wait for the upload to complete — you should see "Done uploading" in the status bar
  3. The built-in LED on the board should now blink on and off every second 🎉

Step 4: WiFi Example — Connect to Your Network

Here's a simple sketch that connects the D1 Mini Pro to your WiFi network and prints the assigned IP address:

/*
 * D1 Mini Pro - WiFi Connection Example
 * Connects to your WiFi network and prints the IP address
 */

#include <ESP8266WiFi.h>

const char* ssid     = "YOUR_WIFI_NETWORK_NAME";
const char* password = "YOUR_WIFI_PASSWORD";

void setup() {
  Serial.begin(115200);
  delay(100);

  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println();
  Serial.println("WiFi connected!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // Your code here
}

To use this sketch:

  1. Replace YOUR_WIFI_NETWORK_NAME with your actual WiFi SSID
  2. Replace YOUR_WIFI_PASSWORD with your actual WiFi password
  3. Upload the sketch
  4. Open Tools → Serial Monitor and set the baud rate to 115200
  5. You should see the board connect and display its IP address

🛠️ Troubleshooting

Board Not Detected by Computer

  • Try a different USB cable — Many Micro-USB cables are charge-only and don't carry data
  • Install/reinstall the CP2104 driver from Silicon Labs
  • Try a different USB port — Avoid USB hubs; connect directly to your computer
  • On macOS: Check System Preferences → Security & Privacy — you may need to allow the driver

Upload Fails or Times Out

  • Verify the correct Board is selected: LOLIN(WEMOS) D1 mini Pro
  • Verify the correct Port is selected under Tools → Port
  • Try lowering the Upload Speed to 115200
  • Press and hold the RESET button on the board, then release it just as the upload begins
  • Close any other programs that might be using the serial port (e.g., Serial Monitor, PuTTY)

Serial Monitor Shows Garbled Text

  • Make sure the baud rate in the Serial Monitor matches the baud rate in your sketch (e.g., Serial.begin(115200) → set monitor to 115200)
  • Press the RESET button on the board to restart the sketch

WiFi Won't Connect

  • Double-check your SSID and password (they are case-sensitive)
  • Make sure your router is broadcasting on 2.4GHz — the ESP8266 does not support 5GHz networks
  • Move the board closer to your router
  • Try restarting your router

Board Keeps Restarting (Boot Loop)

  • This is often caused by insufficient power. Try a different USB cable or power source
  • Check for short circuits on your wiring
  • If using a battery, make sure it has sufficient charge

🛒 Where to Buy the D1 Mini Pro

Ready to get started with the D1 Mini Pro? You can purchase it directly from our store:

D1 Mini Pro — Envistia Mall


📚 Additional Resources


⚠️ Safety & Handling Precautions

  • Operating voltage is 3.3V — Do not apply 5V to GPIO pins
  • Handle with care — Avoid touching components with bare hands to prevent static discharge
  • Use proper polarity when connecting a LiPo battery
  • Do not short-circuit the pins — always double-check wiring before powering on
  • Keep away from moisture — The board is not waterproof
Share this guide:
in

🛒 Related Products

Find the components mentioned in this guide in our store.

Browse Products →