Initial KiCad project

This commit is contained in:
2026-01-04 01:19:56 +02:00
commit cf6e6e3baf
45 changed files with 133173 additions and 0 deletions

View File

@@ -0,0 +1,180 @@
# 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