Skip to content

Power Supply

Power Sources

The ESP32-S3-DevKitC-1 can be powered through three methods:

Either USB port provides 5V power:

PortConnectorICNotes
UART (J2)Micro-USBCP2102NProgramming + Power
USB (J4)Micro-USBNative ESP32-S3USB-OTG + Power

2. External 5V Supply

Apply 5V directly to the 5V header pin:

ParameterValue
Voltage Range4.5 - 5.5V
Maximum Current800 mA
ProtectionD1/D7 Schottky diodes

3. Direct 3.3V Supply

Bypass the LDO by applying regulated 3.3V to the 3V3 pin:

ParameterValue
Voltage Range3.0 - 3.6V
Maximum CurrentLimited by supply
NotesBypasses onboard regulator

Power Path

graph TD
    USB["USB 5V"] --> D1["D1 (Schottky)"]
    EXT["External 5V"] --> D7["D7"]
    D1 --> RAIL["5V Pin"]
    D7 --> RAIL
    RAIL --> LDO["SGM2212 LDO"]
    LDO --> V33["3.3V Rail"]
    V33 --> ESP["ESP32-S3"]

Schottky Diodes (D1, D7)

The 1N5819HW Schottky diodes provide:

  • Reverse polarity protection
  • OR-ing between USB and external 5V
  • Low forward voltage drop (~0.3V)

LDO Regulator

SGM2212-3.3 Specifications

ParameterValue
Input Voltage4.5 - 5.5V
Output Voltage3.3V ±2%
Maximum Current500 mA
Dropout Voltage300 mV @ 500 mA
Quiescent Current65 μA
Thermal Shutdown150°C

Current Budget

Typical Current Consumption

ComponentCurrent
ESP32-S3 (active, 240 MHz)70 mA
Wi-Fi TX+280 mA
Wi-Fi RX+25 mA
Bluetooth TX+60 mA
Bluetooth RX+25 mA
RGB LED (max brightness)20 mA
Total (worst case)~450 mA

Budget Example

Planning a project with:

  • ESP32-S3 running Wi-Fi (150 mA average)
  • 5 external LEDs (10 mA each = 50 mA)
  • Small sensor (10 mA)
  • Total: 210 mA

This fits within the 500 mA LDO limit with margin.

Low Power Modes

Sleep Mode Current

ModeCurrentWake Sources
Active70-350 mA-
Modem Sleep~20 mACPU timer, GPIO
Light Sleep~130 μATimer, GPIO, touch
Deep Sleep~7 μATimer, GPIO, ULP
Hibernate~5 μATimer only

Deep Sleep Configuration

#include <esp_sleep.h>
void enterDeepSleep(uint64_t sleepTimeUs) {
// Configure wake sources
esp_sleep_enable_timer_wakeup(sleepTimeUs);
// Optional: GPIO wake
esp_sleep_enable_ext0_wakeup(GPIO_NUM_4, LOW);
// Enter deep sleep
esp_deep_sleep_start();
}

Battery Operation

For battery-powered projects:

LiPo Battery Connection

graph LR
    subgraph "Option A: Via 5V rail"
        LIPO1["LiPo 3.7V"] --> BOOST["Boost/Buck to 5V"] --> PIN5V["5V Pin"]
    end
    subgraph "Option B: Direct 3.3V"
        LIPO2["LiPo 3.7V"] --> LDO["LDO 3.3V"] --> PIN3V3["3V3 Pin<br/>(bypass onboard LDO)"]
    end

Battery Monitoring

Use ADC to monitor battery voltage:

#define BATTERY_PIN 4 // GPIO4 with voltage divider
#define VOLTAGE_DIVIDER_RATIO 2.0 // R1=R2=10K
float readBatteryVoltage() {
int adcValue = analogRead(BATTERY_PIN);
float voltage = (adcValue / 4095.0) * 3.3 * VOLTAGE_DIVIDER_RATIO;
return voltage;
}

Power Design Tips

1. Decoupling Capacitors

The board includes bulk and decoupling capacitors:

  • 10μF on 5V rail
  • 10μF on 3.3V rail
  • 0.1μF near ESP32-S3 power pins

2. High-Current Peripherals

For motors, relays, or high-power LEDs:

  • Use external power supply
  • Add isolation (optocouplers, transistors)
  • Consider separate ground planes

3. Noise Reduction

  • Keep high-frequency signals away from power lines
  • Use ferrite beads on noisy loads
  • Add local decoupling for sensitive analog circuits

4. ESD Protection

The board includes ESD protection diodes (LESD5D5.0CT1G) on:

  • USB data lines
  • Boot/Reset buttons
  • Critical GPIO

Power Consumption Measurement

Using USB Power Meter

  1. Insert USB power meter between USB cable and board
  2. Measure idle current
  3. Trigger various modes (Wi-Fi, BLE, sleep)
  4. Record measurements

Using INA219 Module

#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
void setup() {
ina219.begin();
}
void loop() {
float voltage = ina219.getBusVoltage_V();
float current = ina219.getCurrent_mA();
float power = ina219.getPower_mW();
Serial.printf("%.2fV, %.2fmA, %.2fmW\n", voltage, current, power);
delay(1000);
}