Opens in a new tab

LOLIN S2 Mini Pinout

LOLIN S2 Mini (formerly WEMOS) is a D1 mini-sized board with the ESP32-S2 chip and a USB-C connector. The outer rows of pads match the D1 mini, so D1 mini shields fit on it; the inner rows add another 16 pins – 27 GPIO are broken out in total.

The ESP32-S2 has a single core, Wi-Fi and native USB, but no Bluetooth.

Specifications

  • ESP32-S2FN4R2: 1 Xtensa LX7 core up to 240 MHz, 4 MB flash and 2 MB PSRAM in the package
  • 2.4 GHz Wi-Fi (no Bluetooth)
  • 27 GPIO in two double rows, 20 analog inputs (ADC1 and ADC2), 2× DAC (GPIO17, GPIO18)
  • UART, I2C, SPI, PWM, I2S, touch inputs (GPIO1–14), USB OTG
  • USB-C (native USB), BOOT (0) and RST buttons, LED on GPIO15
  • 34.3 × 25.4 mm (D1 mini size)

The diagram shows the component side, with USB at the top. GPIO numbers are printed on the silkscreen only on the bottom side, next to each pair of pads (inner/outer). The labels on both the left and right side alternate from the top: inner and outer row.

The Pin column of the table shows the connector from the WEMOS schematic (J2–J5) and its pin number – pin 1 is at the bottom near the antenna. Both the Arduino and MicroPython consoles run over native USB; UART0 (GPIO43/44) is not routed to the pads.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
LOLIN S2 Mini – pinoutLOLIN S2 Mini – pinoutchiptron.eu · CC BY 4.0ESP32-S2015RSTS2 Mini GPIO15 ADC2_CH4 LED VBUS ↔ 5 V from USB-C; power input when USB is not connected GND GND GPIO17 ADC2_CH6 GPIO16 ADC2_CH5 GPIO21 GPIO18 ADC2_CH7 GPIO34 GPIO33 SDA GPIO36 GPIO35 SCL GPIO38 GPIO37 RX GPIO40 GPIO39 TX GPIO14 ADC2_CH3 3V3 → 3.3 V output from the board's regulator GPIO13 ADC2_CH2 GPIO12 SS ADC2_CH1 GPIO10 ADC1_CH9 GPIO11 MOSI ADC2_CH0 GPIO8 ADC1_CH7 GPIO9 MISO ADC1_CH8 GPIO6 ADC1_CH5 GPIO7 SCK ADC1_CH6 GPIO4 ADC1_CH3 GPIO5 ADC1_CH4 GPIO2 ADC1_CH1 GPIO3 ADC1_CH2 GPIO1 ADC1_CH0 EN ← Reset (RST button) – logic 0 holds the chip in reset GPIO UART I2C SPI ADC (analog) Power Ground (GND) Control / reset
Download:PNGSVG
Pin table – LOLIN S2 Mini
PinNameDirectionUARTI2CSPIADCDACTouchNote
J2 (right outer) 1ENinputReset (RST button) – logic 0 holds the chip in reset
J2 (right outer) 2GPIO3input/outputADC1_CH2T3At position A0 on the D1 mini – but in Arduino it is A2 (A0–A19 = GPIO1–20).
J2 (right outer) 3GPIO5input/outputADC1_CH4T5
J2 (right outer) 4GPIO7input/outputSCKADC1_CH6T7
J2 (right outer) 5GPIO9input/outputMISOADC1_CH8T9
J2 (right outer) 6GPIO11input/outputMOSIADC2_CH0T11
J2 (right outer) 7GPIO12input/outputSSADC2_CH1T12
J2 (right outer) 83V3output3.3 V output from the board's regulator
J3 (left outer) 1GPIO39input/outputTXUART TX in Arduino (Serial1) – the console is over USB
J3 (left outer) 2GPIO37input/outputRXUART RX v Arduinu (Serial1)
J3 (left outer) 3GPIO35input/outputSCL
J3 (left outer) 4GPIO33input/outputSDA
J3 (left outer) 5GPIO18input/outputADC2_CH7DAC2The board has a 10 kΩ pull-up to 3.3 V – the pin idles at logic 1, affecting the DAC2 output and ADC readings.
J3 (left outer) 6GPIO16input/outputADC2_CH5
J3 (left outer) 7GND–
J3 (left outer) 8VBUSinput/output5 V from USB-C; power input when USB is not connected
J4 (left inner) 1GPIO40input/outputJTAG MTDO
J4 (left inner) 2GPIO38input/output
J4 (left inner) 3GPIO36input/output
J4 (left inner) 4GPIO34input/output
J4 (left inner) 5GPIO21input/output
J4 (left inner) 6GPIO17input/outputADC2_CH6DAC1
J4 (left inner) 7GND–
J4 (left inner) 8GPIO15input/outputADC2_CH4Onboard LED through 2 kΩ, lit at logic 1. Can also be used as a general-purpose GPIO.
J5 (right inner) 1GPIO1input/outputADC1_CH0T1
J5 (right inner) 2GPIO2input/outputADC1_CH1T2
J5 (right inner) 3GPIO4input/outputADC1_CH3T4
J5 (right inner) 4GPIO6input/outputADC1_CH5T6
J5 (right inner) 5GPIO8input/outputADC1_CH7T8
J5 (right inner) 6GPIO10input/outputADC1_CH9T10
J5 (right inner) 7GPIO13input/outputADC2_CH2T13
J5 (right inner) 8GPIO14input/outputADC2_CH3T14

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GPIO0BOOT button (0) – strapping pin, logic 0 at boot = download mode
GPIO19, 20USB D− and D+ (native USB, USB-C connector)
GPIO26–32Flash and PSRAM in the chip package
GPIO43, 44UART0 (bootloader output) – not routed to pads, the console goes over USB

What to watch out for

  • The GPIO are not 5V tolerant.
  • GPIO0 is only on the BOOT button – when uploading over native USB, holding BOOT and pressing RST often helps.
  • GPIO18 has a 10 kΩ pull-up on the board – it idles at logic 1 (affects DAC2 and ADC).
  • ADC2 (GPIO11–18) cannot be read reliably while Wi-Fi is on – use GPIO1–10 for analog inputs.
  • The A0 position of D1 mini shields is GPIO3 (A2 in Arduino).
  • Cheap clones often have a chip without PSRAM.

ESP32-S2 on chiptron.eu/

Projects and guides on chiptron.eu/:

More pinouts

See all pinouts on the Pinouts page.

Related Articles