ESP32-MINI-1

MINI module · based on ESP32 (ESP32 (classic)) · Active

  • Xtensa LX6
  • 2× @ 240 MHz
  • Wi-Fi 4
  • BT Classic + BLE
  • 4 MB flash
  • 28 GPIO
  • PCB antenna
Check price on AliExpress →

As an affiliate we may earn from qualifying purchases. Prices and availability are set by AliExpress.

Loading 3D model…

Interactive 3D model · drag to rotate

Figures here are compiled from Espressif's official datasheets, with the source linked on each page. Mistakes are possible, so if something looks off, please report it.

The ESP32-MINI-1 is a compact Espressif module built on the ESP32 dual-core Xtensa LX6 SoC clocked up to 240 MHz. It pairs 2.4 GHz Wi-Fi 4 and Bluetooth Classic + LE with 4 MB flash, routes the radio to a PCB antenna, and breaks out 28 GPIO; the module measures 13.2 × 19 × 2.4 mm.

Bluetooth Classic and BLE alongside Wi-Fi cover most connectivity needs, and it remains one of the most widely supported ESP modules. Secure boot and flash encryption are available for production security. Espressif lists target uses including Smart Home, Audio Devices, Industrial Automation, Generic Low-power IoT Sensor Hubs and Health Care.

Colour-coded by function · safe · ! use with care · reserved (flash/USB). Generated from the datasheet, not an official Espressif figure.
ESP32-MINI-1 pinout diagram, pins colour-coded by function with safe and use-with-care badges
#NameTypeFunctions
1, 2, 27, 38~55GNDP Ground
33V3P Power supply
4I36I GPIO36, ADC1_CH0, RTC_GPIO0
5I37I GPIO37, ADC1_CH1, RTC_GPIO1
6I38I GPIO38, ADC1_CH2, RTC_GPIO2
7I39I GPIO39, ADC1_CH3, RTC_GPIO3
8ENI Chip enable
9I34I GPIO34, ADC1_CH6, RTC_GPIO4
10I35I GPIO35, ADC1_CH7, RTC_GPIO5
11IO32I/O GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9
12IO33I/O GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8
13IO25I/O GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
14IO26I/O GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
15IO27I/O GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
16IO14I/O GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2
17IO12I/O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3
18IO13I/O GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER
19IO15I/O GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0, HS2_CMD, SD_CMD, EMAC_RXD3
20IO2I/O GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0
21IO0I/O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
22IO4I/O GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER
23NC- No connect
24NC- No connect
25IO9I/O GPIO9, HS1_DATA2, U1RXD, SD_DATA2
26IO10I/O GPIO10, HS1_DATA3, U1TXD, SD_DATA3
28NC- No connect
29IO5I/O GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
30IO18I/O GPIO18, HS1_DATA7, VSPICLK
31IO23I/O GPIO23, HS1_STROBE, VSPID
32IO19I/O GPIO19, VSPIQ, U0CTS, EMAC_TXD0
33IO22I/O GPIO22, VSPIWP, U0RTS, EMAC_TXD1
34IO21I/O GPIO21, VSPIHD, EMAC_TX_EN
35RXD0I/O GPIO3, U0RXD, CLK_OUT2
36TXD0I/O GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
37NC- No connect
Official datasheet pin-layout figure
ESP32-MINI-1 datasheet pin layout (top view)

Find a pin by function

Pick a capability to see which GPIOs provide it on the ESP32.

Freely usable, no special role.

GPIO4general-purpose! ADC2: unusable while Wi-Fi is on
GPIO9general-purpose
GPIO10general-purpose
GPIO18general-purpose
GPIO19general-purpose
GPIO21general-purpose
GPIO22general-purpose
GPIO23general-purpose
GPIO25general-purpose! ADC2: unusable while Wi-Fi is on
GPIO26general-purpose! ADC2: unusable while Wi-Fi is on
GPIO27general-purpose! ADC2: unusable while Wi-Fi is on
GPIO32general-purpose
GPIO33general-purpose

! Usable for general IO, but one function has a condition (e.g. ADC2 can't be read while Wi-Fi is on). See the note.

UART, I²C, SPI (master), I²S, PWM/LEDC and most digital peripherals route through the GPIO matrix, so assign them to any pin from "Safe GPIO". The categories above are the pins tied to a fixed function (analog, USB, crystal…) or that need care.

Strapping pins

⚑ flag an error

GPIOs sampled at reset; avoid driving these at power-up.

PinDefaultBitFunction
GPIO0pull-up1boot_mode
GPIO2pull-down0boot
MTDIpull-down0flash_voltage
MTDOpull-up1rom_log
GPIO5pull-up1sdio_timing

GPIO pin warnings

⚑ flag an error

On the ESP32, almost any peripheral can be routed to almost any GPIO through the IO MUX, so most pins are free to use. These are the exceptions: pins with a fixed role or a boot-time behaviour to design around.

PinWhy it needs care
GPIO0strapping pin (affects boot)
GPIO1UART0 console (boot log)
GPIO2strapping pin (affects boot)
GPIO3UART0 console (boot log)
GPIO5strapping pin (affects boot)
GPIO12strapping pin (affects boot); JTAG
GPIO13JTAG
GPIO14JTAG
GPIO15strapping pin (affects boot); JTAG
GPIO34input-only (no output/pull-up)
GPIO35input-only (no output/pull-up)
GPIO36input-only (no output/pull-up)
GPIO37input-only (no output/pull-up)
GPIO38input-only (no output/pull-up)
GPIO39input-only (no output/pull-up)
  • The ADC2 channels share hardware with the Wi-Fi radio, so ADC2 readings are unavailable while Wi-Fi is active. Those GPIOs are still free for any digital function, and the ADC1 channels work for analog input alongside Wi-Fi.

Compute & memory

⚑ flag an error
CPUXtensa LX6, 2-core
Max clock240 MHz
SRAM520 KB
ROM448 KB
Flash options4 MB
PSRAMNone
Co-processorULP-FSM
Wi-FiWi-Fi 4
Wi-Fi bands2.4GHz
BluetoothBT Classic + BLE
802.15.4 (Thread/Zigbee)No
AntennaPCB

Peripherals & I/O

⚑ flag an error
Usable GPIO28
ADC18× 12-bit
USBUSB-Serial(external)
UART / SPI / I²C / I²S3 / 2 / 2 / 2
TWAI (CAN)Yes
SD/MMCYes
Ethernet MACYes
Touch10
Operating voltage3.0-3.6 V
Deep sleep10 µA
Dimensions13.2 × 19 × 2.4 mm
Pin count34
Temp range-40 to 85 °C
MountingSMD castellated
LifecycleActive
Secure bootYes
Flash encryptionYes
CryptoAES, SHA, RSA, RNG
Digital signatureNo
TRNGYes

Ordering codes

⚑ flag an error

The orderable part numbers and what each ships with, decoded from the suffix. Confirm against the latest datasheet before ordering.

Part numberFlashPSRAMTemp
ESP32-MINI-1-N4 4 MB −40 to 85 °C
ESP32-MINI-1-H4 4 MB −40 to 105 °C

Schematics

ESP32-MINI-1 module reference-design schematic
Module reference design
ESP32-MINI-1 peripheral / application schematic showing how to wire the module
Peripheral / application circuit: how to wire it up

Mechanical & CAD

ESP32-MINI-1 physical dimensions drawing
Physical dimensions
ESP32-MINI-1 recommended PCB land pattern
Recommended PCB land pattern

Getting started

Frameworks: Arduino-ESP32 core (fully supported) · ESP-IDF 3.0+ (Espressif's official SDK) · MicroPython.

ESP-IDF target: idf.py set-target esp32.

Programming uses UART. Most dev boards include a USB-to-UART bridge; for the bare module add your own (e.g. CP2102/CH340).

Software & firmware

⚑ flag an error

Popular firmware and SDKs that run on the ESP32, so they run on the ESP32-MINI-1 too.

Notable open-source software & firmware known to run on this chip. Support evolves, so check each project for its current board support.

Smart home & IoT

  • Tasmota★ 24k

    Mature open firmware for smart switches, plugs and sensors, with web UI, MQTT and rules.

  • ESPHome★ 11k

    Describe your device in YAML and get firmware that integrates straight into Home Assistant, no C required.

  • OpenMQTTGateway★ 4.0k

    Bridges BLE, 433 MHz, IR and more to MQTT; a flexible multi-protocol IoT gateway.

  • ESPresense★ 1.4k

    Turn ESP32 nodes into a room-level BLE presence-detection network for Home Assistant.

SDKs & languages

  • MicroPython★ 22k

    Run Python 3 directly on the chip with an interactive REPL, great for rapid prototyping.

  • ESP-IDF★ 18k

    Espressif's official IoT development framework (FreeRTOS-based, C/C++); the reference SDK for every modern ESP32-family chip.

  • Arduino-ESP32★ 17k

    The official Arduino core for ESP32 chips; the easiest on-ramp, built on top of ESP-IDF.

  • NodeMCU firmware★ 7.9k

    Lua-scriptable firmware that made the ESP8266 famous; an ESP32 port is also available.

  • esp-hal (esp-rs)★ 2.0k

    Bare-metal Rust hardware-abstraction layer for Espressif chips, and the heart of the esp-rs ecosystem.

LED, display & UI

  • WLED★ 18k

    Fast, feature-rich control for addressable LED strips over Wi-Fi, with app, web UI and effects.

  • openHASP★ 992

    Build LVGL touchscreen control panels for home automation from a declarative config.

Security research

  • ESP32 Marauder★ 11k

    Wi-Fi/Bluetooth analysis and pen-testing suite for ESP32, for authorised testing and education.

  • Bruce★ 5.8k

    Predatory ESP32 firmware for offensive-security research on M5Stack and cheap-yellow-display boards.

Mesh & comms

  • Meshtastic★ 7.8k

    Long-range, off-grid LoRa mesh messaging firmware for ESP32-based radios.

AI, vision & voice

  • ESP-WHO★ 2.1k

    Espressif's on-device image-recognition framework (face detection/recognition) for camera builds.

Open-source projects using this module

Public GitHub projects whose KiCad design files reference the ESP32-MINI-1.

+ Add your project

Frequently asked questions

Does the ESP32-MINI-1 have Wi-Fi and Bluetooth?

It provides 2.4 GHz Wi-Fi 4 and Bluetooth Classic + LE.

How much memory does the ESP32-MINI-1 have?

It comes with 4 MB of flash, and the ESP32 has 520 KB of on-chip SRAM.

How many GPIO pins does the ESP32-MINI-1 have?

The module breaks out 28 GPIO, with up to 18 12-bit ADC channels. See the full pinout above.

Can I use the ESP32-MINI-1 with the Arduino IDE?

Yes. Install the Arduino-ESP32 core and pick an ESP32-based board. You can also use ESP-IDF 3.0 or MicroPython.

How do I flash the ESP32-MINI-1?

Programming uses UART. Most dev boards include a USB-to-UART bridge; for the bare module add your own (e.g. CP2102/CH340).

Is the ESP32-MINI-1 5 V tolerant?

No. It runs at 3.0-3.6 V and its GPIO are not 5 V tolerant, so level-shift any 5 V signals.

Can I use an external antenna with the ESP32-MINI-1?

Most Espressif modules are also offered in a "-U" / "-1U" variant that swaps the on-board PCB antenna for a U.FL/IPEX connector, otherwise identical. Check this part's datasheet for the exact variant name.

Further reading