

The ESP32 WROOM 38 PINS is a powerful microcontroller module designed for a wide range of applications, particularly in the Internet of Things (IoT) domain. It features integrated Wi-Fi and Bluetooth capabilities, making it ideal for wireless communication and smart device projects. With 38 GPIO pins, the ESP32 WROOM offers extensive interfacing options for sensors, actuators, and other peripherals.








The ESP32 WROOM 38 PINS module has the following pinout:
| Pin Number | Pin Name | Function |
|---|---|---|
| 1 | GND | Ground |
| 2 | 3V3 | 3.3V Power Supply |
| 3 | EN | Enable (Active High) |
| 4 | IO0 | GPIO0, Boot Mode Selection |
| 5 | IO1 (TX0) | GPIO1, UART0 TX |
| 6 | IO3 (RX0) | GPIO3, UART0 RX |
| 7 | IO4 | GPIO4, PWM, ADC |
| 8 | IO5 | GPIO5, PWM, ADC |
| 9 | IO12 | GPIO12, ADC, Touch Sensor |
| 10 | IO13 | GPIO13, ADC, Touch Sensor |
| 11 | IO14 | GPIO14, PWM, ADC |
| 12 | IO15 | GPIO15, PWM, ADC |
| 13 | IO16 | GPIO16, UART2 RX |
| 14 | IO17 | GPIO17, UART2 TX |
| 15 | IO18 | GPIO18, SPI CLK |
| 16 | IO19 | GPIO19, SPI MISO |
| 17 | IO21 | GPIO21, I2C SDA |
| 18 | IO22 | GPIO22, I2C SCL |
| 19 | IO23 | GPIO23, SPI MOSI |
| 20 | IO25 | GPIO25, DAC1, ADC |
| 21 | IO26 | GPIO26, DAC2, ADC |
| 22 | IO27 | GPIO27, ADC, Touch Sensor |
| 23 | IO32 | GPIO32, ADC, Touch Sensor |
| 24 | IO33 | GPIO33, ADC, Touch Sensor |
| 25 | IO34 | GPIO34, ADC (Input Only) |
| 26 | IO35 | GPIO35, ADC (Input Only) |
| 27 | VIN | External Power Input (5V) |
Note: Some GPIO pins have specific boot mode functions or restrictions. Refer to the ESP32 datasheet for detailed pin behavior.
Powering the Module:
3V3 pin to a 3.3V power source. VIN pin to supply 5V, which will be regulated internally. GND pin is connected to the ground of your circuit.Programming the ESP32:
TX and RX pins of the ESP32 to the corresponding pins on the adapter. Connecting Peripherals:
Uploading Code:
BOOT button (connected to GPIO0) while resetting the module to enter programming mode. The following example demonstrates how to blink an LED connected to GPIO2:
// Define the GPIO pin for the LED
#define LED_PIN 2
void setup() {
pinMode(LED_PIN, OUTPUT); // Set GPIO2 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
ESP32 Not Responding or Uploading Code:
BOOT button is pressed during the upload process. Wi-Fi Connection Fails:
Random Resets or Instability:
GPIO Pin Not Working as Expected:
Q: Can I use the ESP32 with a 5V sensor?
A: Yes, but you will need a level shifter to convert the 5V signals to 3.3V.
Q: How do I reset the ESP32?
A: Press the EN button to reset the module.
Q: Can I use the ESP32 for Bluetooth and Wi-Fi simultaneously?
A: Yes, the ESP32 supports simultaneous use of Bluetooth and Wi-Fi, but performance may vary depending on the workload.
This concludes the documentation for the ESP32 WROOM 38 PINS module.