

The Lolin32, manufactured by WeMos, is a compact development board based on the powerful ESP32 chip. It features integrated Wi-Fi and Bluetooth capabilities, making it an excellent choice for Internet of Things (IoT) projects and wireless communication applications. The board is designed to be user-friendly, with a small form factor and a USB interface for easy programming and power supply.








The Lolin32 ESP32 board is built around the ESP32-WROOM-32 module, which combines a dual-core processor, wireless communication capabilities, and a variety of peripherals.
| Parameter | Specification |
|---|---|
| Microcontroller | ESP32 (Xtensa® dual-core 32-bit LX6) |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 4 MB (onboard) |
| SRAM | 520 KB |
| Wi-Fi | 802.11 b/g/n |
| Bluetooth | v4.2 BR/EDR and BLE |
| Operating Voltage | 3.3V |
| Input Voltage (USB) | 5V |
| GPIO Pins | 32 |
| ADC Channels | 18 (12-bit resolution) |
| DAC Channels | 2 |
| Communication Interfaces | UART, SPI, I2C, I2S, CAN, PWM |
| Dimensions | 50 mm x 25.4 mm |
The Lolin32 board features a variety of pins for different functionalities. Below is the pinout description:
| Pin Name | Functionality | Notes |
|---|---|---|
| 3V3 | 3.3V Power Output | Provides 3.3V for external components |
| GND | Ground | Common ground for the circuit |
| EN | Enable | Active high, enables the chip |
| GPIO0 | General Purpose I/O, Boot Mode Select | Used for flashing firmware |
| GPIO2 | General Purpose I/O | Can be used as ADC or PWM |
| GPIO12 | General Purpose I/O | Can be used as ADC or PWM |
| GPIO13 | General Purpose I/O | Can be used as ADC or PWM |
| GPIO21 | SDA (I2C) | Default I2C data pin |
| GPIO22 | SCL (I2C) | Default I2C clock pin |
| TXD0 | UART0 Transmit | Serial communication TX |
| RXD0 | UART0 Receive | Serial communication RX |
For a complete pinout diagram, refer to the official WeMos documentation.
Powering the Board:
Programming the Board:
Connecting Peripherals:
The following example demonstrates how to use the Lolin32 to read data from a DHT11 temperature and humidity sensor and send it to a serial monitor.
#include <DHT.h>
// Define the DHT sensor type and pin
#define DHTPIN 4 // GPIO4 is connected to the DHT11 data pin
#define DHTTYPE DHT11 // DHT11 sensor type
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200); // Initialize serial communication
dht.begin(); // Initialize the DHT sensor
Serial.println("DHT11 Sensor Test");
}
void loop() {
delay(2000); // Wait 2 seconds between readings
// Read temperature and humidity
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if readings are valid
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the results to the serial monitor
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
}
The board is not detected by the computer:
Upload errors in the Arduino IDE:
Wi-Fi connection issues:
GPIO pin not working as expected:
Q: Can the Lolin32 be powered by a battery?
A: Yes, the Lolin32 has a JST connector for a LiPo battery. Ensure the battery voltage is within the supported range (3.7V nominal).
Q: How do I reset the board?
A: Press the "EN" button to reset the board.
Q: Can I use the Lolin32 with MicroPython?
A: Yes, the Lolin32 supports MicroPython. You can flash the MicroPython firmware to the board and use it for development.
Q: What is the maximum current output of the 3V3 pin?
A: The 3V3 pin can supply up to 500 mA, depending on the input power source.
This concludes the documentation for the Lolin32 ESP32 development board. For further details, refer to the official WeMos resources.