# ESP32-WROOM-32E Datasheet Reference

Based on the official ESP32-WROOM-32E datasheet: [ESP32-WROOM-32E Datasheet](https://documentation.espressif.com/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf)

## Key Specifications

### Power Requirements

- **Operating Voltage:** 3.0V to 3.6V (typical 3.3V)
- **Operating Current:**
  - Active mode: ~80-240mA (depends on CPU frequency and WiFi usage)
  - Light sleep: ~0.8mA
  - Deep sleep: ~10µA
- **Peak Current:** Up to 500mA during WiFi transmission
- **Power Supply:** Must be stable and well-regulated

### Pin Configuration

- **38 pins total** (as per our symbol)
- **VDD pins:** Multiple (1, 3, 14, 21, 22, 27, 28, 33, 42)
- **GND pins:** Multiple (2, 4, 13, 15, 20, 23, 26, 29, 34, 38, 40)
- **EN pin:** Enable pin (active high)
- **GPIO pins:** Various functions

### Critical Design Requirements

#### 1. Power Supply Decoupling

**Per ESP32 Datasheet:**
- **Each VDD pin requires a decoupling capacitor**
- **Recommended:** 100nF ceramic capacitor per VDD pin
- **Additional:** 10µF capacitor near the module (bulk capacitor)
- **Placement:** As close as possible to VDD pins

**Our Design:**
- ✅ C5-C13: 100nF capacitors for each VDD pin (9 capacitors)
- ✅ C2: 10µF output capacitor from regulator (bulk capacitor)
- ✅ C4: 100nF output decoupling from regulator

**Verification:** Our design matches datasheet requirements.

#### 2. Enable (EN) Pin

- **EN pin:** Must be pulled HIGH for normal operation
- **Pull-up resistor:** 10kΩ recommended
- **Reset button:** Can be connected to EN pin (active low reset)

**Our Design:**
- ✅ R3: 10kΩ pull-up resistor on EN pin
- ✅ SW1: Reset button connected to EN pin
- ✅ Correct configuration

#### 3. Boot Mode (GPIO0)

- **GPIO0:** Boot mode selection
- **HIGH (3.3V):** Normal boot (run from flash)
- **LOW (GND):** Download mode (for flashing)
- **Pull-up resistor:** 10kΩ recommended

**Our Design:**
- ✅ R4: 10kΩ pull-up resistor on GPIO0
- ✅ SW2: Boot button connected to GPIO0
- ✅ Correct configuration

#### 4. Crystal Oscillator

- **External crystal:** 40MHz (internal to module)
- **No external components needed** (handled by module)

**Our Design:**
- ✅ No action needed - crystal is internal to ESP32-WROOM-32E module

#### 5. Flash Memory

- **Flash:** Internal to ESP32-WROOM-32E module
- **No external flash needed**

**Our Design:**
- ✅ No action needed - flash is internal

#### 6. Antenna

- **WiFi/Bluetooth antenna:** Internal PCB antenna on ESP32-WROOM-32E
- **No external antenna connector needed** (unless using ESP32-WROOM-32UE variant)

**Our Design:**
- ✅ Using ESP32-WROOM-32E (with internal antenna)
- ✅ No external antenna needed

### Power Supply Design Verification

#### Regulator Requirements

**ESP32 Requirements:**
- Input: 3.0V to 3.6V (3.3V typical)
- Current: Up to 500mA peak
- Ripple: <50mV recommended

**Our Regulator (AMS1117-3.3):**
- Output: 3.3V fixed
- Max current: 1A (sufficient for ESP32)
- Input: 5V from J1
- Output capacitors: 10µF + 100nF (adequate)

**Verification:** ✅ AMS1117-3.3 meets ESP32 requirements

#### Decoupling Capacitor Placement

**Datasheet Recommendation:**
- 100nF ceramic capacitor at each VDD pin
- Place as close as possible to the pin
- Use short, wide traces

**Our Design:**
- C5-C13: 100nF capacitors for 9 VDD pins
- Placement: Should be close to VDD pins on PCB layout
- Package: 0805 (good for placement near pins)

**Verification:** ✅ Correct number and value of capacitors

### GPIO Pin Usage in Our Design

| GPIO | Function | Usage in Design |
|------|----------|----------------|
| GPIO0 | Boot mode | SW2 (boot button), R4 (pull-up) |
| GPIO1 | UART TX | Programming header (J2 Pin 3) |
| GPIO2 | LED control | LED1 (WiFi status) |
| GPIO3 | UART RX | Programming header (J2 Pin 4) |
| GPIO4 | LED control | LED2 (BLE status) |
| GPIO16 | UART RX | Level shifter (U3 Pin 2) - AC communication |
| GPIO17 | UART TX | Level shifter (U3 Pin 1) - AC communication |
| EN | Enable | SW1 (reset button), R3 (pull-up) |

### Thermal Considerations

- **Operating Temperature:** -40°C to +85°C
- **Power Dissipation:** Up to ~1.65W (3.3V × 500mA)
- **Heat sinking:** Not typically required for normal operation
- **PCB layout:** Ensure good ground plane for heat dissipation

### RF Performance

- **WiFi:** 2.4GHz (802.11 b/g/n)
- **Bluetooth:** BLE 4.2
- **Antenna:** Internal PCB antenna (ESP32-WROOM-32E)
- **Range:** ~100m (WiFi), ~50m (BLE) - depends on environment

### Design Checklist

- [x] Power supply: 3.3V regulated (AMS1117-3.3)
- [x] Decoupling: 100nF at each VDD pin (C5-C13)
- [x] Bulk capacitor: 10µF near module (C2)
- [x] EN pin: Pull-up resistor (R3) and reset button (SW1)
- [x] GPIO0: Pull-up resistor (R4) and boot button (SW2)
- [x] Ground plane: Should be implemented in PCB layout
- [x] Power traces: Adequate width for current (500mA peak)

### PCB Layout Recommendations

1. **Place decoupling capacitors (C5-C13) as close as possible to VDD pins**
2. **Use wide power traces** (minimum 0.5mm for 500mA)
3. **Implement ground plane** on one or both layers
4. **Keep digital and analog sections separated**
5. **Route RF section carefully** (though antenna is internal)
6. **Place bulk capacitor (C2) near ESP32 module**

### Additional Notes

- **Flash Programming:** Via UART (GPIO1/GPIO3) or OTA
- **Reset:** Can be triggered via EN pin (active low) or power cycle
- **Boot Mode:** Controlled by GPIO0 state at reset
- **Deep Sleep:** Can reduce power to ~10µA (useful for battery applications)

### References

- **Official Datasheet:** [ESP32-WROOM-32E Datasheet](https://documentation.espressif.com/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf)
- **Espressif Documentation:** https://www.espressif.com/en/products/modules/esp32-wroom-32e
- **Hardware Design Guidelines:** Available in datasheet section 9


