OC
OceanRemote
Low-code IoT platform
Back to Troubleshooting Hub

Power Supply Not Enough Current

Your ESP32, ESP8266, or Pico W resets randomly, especially when WiFi connects or relays activate. The brownout detector triggers, or devices behave erratically. This guide covers current requirements, power supply selection, capacitor solutions, and brownout prevention.

Last updated: April 22, 2026 | 12 min read

Symptoms

  • ESP32/ESP8266 resets when WiFi connects
  • Serial Monitor shows "Brownout detector was triggered" message
  • Device works on USB power but fails on battery or external supply
  • Relays click weakly or not at all when multiple activated
  • Voltage measured at 3.3V pin drops below 3.0V during operation
  • LEDs dim or flicker when relays activate
  • Device reboots randomly, especially during WiFi transmission or relay activation

Common Causes

  1. Inadequate Power Supply Rating Supply cannot provide peak current demand
  2. Poor Quality USB Cable Thin wires cause voltage drop under load; many cables are charge-only (no data)
  3. Voltage Regulator Overload ESP32/ESP8266 on-board regulator cannot supply enough current for both board and relays
  4. Long or Thin Power Wires Resistance causes voltage drop at high current
  5. Battery Depleted Battery voltage sags below 3.3V under load
  6. Missing Bulk Capacitor No energy storage for current spikes
  7. Multiple Relays Active Simultaneously Total current exceeds supply capacity

Device Current Requirements

Device / State Current Draw Peak Current Notes
ESP32 Deep sleep5-10 A10 AULP coprocessor only
ESP32 Idle 50-80 mA100 mACPU running
ESP32 WiFi connected80-120 mA150 mAAverage consumption
ESP32 WiFi transmitting180-240 mA300 mAPeak during transmission
ESP8266 Deep sleep10-20 A20 ADeep sleep mode
ESP8266 WiFi connected70-100 mA120 mANormal operation
ESP8266 WiFi transmitting170-220 mA250 mAPeak during transmission
Pico W WiFi connected80-120 mA160 mACYW43439 WiFi chip
5V Relay 50-80 mA100 mAWhen activated
DHT22 sensor1-2 mA2.5 mADuring reading only
DS18B20 sensor1-4 mA5 mADuring conversion
LED indicator 5-20 mA20 mAWith 220 resistor at 5V

Peak currents occur during WiFi transmission and relay activation .

Recommended Power Supply Capacity

Configuration Minimum PSU Recommended PSU Notes
ESP32 alone 5V 500mA5V 1AComputer USB port OK
ESP32 + 1 relay5V 1A5V 1APhone charger works
ESP32 + 2 relays5V 1.5A5V 2AExternal supply recommended
ESP32 + 5 relays5V 2A5V 3AExternal supply required
ESP32 + 5 relays + sensors5V 2.5A5V 3A-5AUse quality power supply
ESP8266 alone 5V 500mA5V 1AComputer USB port OK
ESP8266 + 2 relays5V 1A5V 1.5APhone charger works
ESP8266 + 5 relays5V 1.5A5V 2AExternal supply recommended
Pico W alone 5V 500mA5V 1AComputer USB port OK
Pico W + 5 relays5V 1.5A5V 2AExternal supply recommended

Brownout Thresholds by Chip

Chip Brownout Threshold Minimum Operating Voltage Action
ESP32 (all variants)3.0V - 3.3V2.7V - 3.0VAdd capacitor or upgrade supply
ESP82662.8V - 3.0V2.5V - 2.8VMore tolerant but still affected
Pico W 1.8V - 2.5V1.8VMore tolerant, but USB power still needed

ESP32 is most sensitive to brownouts. Always use quality power supply with capacitor.

Step-by-Step Fixes

1. Measure Voltage Under Load

Diagnose voltage drop during peak current draw:

  • Set multimeter to DC voltage
  • Measure between ESP32 3.3V pin and GND
  • Watch voltage while device connects to WiFi
  • If voltage drops below 3.0V, power supply is inadequate
  • Measure at 5V input pin should stay above 4.5V
  • If 5V drops but 3.3V is stable, regulator is overloaded

2. Add Bulk Capacitor

A capacitor acts as temporary battery during current spikes:

// Hardware fix - Add capacitor across power rails:
// Connect 470-1000F electrolytic capacitor
// (+) to 5V  power rail
// (-) to GND
//
// For best results:
// - Place capacitor as close as possible to ESP32 power pins
// - Use 6.3V or higher voltage rating
// - Add 0.1F ceramic capacitor in parallel for high-frequency noise
//
// Wiring:
// ESP32 5V pin (+) 1000F capacitor  5V power supply
// ESP32 GND    (-) capacitor GND     power supply GND

3. Use External Power Supply for Relays

Remove relay current from ESP32's regulator:

  • Connect relay VCC to external 5V power supply
  • Connect relay GND to external supply GND
  • Connect relay GND to ESP32 GND
  • Signal wires connect directly to ESP32 GPIO pins
  • This removes 350-500mA relay current from ESP32's regulator
// Correct wiring for external relay power:
// External 5V (+)  Relay VCC
// External 5V (-)  Relay GND  ESP32 GND 
// ESP32 GPIO  Relay IN1, IN2, etc.
// 
// ESP32 power  remains independent

4. Upgrade USB Cable

Many USB cables are charge-only or have thin wires:

  • Test with different USB cable
  • Look for cables rated for data sync
  • Measure voltage at ESP32 5V pin with original vs new cable
  • Difference of 0.5V or more indicates cable is the problem
  • Use cable length under 1 meter for high-current applications
  • Consider using 5V 2A USB charger instead of computer USB port

5. Reduce WiFi Transmit Power

Lower TX power reduces current spikes:

#include 

void setup() {
  WiFi.begin(ssid, password);
  
  // Reduce WiFi transmit power 
  // 20 = 5dBm   
  // 40 = 10dBm  
  // 60 = 15dBm  
  // 78 = 19.5dBm 
  
  esp_wifi_set_max_tx_power;  // 10dBm - reduces current by ~30%
  
  // Lower power = less current draw = fewer brownouts
  // Trade-off: slightly reduced WiFi range
}

6. Use Better Voltage Regulator

ESP32 on-board regulator may be inadequate:

  • ESP32 DevKit v1 uses AMS1117-3.3
  • ESP32-C3 uses ME6211
  • For high-current applications, bypass on-board regulator
  • Connect external 3.3V regulator directly to 3.3V pin
  • Ensure voltage never exceeds 3.3V

7. Stagger Relay Activation

Avoid activating all relays simultaneously:

// Instead of activating all relays at once:
// digitalWrite;
// digitalWrite;
// digitalWrite;
//
// Stagger activation with delays:
digitalWrite;
delay;
digitalWrite;
delay;
digitalWrite;
delay;
//
// This spreads the current spike across 150ms instead of 1ms

Prevention Tips

  • Always use power supply rated for at least 2x estimated average current
  • Add 470-1000F capacitor between 5V and GND near ESP32
  • Power relays from external 5V supply
  • Use quality USB cables
  • Monitor 3.3V voltage during development to catch brownouts early
  • For battery-powered projects, use boost converter to maintain 5V
  • Reduce WiFi TX power if range allows

Related Issues

Frequently Asked Questions

Q: Why does my ESP32 work on USB but not on battery?

A: Computer USB ports can supply 500mA continuously. Batteries have internal resistance and voltage sag under load. ESP32 WiFi peaks at 240mA, causing battery voltage to drop below 3.0V. Add a 1000F capacitor or use a boost converter with higher current rating.

Q: Can I use a 5V 1A phone charger for ESP32 + 5 relays?

A: No. 5 relays draw 350-400mA, plus ESP32 WiFi peaks at 240mA = 590-640mA total. While 1A is technically sufficient, many phone chargers cannot sustain peak current. Use 5V 2A for safety margin and add 1000F capacitor.

Q: What size capacitor do I need for ESP32?

A: 470-1000F electrolytic capacitor . 1000F provides ~30ms of hold-up time at 240mA enough to cover WiFi transmission peaks. Add 0.1F ceramic capacitor in parallel for high-frequency noise filtering.

Still having power issues? Contact Support or return to the Troubleshooting Hub.