ESP32 38-Pin DevKit (Generic Clone) image

ESP32 38-Pin DevKit (Generic Clone)

Development Board

Code name: ESP32_DEV

ESP32 38-Pin DevKit (Generic Clone) is a development board based on the ESP32 microcontroller using XTENSA architecture.

This board features a maximum CPU frequency of 240 MHz and 4MB flash memory.

About ESP32 38-Pin DevKit (Generic Clone)

The ESP32 38-Pin DevKit is a wider variant of the ESP32 development board commonly found on AliExpress, eBay, and Amazon. These boards typically have "NodeMCU-32S" or "ESP32-WROOM-32" silkscreen labels and offer more exposed GPIO pins compared to the 30-pin variant.

✅ How to Identify Which Board You Have

1. Check the USB-to-Serial Chip
Look near the USB port for a square or rectangle IC with one of these labels:
  • CH340C / CH340G → Most common on cheap clones. Rectangle chip.
  • CH340C on ESP32 30pin Development Board
  • CP2102 → Common on mid-range boards. Square chip.
  • CP2102 on ESP32 30pin Development Board
  • CH9102F → Newer chip, similar to CP2102. Square chip.
  • CP2102 vs CH9102 on ESP32 30pin Development Board
  • FT232RL → Less common but still found. Rectangle chip.

If you want to know more about USB-to-Serial chips, check out this detailed guide.

2. Count the Pins

📏 38-pin boards are wider "NodeMCU-32S" style boards with 19 pins per side.

If you have 30 pins, check out the 30-pin variant guide instead.

3. Check the Power Regulator
  • AMS1117 → Older clones (gets hot under load)
    • Usually comes in a larger SOT-223 package with a flat metal tab (heatsinkable)
    • Often has "AMS1117" or "1117/3.3" printed directly on the chip
    • If you see a chunky 3-lead component with a metal tab near the USB port, it's likely AMS1117
    AMS1117 Voltage Regulator on ESP32 30pin Development Board
  • ME6211 / HT7333 → Newer low-dropout regulators (better efficiency)
    • Typically comes in small SOT-89 or SOT-23 packages (much smaller than SOT-223)
    • If it's a tiny 3-pin SMD component next to the input capacitors, it's likely HT7333
    • May have short marking codes that are harder to read

💡 Tip: Some boards print the regulator type on the silkscreen (check the board's underside or near the regulator for labels like "AMS1117" or "HT7333").

4. Look for Common Labels
Many 38-pin boards are labeled as:
  • NodeMCU-32S → Very common CP2102-based boards
  • ESP32 DevKit V1 → Generic label, various USB chips
  • ESP-WROOM-32 → Refers to the WiFi module, not the board itself

✨ Key Advantages Over 30-Pin Boards

  • More GPIOs exposed: 38 pins vs 30 pins means access to GPIO6-11 (though still not recommended for general use)
  • VIN pin exposed: Can power from external 5V source without USB
  • Better breadboard compatibility: Wider spacing works better with some breadboards
  • More ground pins: Better for power distribution in complex projects

⚠️ Important Notes

  • 38 pins total → More GPIOs than 30-pin variant, but still avoid GPIO6-11 (flash pins)
  • Some boards label ADC pins as VP, VN, SVP, SVN instead of GPIO numbers
  • Driver installation required for CH340 chips (automatic on most modern systems)
  • Strapping pins (GPIO0, GPIO2, GPIO12, GPIO15) must be in correct state during boot
  • Wider board requires more breadboard space (may not fit standard 400-point breadboards)
Despite the variations, these boards are excellent for complex projects that need more GPIO pins and external power options. They work perfectly with Arduino IDE, PlatformIO, and ESP-IDF once you identify which USB driver you need.

Where to Buy ESP32 38-Pin DevKit (Generic Clone)

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specifications

Complete technical specification details for ESP32 38-Pin DevKit (Generic Clone)

USB

Type Micro-USB
Serial Chip CH340C / CH9102F / CP2102

Connectivity

WiFi 802.11 b/g/n (2.4 GHz)
Bluetooth 4.2
BLE 4.2

Microcontroller

Model esp32
Clock Speed 240 MHz
Flash Size 4MB
Architecture xtensa

Features & Pins

Digital IO 38
Analog Input 16
PWM 16
Interrupts 16

Quick Setup

Copy-paste configs for ESP32 38-Pin DevKit (Generic Clone) - auto‑generated from this board's exact hardware specs.

ESP32 240 MHz 4MB DIO Xtensa

In Arduino IDE 2 select Esp32 Dev from the esp32 by Espressif package. In PlatformIO use board = esp32dev. ESP32 · 240 MHz · 4MB · DIO.

Tools menu settings
Board (select in Arduino IDE) Esp32 Dev
CPU Frequency 240 MHz
Flash Size 4MB
Flash Mode DIO
Upload Speed 921600
Architecture Xtensa

In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools → Board and select "Esp32 Dev" for the ESP32 38-Pin DevKit (Generic Clone).

ESP32 38-Pin DevKit (Generic Clone) Board Dimensions

Physical measurements for ESP32 38-Pin DevKit (Generic Clone)

Width 28mm
Length 55mm

ESP32 38-Pin DevKit (Generic Clone) Pinout Diagram

Complete pin reference for ESP32 38-Pin DevKit (Generic Clone)

ESP32 38-Pin DevKit (Generic Clone) pinout diagram

Universal 38-Pin Layout (NodeMCU-32S Style)

This pinout matches most 38-pin ESP32 development boards, including NodeMCU-32S and wider ESP32 DevKit clones.

⚠️ Critical Boot Pins (Strapping Pins):

  • GPIO0 - Boot mode: HIGH = normal boot, LOW = download/flash mode
  • GPIO2 - Must be LOW or floating during boot (has onboard LED)
  • GPIO12 - Flash voltage: LOW = 3.3V (default), HIGH = 1.8V
  • GPIO15 - Debug output: LOW = normal (HIGH can cause boot failure)

🔌 Power

  • VIN: 5V input (powers regulator)
  • USB: 5V Micro-USB
  • 3V3 Out: ~600mA max
  • GPIO: 40mA/pin max

📡 Serial

  • UART0: TX=GPIO1, RX=GPIO3
    USB programming
  • UART1: TX=GPIO10, RX=GPIO9
    ⚠️ Flash pins - avoid
  • UART2: TX=GPIO17, RX=GPIO16
    Available for sensors

🔧 I2C & SPI

  • I2C: SDA=GPIO21, SCL=GPIO22
    Software configurable
  • VSPI: MOSI=23, MISO=19, CLK=18, CS=5
  • HSPI: MOSI=13, MISO=12, CLK=14, CS=15

🔧 Analog & Touch Capabilities

ADC1 (WiFi-safe): GPIO32-39
Use these when WiFi is active
ADC2: GPIO0, 2, 4, 12-15, 25-27
Not reliable with WiFi
DAC: GPIO25 (DAC1), GPIO26 (DAC2)
8-bit digital-to-analog
Touch Sensors: Multiple GPIOs
No external components needed

🚫 Do NOT Use These Pins:

  • GPIO6-11: Connected to internal SPI flash - will cause boot failure
  • These pins are exposed on 38-pin boards but should never be used in your projects

💡 Pro Tips:

  • Always use ADC1 channels (GPIO32-39) if WiFi is active
  • Never use GPIO6-11 - they're connected to flash memory
  • GPIO34-39 are input-only (no internal pull-up/down resistors)
  • Use external pull-up resistors on I2C lines (4.7kΩ typical)
  • Most 38-pin boards have an onboard LED on GPIO2
  • VIN pin allows powering the board from external 5V without USB

Safe Pins to Use

These pins are safe for general GPIO usage without boot or system conflicts

EN
IO32
IO33
IO25
IO26
IO27
VIN
IO18
IO19
IO21
RX0
TX0
IO22
IO23

Why Are These Pins Safe?

No boot sequence involvement
No flash/PSRAM connections
No USB or JTAG conflicts
Freely assignable without issues

Pins to Avoid or Use with Caution

Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.

Strapping Pins

Boot behavior & flash voltage

JTAG Debugging

Low-level debugging interface

USB Pins

USB Serial/JTAG communication

Flash/SPI Pins

Memory & PSRAM connections

UART Serial

Debugging & firmware uploads

PINLabelWhy AvoidType
IO36GPIO36 (SENSOR_VP)Cannot be used as output; only suitable for input (e.g., analog read).🪛 Other
IO39GPIO39 (SENSOR_VN)Cannot be used as output; only suitable for input.🪛 Other
IO34GPIO34Cannot be used as output (no drive capability); only suitable for analog/digital input.🪛 Other
IO35GPIO35Cannot be used as output; only suitable for input.🪛 Other
IO14MTMS (GPIO14)Used for JTAG debugging (TMS); driving it as GPIO may interfere with JTAG or produce spurious signals at boot.🪛 Other

ESP32 38-Pin DevKit (Generic Clone) Custom Pin Mapping

Pin configuration and GPIO mapping for ESP32 38-Pin DevKit (Generic Clone)

38
Digital I/O Pins
16
Interrupt Pins
16
Analog Inputs
16
PWM Pins
PinFunctionESP PinI/O TypeDescription
13V33.3VPOWER OUTPUT3.3V regulated output (~600mA max)
2ENENINPUTEnable/Reset pin (active LOW)
3IO36VP / SVPINPUT ONLYADC1_CH0, input only, no pull resistors
4IO39VN / SVNINPUT ONLYADC1_CH3, input only, no pull resistors
5IO34INPUT ONLYINPUT ONLYADC1_CH6, input only
6IO35INPUT ONLYINPUT ONLYADC1_CH7, input only
7IO32GPIO32BIDIRECTIONALADC1_CH4, Touch9
8IO33GPIO33BIDIRECTIONALADC1_CH5, Touch8
9IO25GPIO25BIDIRECTIONALDAC1, ADC2_CH8
10IO26GPIO26BIDIRECTIONALDAC2, ADC2_CH9
11IO27GPIO27BIDIRECTIONALADC2_CH7, Touch7
12IO14GPIO14BIDIRECTIONALADC2_CH6, Touch6, HSPI_CLK
13IO12GPIO12BIDIRECTIONALADC2_CH5, Touch5, HSPI_MISO, ⚠️ Strapping pin
14GNDGNDGROUNDGround connection
15IO13GPIO13BIDIRECTIONALADC2_CH4, Touch4, HSPI_MOSI
16IO9SD2SPECIAL⚠️ Flash pin - Do not use
17IO10SD3SPECIAL⚠️ Flash pin - Do not use
18IO11CMDSPECIAL⚠️ Flash pin - Do not use
19VIN5V INPOWER INPUT5V input to onboard regulator
20GNDGNDGROUNDGround connection
21IO6CLKSPECIAL⚠️ Flash pin - Do not use
22IO7SD0SPECIAL⚠️ Flash pin - Do not use
23IO8SD1SPECIAL⚠️ Flash pin - Do not use
24IO15GPIO15BIDIRECTIONALADC2_CH3, Touch3, HSPI_CS, ⚠️ Strapping pin
25IO2GPIO2BIDIRECTIONALADC2_CH2, Touch2, LED, ⚠️ Strapping pin
26IO0GPIO0BIDIRECTIONALADC2_CH1, Touch1, ⚠️ Boot button (strapping pin)
27IO4GPIO4BIDIRECTIONALADC2_CH0, Touch0
28IO16RX2BIDIRECTIONALUART2 RX
29IO17TX2BIDIRECTIONALUART2 TX
30IO5GPIO5BIDIRECTIONALVSPI_CS
31IO18GPIO18BIDIRECTIONALVSPI_CLK
32IO19GPIO19BIDIRECTIONALVSPI_MISO
33GNDGNDGROUNDGround connection
34IO21GPIO21BIDIRECTIONALI2C_SDA (default)
35RX0GPIO3BIDIRECTIONALUART0 RX (USB serial)
36TX0GPIO1BIDIRECTIONALUART0 TX (USB serial)
37IO22GPIO22BIDIRECTIONALI2C_SCL (default)
38IO23GPIO23BIDIRECTIONALVSPI_MOSI
Legend
Function Pin role
GPIO ESP32 pin
I/O Direction
# Pin number

Default Tools & Configuration

Build and upload settings for ESP32 38-Pin DevKit (Generic Clone)

SettingValue
Bootloader toolesptool_py
Uploader toolesptool_py
Network uploader toolesp_ota
Bootloader address0x1000
Flash modedio
Boot modedio
Maximum upload size
1280 KB (1310720 bytes)
Maximum data size
320 KB (327680 bytes)
Configuration Summary

The ESP32 38-Pin DevKit (Generic Clone) uses esptool_py for uploads , esp_ota for OTA updates, and esptool_py bootloader at 0x1000.

Flash mode: dio | Boot mode: dio

Max sketch size: 1280 KB | Max data size: 320 KB

iiq_pixel