Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use ESP32 mini: Examples, Pinouts, and Specs

Image of ESP32 mini
Cirkit Designer LogoDesign with ESP32 mini in Cirkit Designer

Introduction

The ESP32 Mini is a compact, low-power microcontroller with integrated Wi-Fi and Bluetooth capabilities. It is designed for Internet of Things (IoT) applications, embedded systems, and other projects requiring wireless connectivity and efficient processing power. Its small form factor makes it ideal for space-constrained designs, while its robust feature set supports a wide range of applications.

Explore Projects Built with ESP32 mini

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32C3 Supermini-Based Smart Environment Monitor and Lighting Control System
Image of Bedside RGB and Lamp: A project utilizing ESP32 mini in a practical application
This is a smart control system featuring an ESP32C3 Supermini microcontroller for interfacing with various sensors and actuators. It includes temperature and humidity sensing, RGB LED strip control, user input via a pushbutton and rotary encoder, and AC power control through a two-channel relay. The system is powered by an AC source converted to DC by the HLK-PM12 module.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3 and LoRa-Enabled Environmental Sensing Node
Image of temperature_KA: A project utilizing ESP32 mini in a practical application
This circuit features an ESP32C3 Supermini microcontroller connected to a LORA_RA02 module and a DHT11 temperature and humidity sensor. The ESP32C3 handles communication with the LORA module via SPI (using GPIO05, GPIO06, GPIO10, and GPIO04 for MISO, MOSI, NSS, and SCK respectively) and GPIO01 and GPIO02 for additional control signals. The DHT11 sensor is interfaced through GPIO03 for data reading, and all components share a common power supply through the 3.3V and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Audio Player with LED Indicators and Battery Charging
Image of Device Classification Pil (LED): A project utilizing ESP32 mini in a practical application
This circuit features an ESP32 Mini microcontroller connected to a DFPlayer Mini MP3 module for audio playback, with a loudspeaker attached for sound output. The ESP32 controls two LEDs (green and red) and reads an analog value from a potentiometer. Power management is handled by a TP4056 charging module connected to an 18650 battery, providing power to the ESP32 and other components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3-Controlled Smart Environment Monitoring and Lighting System
Image of Bedside RGB usb: A project utilizing ESP32 mini in a practical application
This is a smart control circuit utilizing an ESP32C3 Supermini microcontroller to interface with a DHT22 sensor for environmental data, a pushbutton and rotary encoder for user inputs, and an RGB LED strip for visual output. It also controls an AC LED bulb through a relay, with power supplied by an HLK-PM12 module converting AC to DC.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ESP32 mini

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Bedside RGB and Lamp: A project utilizing ESP32 mini in a practical application
ESP32C3 Supermini-Based Smart Environment Monitor and Lighting Control System
This is a smart control system featuring an ESP32C3 Supermini microcontroller for interfacing with various sensors and actuators. It includes temperature and humidity sensing, RGB LED strip control, user input via a pushbutton and rotary encoder, and AC power control through a two-channel relay. The system is powered by an AC source converted to DC by the HLK-PM12 module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of temperature_KA: A project utilizing ESP32 mini in a practical application
ESP32C3 and LoRa-Enabled Environmental Sensing Node
This circuit features an ESP32C3 Supermini microcontroller connected to a LORA_RA02 module and a DHT11 temperature and humidity sensor. The ESP32C3 handles communication with the LORA module via SPI (using GPIO05, GPIO06, GPIO10, and GPIO04 for MISO, MOSI, NSS, and SCK respectively) and GPIO01 and GPIO02 for additional control signals. The DHT11 sensor is interfaced through GPIO03 for data reading, and all components share a common power supply through the 3.3V and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Device Classification Pil (LED): A project utilizing ESP32 mini in a practical application
ESP32-Based Audio Player with LED Indicators and Battery Charging
This circuit features an ESP32 Mini microcontroller connected to a DFPlayer Mini MP3 module for audio playback, with a loudspeaker attached for sound output. The ESP32 controls two LEDs (green and red) and reads an analog value from a potentiometer. Power management is handled by a TP4056 charging module connected to an 18650 battery, providing power to the ESP32 and other components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Bedside RGB usb: A project utilizing ESP32 mini in a practical application
ESP32C3-Controlled Smart Environment Monitoring and Lighting System
This is a smart control circuit utilizing an ESP32C3 Supermini microcontroller to interface with a DHT22 sensor for environmental data, a pushbutton and rotary encoder for user inputs, and an RGB LED strip for visual output. It also controls an AC LED bulb through a relay, with power supplied by an HLK-PM12 module converting AC to DC.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wearable technology
  • Wireless sensor networks
  • Robotics and drones
  • Industrial automation
  • Prototyping and educational projects

Technical Specifications

The ESP32 Mini offers a powerful combination of processing power, connectivity, and versatility. Below are its key technical details:

Key Technical Details

  • Microcontroller: Dual-core Xtensa® 32-bit LX6 processor
  • Clock Speed: Up to 240 MHz
  • Flash Memory: 4 MB (varies by model)
  • SRAM: 520 KB
  • Wi-Fi: 802.11 b/g/n (2.4 GHz)
  • Bluetooth: v4.2 BR/EDR and BLE
  • Operating Voltage: 3.3V
  • GPIO Pins: Up to 22 (varies by breakout board)
  • ADC Channels: Up to 18 (12-bit resolution)
  • DAC Channels: 2
  • PWM Outputs: Multiple (configurable)
  • Communication Interfaces: UART, SPI, I2C, I2S
  • Power Consumption: Ultra-low power in deep sleep mode (~10 µA)

Pin Configuration and Descriptions

The pinout of the ESP32 Mini may vary slightly depending on the specific breakout board. Below is a general pin configuration:

Pin Name Description
1 GND Ground connection
2 3V3 3.3V power input/output
3 EN Enable pin (active high, used to reset the chip)
4 GPIO0 General-purpose I/O, also used for boot mode selection
5 GPIO1 (TX) UART TX (transmit) pin
6 GPIO3 (RX) UART RX (receive) pin
7 GPIO4 General-purpose I/O, supports PWM, ADC, etc.
8 GPIO5 General-purpose I/O, supports PWM, ADC, etc.
9 GPIO12 General-purpose I/O, supports ADC, touch input
10 GPIO13 General-purpose I/O, supports ADC, touch input
11 GPIO14 General-purpose I/O, supports ADC, touch input
12 GPIO15 General-purpose I/O, supports ADC, touch input
13 GPIO16 General-purpose I/O, supports ADC, touch input
14 GPIO17 General-purpose I/O, supports ADC, touch input
15 VIN Voltage input (typically 5V, regulated to 3.3V internally)

Note: Refer to the specific datasheet or breakout board documentation for exact pin mappings.

Usage Instructions

How to Use the ESP32 Mini in a Circuit

  1. Powering the ESP32 Mini:

    • Connect the VIN pin to a 5V power source or the 3V3 pin to a regulated 3.3V source.
    • Ensure the ground (GND) is connected to the circuit's ground.
  2. Programming the ESP32 Mini:

    • Use a USB-to-serial adapter to connect the ESP32 Mini to your computer.
    • Install the necessary drivers and the ESP32 board package in the Arduino IDE or other supported IDEs.
    • Select the correct board and port in the IDE settings.
  3. Connecting Peripherals:

    • Use the GPIO pins for digital and analog input/output.
    • Connect sensors, actuators, or other devices to the appropriate pins based on your circuit design.
  4. Uploading Code:

    • Write your program in the Arduino IDE or another supported environment.
    • Press the "Upload" button to flash the code to the ESP32 Mini.

Important Considerations and Best Practices

  • Voltage Levels: Ensure all connected peripherals operate at 3.3V logic levels to avoid damaging the ESP32 Mini.
  • Boot Mode: Hold the GPIO0 pin low during reset to enter bootloader mode for programming.
  • Power Supply: Use a stable power source to avoid unexpected resets or instability.
  • Deep Sleep Mode: Utilize deep sleep mode for battery-powered applications to minimize power consumption.

Example Code for Arduino UNO Integration

Below is an example of how to use the ESP32 Mini to control an LED via Wi-Fi:

#include <WiFi.h> // Include the Wi-Fi library

// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";

void setup() {
  Serial.begin(115200); // Initialize serial communication
  pinMode(2, OUTPUT);   // Set GPIO2 as an output pin (connected to an LED)

  // Connect to Wi-Fi
  Serial.print("Connecting to Wi-Fi");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWi-Fi connected!");
}

void loop() {
  digitalWrite(2, HIGH); // Turn the LED on
  delay(1000);           // Wait for 1 second
  digitalWrite(2, LOW);  // Turn the LED off
  delay(1000);           // Wait for 1 second
}

Note: Replace Your_SSID and Your_PASSWORD with your Wi-Fi network credentials.

Troubleshooting and FAQs

Common Issues and Solutions

  1. ESP32 Mini Not Connecting to Wi-Fi:

    • Double-check the SSID and password in your code.
    • Ensure the Wi-Fi network is operational and within range.
    • Verify that the ESP32 Mini is powered correctly.
  2. Code Upload Fails:

    • Ensure the correct board and port are selected in the IDE.
    • Hold the GPIO0 pin low during reset to enter bootloader mode.
    • Check the USB-to-serial adapter connection and drivers.
  3. Unstable Operation or Random Resets:

    • Use a stable and sufficient power supply.
    • Add decoupling capacitors near the power pins if necessary.
  4. GPIO Pin Not Working:

    • Verify the pin's function and ensure it is not reserved for other purposes.
    • Check for short circuits or incorrect wiring.

FAQs

  • Q: Can the ESP32 Mini operate on battery power?
    A: Yes, the ESP32 Mini can operate on battery power. Use a 3.7V LiPo battery with a voltage regulator or connect directly to the VIN pin if the battery voltage is within the acceptable range.

  • Q: How do I reset the ESP32 Mini?
    A: Press the reset button on the board or toggle the EN pin.

  • Q: Can I use the ESP32 Mini with other IDEs besides Arduino?
    A: Yes, the ESP32 Mini is compatible with other IDEs such as PlatformIO and Espressif's ESP-IDF.

By following this documentation, you can effectively integrate the ESP32 Mini into your projects and troubleshoot common issues.