Wemos ESP32 IoT Development Board with 18650 Battery Shield – WiFi & Bluetooth Enabled for Smart Home, Industrial Control, and Learning Projects

SKU: FA2070
Microcontroller

ESP32-WROOM-32

Processor

Dual-core Tensilica LX6 32-bit

Clock Speed

80 MHz – 240 MHz

Flash Memory

4 MB (32 Mbit)

SRAM

520 KB

Operating Voltage

3.3V

Input Voltage (USB)

5V DC

Input Voltage (VIN)

5V – 12V DC

Digital I/O Pins

18 – 30 (varies by model)

Analog Input Pins

5 – 18 (12-bit ADC)

Wi-Fi

802.11 b/g/n (2.4 GHz)

Bluetooth

v4.2 BR/EDR & BLE

USB-to-Serial

CH340C or CP2102

Operating Temperature

-40°C to +85°C

Dimensions (varies by model)

Approx. 58mm × 25.5mm (D32) to 68.6mm × 53.4mm (Uno form factor)

Product Overview

The Wemos ESP32 Development Board with 18650 Battery Shield is a complete, portable IoT development platform that combines the powerful ESP32 microcontroller with an integrated battery management system. This all-in-one solution provides everything you need to build wireless, battery-powered projects without the hassle of external power supplies or complex wiring .

At the heart of this system is the ESP32-WROOM-32 module, featuring a dual-core Tensilica LX6 processor running at up to 240 MHz520 KB of SRAM, and 4 MB of flash memory. This powerful SoC (System on Chip) integrates both 2.4 GHz Wi-Fi (802.11 b/g/n) and Bluetooth 4.2 (BR/EDR & BLE) , making it one of the most versatile and capable microcontrollers available for IoT applications .

The companion 18650 Battery Shield transforms this development board into a truly portable platform. Designed specifically for Wemos form factor boards, the shield accepts one or two 18650 lithium-ion batteries and provides onboard charging circuitry, voltage regulation, and power management . It delivers stable 3.3V and 5V outputs, allowing you to power not only the ESP32 itself but also external sensors, displays, and actuators—all from a rechargeable battery .

This combination is the ideal choice for a wide range of applications, including:

  • Smart Home: Wireless sensors, smart plugs, environmental monitors, voice assistants

  • Industrial IoT: Remote equipment monitoring, predictive maintenance, data logging

  • Wearable Electronics: Health trackers, portable devices, location tags

  • Educational Projects: Learning IoT, embedded systems, wireless programming

  • Field Research: Remote data collection, weather stations, agricultural sensors

  • Battery-Powered Prototypes: Mobile robots, drones, portable instruments


Key Features

ESP32 Development Board

  • Powerful Dual-Core Processor: Features the ESP32-WROOM-32 module with a dual-core Tensilica LX6 processor running at up to 240 MHz, providing ample processing power for complex IoT applications and real-time tasks.

  • Integrated Wi-Fi & Bluetooth: Supports 2.4 GHz 802.11 b/g/n Wi-Fi and Bluetooth 4.2 (BR/EDR & BLE) , enabling seamless wireless connectivity for smart home, industrial, and wearable applications.

  • Rich Peripheral Interfaces: Provides UART, SPI, I2C, I2S, PWM, 12-bit ADC, 8-bit DAC, and capacitive touch sensors, allowing connection to a wide variety of sensors, actuators, and display devices.

  • Abundant Memory: Equipped with 520 KB SRAM and 4 MB flash memory , providing ample storage for firmware, web interfaces, and OTA (Over-The-Air) updates.

  • Arduino Uno Form Factor (Select Models): Some Wemos ESP32 variants feature an Arduino Uno R3 compatible form factor, allowing you to use existing Arduino shields with the ESP32’s wireless capabilities.

  • USB-to-Serial Interface: Integrated CH340C or CP2102 USB-to-serial converter for easy programming and debugging via a single USB cable.

  • Low Power Consumption: Supports deep sleep modes with current consumption as low as 10-20 µA , making it ideal for battery-powered applications.

  • Wide Operating Temperature: Rated for operation from -40°C to +85°C , suitable for demanding industrial environments and outdoor installations.

18650 Battery Shield

  • 18650 Lithium-Ion Battery Support: Accepts one or two 18650 batteries (depending on shield model), providing a high-capacity, rechargeable power source for portable projects.

  • Integrated Battery Charging: Features onboard charging circuitry (microUSB and/or USB Type-C) with typical charging current of 1A, allowing you to recharge batteries without removing them from the shield.

  • Multiple Output Voltages: Provides both 3.3V and 5V regulated outputs for powering the ESP32 board and external peripherals:

    • 5V outputs: Up to 2.2A total (including USB-A port)

    • 3.3V outputs: Up to 1A

  • USB-A Power Output: Features a standard USB Type-A port for powering external devices—effectively turning your project into a power bank.

  • Battery Status Indicators: LED indicators show charging status and battery charge level (typically 25%, 50%, 75%, 100%) for easy monitoring.

  • Power Switch: Includes a physical switch (K1) to toggle output power, preventing parasitic battery drain when the system is idle.

  • Multiple 5V and 3.3V Headers: Provides five pairs of 5V/GND headers and five pairs of 3V/GND headers for easy connection of multiple sensors and peripherals.

  • Over-Charge & Over-Discharge Protection: Built-in protection circuitry prevents battery damage from overcharging or deep discharge.

  • Compatibility: Designed to work with Wemos form factor boards (D1, D32, etc.) as well as Arduino, ESP8266, STM32, and other 3.3V/5V microcontrollers.


Technical Specifications

ESP32 Development Board

Parameter Operating Value
Microcontroller ESP32-WROOM-32
Processor Dual-core Tensilica LX6 32-bit
Clock Speed 80 MHz – 240 MHz
Flash Memory 4 MB (32 Mbit)
SRAM 520 KB
Operating Voltage 3.3V
Input Voltage (USB) 5V DC
Input Voltage (VIN) 5V – 12V DC
Digital I/O Pins 18 – 30 (varies by model)
Analog Input Pins 5 – 18 (12-bit ADC)
Wi-Fi 802.11 b/g/n (2.4 GHz)
Bluetooth v4.2 BR/EDR & BLE
USB-to-Serial CH340C or CP2102
Operating Temperature -40°C to +85°C
Dimensions (varies by model) Approx. 58mm × 25.5mm (D32) to 68.6mm × 53.4mm (Uno form factor)

18650 Battery Shield (V8 / V3 Models)

Parameter Operating Value
Battery Type 18650 Lithium-Ion (1 or 2 cells)
Charging Input microUSB and/or USB Type-C (5V DC, ≥1A)
Charging Current ≥1A
5V Output Current (Max) 2.2A total (including USB-A port)
3.3V Output Current (Max) 1A
USB-A Output Yes (5V, up to 2.2A)
5V Headers 5 pairs (5V/GND)
3.3V Headers 5 pairs (3V/GND)
Protection Features Over-charge, over-discharge, short-circuit (no reverse polarity protection)
Battery Status Indicators 4 LEDs (25%/50%/75%/100%)
Power Switch Yes (K1)
Dimensions Approx. 100mm × 48mm × 20mm
Weight Approx. 34g (without batteries)

Pinout & Interface Guide

ESP32 Development Board (Typical Wemos D32/LOLIN32 Layout)

The Wemos ESP32 boards typically feature a compact, breadboard-friendly layout with the following pin assignments:

Pin Group Pins Functions
Power 3V3, 5V, GND 3.3V output, 5V input, ground
USB Micro USB Power and programming interface
Digital I/O GPIO0, GPIO2, GPIO4, GPIO5, GPIO12, GPIO13, GPIO14, GPIO15, GPIO16, GPIO17, GPIO18, GPIO19, GPIO21, GPIO22, GPIO23, GPIO25, GPIO26, GPIO27, GPIO32, GPIO33 General purpose I/O with PWM, UART, SPI, I2C support
Analog Input GPIO32, GPIO33, GPIO34, GPIO35, GPIO36, GPIO39 12-bit ADC inputs (GPIO34-39 are input-only)
UART TX0 (GPIO1), RX0 (GPIO3) Serial communication (connected to USB-to-serial)
I2C SDA (GPIO21), SCL (GPIO22) I2C bus for sensors and peripherals
SPI MOSI (GPIO23), MISO (GPIO19), SCK (GPIO18), CS (GPIO5) SPI bus for high-speed peripherals
Touch Sensors GPIO0, GPIO2, GPIO4, GPIO12, GPIO13, GPIO14, GPIO15, GPIO27, GPIO32, GPIO33 Capacitive touch sensing inputs

18650 Battery Shield (V8 / V3 Models)

The battery shield provides multiple power output options:

Connector Type Quantity Voltage Max Current Notes
USB Type-A Port 1 5V 2.2A (shared) Standard USB output for external devices
5V Header Pairs 5 5V 2.2A total Solder pads for connecting wires
3.3V Header Pairs 5 3.3V 1A Solder pads for connecting wires
microUSB 1 5V (input) ≥1A Battery charging input
USB Type-C 1 5V (input) ≥1A Battery charging input (varies by model)

Important Wiring Notes:

  • Battery Polarity: The shield has no reverse polarity protection. Insert batteries with correct polarity (+ and – as marked on the PCB) to avoid permanent damage.

  • Power Switch: Use the K1 switch to enable/disable output power. When switched off, the shield still charges batteries via USB.

  • Current Sharing: The total current drawn from the USB-A port and the 5V headers should not exceed 2.2A.


Usage Guide

Power Supply & Battery Installation

  1. Battery Selection: Use high-quality 18650 lithium-ion batteries. The shield accepts one or two 18650 cells depending on the model.

  2. Battery Installation:

    • Insert batteries into the battery holder with correct polarity (+ and – as marked)

    • CRITICAL: The shield has no reverse polarity protection—incorrect installation will damage the charging IC

  3. Charging the Batteries:

    • Connect a 5V USB power source (≥1A) to the microUSB or USB Type-C port

    • LED indicators will show charging status:

      • Red LED: Charging in progress

      • Green LED: Fully charged

      • Four LEDs (D5-D8): Show battery level (25%, 50%, 75%, 100%)

  4. Powering Your Project:

    • Connect the ESP32 board to the 5V or 3.3V headers as appropriate

    • Toggle the K1 switch to the ON position to enable output power

ESP32 Programming Setup (Arduino IDE)

  1. Install ESP32 Board Package:

    • Open Arduino IDE → File → Preferences

    • Add to “Additional Boards Manager URLs”: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

    • Tools → Board → Boards Manager → Search “esp32” → Install

  2. Select Your Board:

    • Tools → Board → ESP32 Arduino → Select your specific model:

      • Wemos D32: Select “LOLIN D32”

      • Wemos D1 R32: Select “WEMOS D1 R32”

      • Generic ESP32: Select “DOIT ESP32 DEVKIT V1” for basic compatibility

  3. Configure Upload Settings:

    • Flash Size: 4MB

    • Upload Speed: 115200 (or 921600 for faster uploads)

    • Port: Select the COM port assigned to your board

  4. Enter Programming Mode (if needed):

    • Some Wemos boards may require pressing the RESET button during upload

    • For ESP32-S2 variants: Hold the “0” button, press and release RESET, then release “0”

Basic Arduino Example Code

cpp
// Wemos ESP32 Wi-Fi Connection & Battery Monitor Example
#include <WiFi.h>

const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";

// Battery voltage measurement pin (ADC)
// Note: Use a voltage divider if measuring >3.3V
const int batteryPin = 34;  // GPIO34 (input-only)

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\nWemos ESP32 with Battery Shield Test");
  
  // Connect to Wi-Fi
  WiFi.begin(ssid, password);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println("\nConnected successfully!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
  
  // ADC configuration
  analogReadResolution(12);  // 12-bit resolution (0-4095)
}

void loop() {
  // Read battery voltage (assuming voltage divider or direct 3.3V max)
  int adcValue = analogRead(batteryPin);
  float voltage = (adcValue / 4095.0) * 3.3;  // 3.3V reference
  
  Serial.print("Battery Voltage: ");
  Serial.print(voltage);
  Serial.println(" V");
  
  // Calculate approximate battery percentage (for 3.7V Li-ion)
  float percentage = ((voltage - 3.0) / (4.2 - 3.0)) * 100;
  percentage = constrain(percentage, 0, 100);
  Serial.print("Battery Level: ");
  Serial.print(percentage);
  Serial.println("%");
  
  delay(5000);
}

Power Management Best Practices

  1. Deep Sleep for Battery Conservation: Use ESP32 deep sleep to achieve ultra-low power consumption (10-20 µA) when the device is idle.

  2. Current Budgeting: The 5V outputs are limited to 2.2A total. Ensure your combined peripheral current does not exceed this limit.

  3. Battery Quality Matters: Use high-quality 18650 batteries with sufficient discharge current capability. Cheap batteries may not provide the peak current required for Wi-Fi transmission.

  4. Disconnect When Not in Use: Use the onboard power switch to prevent parasitic battery drain when the system is idle.

  5. Voltage Monitoring: Implement battery voltage monitoring in your code to avoid deep discharge and extend battery life.

Q: What is the difference between Wemos D32 and DOIT ESP32 DevKit?

The Wemos D32 is designed for battery-powered applications with an onboard LiPo connector and charging circuit. It has a compact, breadboard-friendly form factor with approximately 22 usable GPIO pins. The DOIT DevKit exposes more GPIO (up to 30 pins) but has no battery support and is slightly larger

Q: Can the ESP32 run on a single 18650 battery?

Yes. The ESP32 requires 3.3V operation, and a single 18650 Li-ion cell provides 3.7V nominal. The battery shield regulates this down to stable 3.3V. However, ensure the battery can supply the peak current required during Wi-Fi transmission (up to 300mA)

Q: How long will my project run on battery power?

Battery life depends on usage:

  • Continuous active mode: 80-170mA → 5-10 hours on a 2000mAh battery

  • Deep sleep mode: 10-20µA → months to years with intermittent wake-ups

  • Wi-Fi transmission: 170-300mA peak → reduces battery life significantly

Q: Can I use the battery shield with other microcontrollers?

Yes. The shield provides standard 5V and 3.3V outputs, making it compatible with Arduino, ESP8266, STM32, and other 3.3V/5V microcontrollers

Q: Does the ESP32 support Bluetooth as well as Wi-Fi?

Yes. The ESP32 supports Bluetooth 4.2 BR/EDR (classic Bluetooth) and Bluetooth Low Energy (BLE) , allowing simultaneous Wi-Fi and Bluetooth operation

Q: What type of 18650 batteries should I use?

Use high-quality 18650 lithium-ion batteries from reputable brands. Look for:

  • Capacity: 2000-3500mAh

  • Discharge current: At least 1A continuous, preferably 2-3A peak

  • Protection: Batteries with built-in protection circuits are recommended

Q: What happens if I insert the batteries backwards?

The shield has no reverse polarity protection. Inserting batteries with incorrect polarity will permanently damage the charging IC. Always double-check polarity before inserting batteries

Q: Can I use the shield while charging the batteries?

Yes. The shield supports pass-through charging, allowing you to power your project and charge batteries simultaneously via USB

Q: How do I know when the batteries are fully charged?

 LED indicators show charging status:

  • Red LED: Charging in progress

  • Green LED: Fully charged

  • Four LEDs (D5-D8): Show battery level percentage (25%, 50%, 75%, 100%)

Q: Why does my ESP32 reset when Wi-Fi turns on?

This indicates insufficient battery current. Wi-Fi transmission causes current spikes (up to 300mA). Possible solutions:

  • Use higher-quality batteries with better discharge characteristics

  • Add a large electrolytic capacitor (470-1000µF) across the power rails

  • Use two batteries in parallel for higher current capacity

Q: Can I program the ESP32 using Arduino IDE?

Yes. The ESP32 is fully supported in Arduino IDE after installing the ESP32 board package. Select the appropriate board from the Tools menu (e.g., “LOLIN D32” or “WEMOS D1 R32”)

Q: What development platforms support the ESP32?

The ESP32 is supported by multiple platforms:

  • Arduino IDE: User-friendly, great for beginners

  • PlatformIO: Professional environment with advanced features

  • MicroPython: Python-based rapid development

  • ESP-IDF: Official Espressif development framework

  • Zephyr: Real-time operating system support

Q: How do I put the ESP32 into programming mode?

Most Wemos boards have auto-reset circuitry and enter programming mode automatically. For manual entry:

  1. Hold the “BOOT” (or “0”) button

  2. Press and release the “EN” (RESET) button

  3. Release the “BOOT” button

  4. Upload your code

Q: Can I use 5V Arduino shields with the Wemos ESP32?

Use with caution. The ESP32 operates at 3.3V logic. Some 5V shields may work with level shifters, but using 5V shields directly can damage the ESP32. Only use shields specifically designed for 3.3V logic

Q: What can I build with the Wemos ESP32 and battery shield?

Popular projects include:

  • Portable Weather Stations: Battery-powered environmental monitoring

  • Wireless Sensors: Remote temperature, humidity, air quality sensors

  • Smart Home Devices: Battery-powered door/window sensors, smart locks

  • Wearables: Fitness trackers, location tags, health monitors

  • Field Data Loggers: Agricultural sensors, wildlife monitoring

Q: Is the ESP32 suitable for industrial IoT applications?

Yes. The ESP32’s wide operating temperature range (-40°C to +85°C) and robust wireless capabilities make it suitable for many industrial IoT applications, including equipment monitoring, predictive maintenance, and remote data collection

Q: Can I perform OTA (Over-The-Air) updates?

Yes. The ESP32’s 4MB flash memory supports OTA firmware updates, allowing you to upload new code wirelessly without physically connecting to the module