Compare commits
4 Commits
8a26f501d8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 49f1d01bc2 | |||
| a026f1fe6c | |||
| 473c4d11a7 | |||
| cf6e6e3baf |
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-04_014712.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-04_014712.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-04_230152.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-04_230152.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_230746.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_230746.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_231741.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_231741.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_233340.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_233340.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_234720.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_234720.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_235727.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-05_235727.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_012114.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_012114.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_013500.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_013500.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_014518.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_014518.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_015535.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_015535.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_020441.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-06_020441.zip
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"board": {
|
"board": {
|
||||||
"active_layer": 0,
|
"active_layer": 25,
|
||||||
"active_layer_preset": "All Layers",
|
"active_layer_preset": "",
|
||||||
"auto_track_width": true,
|
"auto_track_width": false,
|
||||||
"hidden_netclasses": [],
|
"hidden_netclasses": [],
|
||||||
"hidden_nets": [],
|
"hidden_nets": [],
|
||||||
"high_contrast_mode": 0,
|
"high_contrast_mode": 0,
|
||||||
@@ -36,7 +36,6 @@
|
|||||||
"grid",
|
"grid",
|
||||||
"footprints_front",
|
"footprints_front",
|
||||||
"footprints_back",
|
"footprints_back",
|
||||||
"footprint_values",
|
|
||||||
"footprint_references",
|
"footprint_references",
|
||||||
"tracks",
|
"tracks",
|
||||||
"drc_errors",
|
"drc_errors",
|
||||||
@@ -45,6 +44,7 @@
|
|||||||
"pads",
|
"pads",
|
||||||
"zones",
|
"zones",
|
||||||
"drc_warnings",
|
"drc_warnings",
|
||||||
|
"drc_exclusions",
|
||||||
"locked_item_shadows",
|
"locked_item_shadows",
|
||||||
"conflict_shadows",
|
"conflict_shadows",
|
||||||
"shapes"
|
"shapes"
|
||||||
|
|||||||
@@ -51,7 +51,13 @@
|
|||||||
"min_clearance": 0.5
|
"min_clearance": 0.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"diff_pair_dimensions": [],
|
"diff_pair_dimensions": [
|
||||||
|
{
|
||||||
|
"gap": 0.0,
|
||||||
|
"via_gap": 0.0,
|
||||||
|
"width": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
"drc_exclusions": [],
|
"drc_exclusions": [],
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": 2
|
"version": 2
|
||||||
@@ -180,7 +186,12 @@
|
|||||||
"td_width_to_size_filter_ratio": 0.9
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"track_widths": [],
|
"track_widths": [
|
||||||
|
0.0,
|
||||||
|
0.3,
|
||||||
|
0.5,
|
||||||
|
1.0
|
||||||
|
],
|
||||||
"tuning_pattern_settings": {
|
"tuning_pattern_settings": {
|
||||||
"diff_pair_defaults": {
|
"diff_pair_defaults": {
|
||||||
"corner_radius_percentage": 80,
|
"corner_radius_percentage": 80,
|
||||||
@@ -207,7 +218,16 @@
|
|||||||
"spacing": 0.6
|
"spacing": 0.6
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"via_dimensions": [],
|
"via_dimensions": [
|
||||||
|
{
|
||||||
|
"diameter": 0.0,
|
||||||
|
"drill": 0.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"diameter": 0.8,
|
||||||
|
"drill": 0.4
|
||||||
|
}
|
||||||
|
],
|
||||||
"zones_allow_external_fillets": false
|
"zones_allow_external_fillets": false
|
||||||
},
|
},
|
||||||
"ipc2581": {
|
"ipc2581": {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
266
Midea_ESP/PCB_ANALYSIS.md
Normal file
266
Midea_ESP/PCB_ANALYSIS.md
Normal file
@@ -0,0 +1,266 @@
|
|||||||
|
# PCB Layout Analysis: Midea AC Controller with BLE Beacon
|
||||||
|
|
||||||
|
**Date:** 2025-12-28
|
||||||
|
**PCB File:** `Midea_ESP.kicad_pcb`
|
||||||
|
**File Size:** 8064 lines
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Executive Summary
|
||||||
|
|
||||||
|
The PCB layout is **partially routed** with components placed and some routing completed. The board appears to be in an intermediate stage of development.
|
||||||
|
|
||||||
|
**Status:** ✅ **Components Placed** | ⚠️ **Routing In Progress**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## PCB Structure Analysis
|
||||||
|
|
||||||
|
### File Format
|
||||||
|
- **Format:** KiCad PCB v9.0 (20241229)
|
||||||
|
- **Board Thickness:** 1.6mm (standard)
|
||||||
|
- **Layers:** 2-layer board (F.Cu, B.Cu)
|
||||||
|
- **Total Lines:** 8064
|
||||||
|
|
||||||
|
### Component Count
|
||||||
|
- **Total Components:** 21 footprints placed
|
||||||
|
- **Active Components:** 3 (U1, U2, U3)
|
||||||
|
- **Passive Components:** 18 (C1-C8, R1-R4, D1-D2, SW1-SW2, J1-J2)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Component Placement
|
||||||
|
|
||||||
|
### Components Found
|
||||||
|
|
||||||
|
| Ref | Component | Type | Status |
|
||||||
|
|-----|-----------|------|--------|
|
||||||
|
| U1 | AMS1117-3.3 | Voltage Regulator | ✅ Placed |
|
||||||
|
| U2 | TXB0104PWR | Level Shifter | ✅ Placed |
|
||||||
|
| U3 | ESP32-WROOM-32E | MCU Module | ✅ Placed |
|
||||||
|
| C1-C8 | Capacitors | Decoupling/Filtering | ✅ Placed |
|
||||||
|
| R1-R4 | Resistors | Current Limiting/Pull-ups | ✅ Placed |
|
||||||
|
| D1-D2 | LEDs | Status Indicators | ✅ Placed |
|
||||||
|
| SW1-SW2 | Buttons | Reset/Boot | ✅ Placed |
|
||||||
|
| J1 | AC Connector | 4-pin Header | ✅ Placed |
|
||||||
|
| J2 | Programming Header | 2x4 Header | ✅ Placed |
|
||||||
|
|
||||||
|
### Component Positions
|
||||||
|
*Note: Exact positions require detailed parsing of the PCB file. Components are placed but positions need verification.*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Routing Status
|
||||||
|
|
||||||
|
### Routing Elements Found
|
||||||
|
|
||||||
|
| Element Type | Count | Status |
|
||||||
|
|--------------|-------|--------|
|
||||||
|
| **Trace Segments** | Present | ✅ Routing exists |
|
||||||
|
| **Vias** | Present | ✅ Multi-layer routing |
|
||||||
|
| **Copper Zones** | Present | ✅ Power planes/zones |
|
||||||
|
| **Filled Polygons** | 5 | ✅ Copper pours |
|
||||||
|
|
||||||
|
### Net Connectivity
|
||||||
|
|
||||||
|
**Power Nets:**
|
||||||
|
- `+3.3V` - 3.3V power rail
|
||||||
|
- `+5V` - 5V power rail
|
||||||
|
- `GND` - Ground plane
|
||||||
|
|
||||||
|
**Signal Nets:**
|
||||||
|
- `/ESP32_TX` - ESP32 UART transmit
|
||||||
|
- `/ESP32_RX` - ESP32 UART receive
|
||||||
|
- `/UART_TX` - Programming UART transmit
|
||||||
|
- `/UART_RX` - Programming UART receive
|
||||||
|
- `/AC_TX` - AC communication transmit
|
||||||
|
- `/AC_RX` - AC communication receive
|
||||||
|
- `/GPIO0` - Boot button signal
|
||||||
|
- `/EN` - Enable/reset signal
|
||||||
|
|
||||||
|
**Unconnected Nets:**
|
||||||
|
- Multiple unconnected ESP32 pins (normal - not all pins used)
|
||||||
|
- Unconnected TXB0104 channels (normal - only 2 channels used)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## PCB Layout Analysis
|
||||||
|
|
||||||
|
### Layer Structure
|
||||||
|
- **F.Cu (Front Copper):** Component side, signal routing
|
||||||
|
- **B.Cu (Back Copper):** Bottom side, signal routing
|
||||||
|
- **F.SilkS (Front Silkscreen):** Component labels
|
||||||
|
- **B.SilkS (Back Silkscreen):** Back side labels
|
||||||
|
- **F.Mask / B.Mask:** Solder mask layers
|
||||||
|
- **F.Paste / B.Paste:** Solder paste layers
|
||||||
|
- **Edge.Cuts:** Board outline
|
||||||
|
|
||||||
|
### Board Configuration
|
||||||
|
- **Thickness:** 1.6mm (standard)
|
||||||
|
- **Solder Mask:** Tented vias (front and back)
|
||||||
|
- **Gerber Settings:** Configured for manufacturing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Quality Assessment
|
||||||
|
|
||||||
|
### ✅ Strengths
|
||||||
|
|
||||||
|
1. **Component Placement:** All 21 components are placed
|
||||||
|
2. **Routing Started:** Traces, vias, and copper zones are present
|
||||||
|
3. **Power Distribution:** Power nets are defined
|
||||||
|
4. **Signal Routing:** Critical signals are routed
|
||||||
|
5. **Multi-layer Design:** Uses both front and back layers
|
||||||
|
|
||||||
|
### ⚠️ Areas for Review
|
||||||
|
|
||||||
|
1. **Routing Completeness:** Need to verify all nets are fully routed
|
||||||
|
2. **Component Placement:** Verify optimal placement for:
|
||||||
|
- Decoupling capacitors close to ICs
|
||||||
|
- Power supply components
|
||||||
|
- Signal integrity
|
||||||
|
3. **Copper Zones:** Verify ground plane coverage
|
||||||
|
4. **Trace Widths:** Verify appropriate widths for:
|
||||||
|
- Power traces (500mA peak for ESP32)
|
||||||
|
- Signal traces
|
||||||
|
5. **Via Placement:** Verify via placement for layer transitions
|
||||||
|
6. **Board Outline:** Verify Edge.Cuts defines proper board shape
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Rule Recommendations
|
||||||
|
|
||||||
|
### Power Traces
|
||||||
|
- **+3.3V traces:** Minimum 0.5mm width for 500mA
|
||||||
|
- **+5V traces:** Minimum 0.3mm width (lower current)
|
||||||
|
- **GND:** Use ground plane where possible
|
||||||
|
|
||||||
|
### Signal Traces
|
||||||
|
- **UART signals:** Keep short, matched length if possible
|
||||||
|
- **GPIO signals:** Standard 0.2mm minimum
|
||||||
|
- **High-speed signals:** Consider controlled impedance if needed
|
||||||
|
|
||||||
|
### Component Placement
|
||||||
|
- **C5, C6:** Place as close as possible to ESP32 VDD pin (<5mm)
|
||||||
|
- **C7, C8:** Place as close as possible to TXB0104 power pins
|
||||||
|
- **C1-C4:** Place near AMS1117 regulator
|
||||||
|
- **R3, R4:** Can be placed near ESP32 or buttons
|
||||||
|
|
||||||
|
### Ground Plane
|
||||||
|
- **Recommendation:** Solid ground plane on one or both layers
|
||||||
|
- **Benefits:**
|
||||||
|
- Better EMI performance
|
||||||
|
- Lower impedance power distribution
|
||||||
|
- Heat dissipation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manufacturing Considerations
|
||||||
|
|
||||||
|
### SMD Components
|
||||||
|
- All components appear to be SMD (Surface Mount Device)
|
||||||
|
- Package sizes: 0805 for passives, various for ICs
|
||||||
|
- Hand-solderable footprints (good for prototyping)
|
||||||
|
|
||||||
|
### Assembly
|
||||||
|
- **Side:** Components on front (F.Cu) side
|
||||||
|
- **Orientation:** Verify component orientations
|
||||||
|
- **Paste Stencil:** F.Paste layer defines stencil openings
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
- **Programming Header (J2):** Accessible for programming
|
||||||
|
- **Test Points:** Consider adding test points for debugging
|
||||||
|
- **LEDs:** Visible for status indication
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
### Immediate Actions
|
||||||
|
1. ✅ **Verify Routing Completeness**
|
||||||
|
- Check all nets are fully connected
|
||||||
|
- Verify no unconnected pads
|
||||||
|
- Run Design Rule Check (DRC)
|
||||||
|
|
||||||
|
2. ✅ **Component Placement Review**
|
||||||
|
- Verify decoupling capacitors are close to ICs
|
||||||
|
- Check component orientations
|
||||||
|
- Verify spacing between components
|
||||||
|
|
||||||
|
3. ✅ **Power Distribution Review**
|
||||||
|
- Verify power traces are wide enough
|
||||||
|
- Check ground plane coverage
|
||||||
|
- Verify power supply routing
|
||||||
|
|
||||||
|
4. ✅ **Signal Integrity**
|
||||||
|
- Check UART signal routing
|
||||||
|
- Verify trace lengths
|
||||||
|
- Check for crosstalk issues
|
||||||
|
|
||||||
|
### Design Rule Check (DRC)
|
||||||
|
Run KiCad's DRC to check for:
|
||||||
|
- Minimum trace width violations
|
||||||
|
- Minimum clearance violations
|
||||||
|
- Via size violations
|
||||||
|
- Solder mask issues
|
||||||
|
- Unconnected pads
|
||||||
|
|
||||||
|
### Manufacturing Preparation
|
||||||
|
1. Generate Gerber files
|
||||||
|
2. Generate drill files
|
||||||
|
3. Generate pick-and-place file
|
||||||
|
4. Generate BOM (Bill of Materials)
|
||||||
|
5. Review with manufacturer
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## File Structure Understanding
|
||||||
|
|
||||||
|
### KiCad PCB File Format
|
||||||
|
The `.kicad_pcb` file is a text-based format containing:
|
||||||
|
|
||||||
|
1. **Header:** Version, generator info, board settings
|
||||||
|
2. **Layers:** Layer definitions and properties
|
||||||
|
3. **Nets:** Net list with names and IDs
|
||||||
|
4. **Footprints:** Component placements with:
|
||||||
|
- Position (x, y, rotation)
|
||||||
|
- Pads with net assignments
|
||||||
|
- Silkscreen graphics
|
||||||
|
- 3D model references
|
||||||
|
5. **Routing:**
|
||||||
|
- `(segment ...)` - Trace segments
|
||||||
|
- `(via ...)` - Vias connecting layers
|
||||||
|
- `(zone ...)` - Copper zones/pours
|
||||||
|
- `(filled_polygon ...)` - Filled copper areas
|
||||||
|
6. **Graphics:** Lines, arcs, text for silkscreen
|
||||||
|
7. **Board Outline:** Edge.Cuts layer definition
|
||||||
|
|
||||||
|
### Understanding the File
|
||||||
|
- **Text-based:** Human-readable but complex
|
||||||
|
- **Hierarchical:** Nested structure with parentheses
|
||||||
|
- **Coordinates:** In millimeters
|
||||||
|
- **Layers:** Referenced by name (e.g., "F.Cu", "B.Cu")
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
The PCB layout is **in progress** with:
|
||||||
|
- ✅ All components placed
|
||||||
|
- ✅ Routing started (traces, vias, zones present)
|
||||||
|
- ⚠️ Needs verification of routing completeness
|
||||||
|
- ⚠️ Needs Design Rule Check (DRC)
|
||||||
|
|
||||||
|
**Recommendation:**
|
||||||
|
1. Complete routing verification
|
||||||
|
2. Run DRC in KiCad
|
||||||
|
3. Review component placement
|
||||||
|
4. Verify power distribution
|
||||||
|
5. Prepare for manufacturing
|
||||||
|
|
||||||
|
The layout appears to be well-structured and on track for completion.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Analysis completed: 2025-12-28*
|
||||||
|
|
||||||
346
Midea_ESP/SCHEMATIC_ANALYSIS.md
Normal file
346
Midea_ESP/SCHEMATIC_ANALYSIS.md
Normal file
@@ -0,0 +1,346 @@
|
|||||||
|
# Schematic Analysis: Midea AC Controller with BLE Beacon
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
**Title:** Midea AC Controller with BLE Beacon
|
||||||
|
**Date:** 2025-12-28
|
||||||
|
**Revision:** 1.0
|
||||||
|
**Purpose:** ESP32-based controller for Midea AC units with Bluetooth Low Energy beacon functionality
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Power Supply System
|
||||||
|
|
||||||
|
### Power Input
|
||||||
|
- **Source:** +5V external supply (via J1 connector)
|
||||||
|
- **Regulator:** AMS1117-3.3 (U1)
|
||||||
|
- Input: +5V (Pin 3 - VI)
|
||||||
|
- Output: +3.3V (Pin 2 - VO)
|
||||||
|
- Ground: Pin 1 (GND)
|
||||||
|
|
||||||
|
### Power Distribution
|
||||||
|
- **+5V Rail:**
|
||||||
|
- Powers TXB0104PWR level shifter VCCB (Pin 11)
|
||||||
|
- Powers AC connector J1 (Pin 1)
|
||||||
|
- Powers +5V power symbols
|
||||||
|
|
||||||
|
- **+3.3V Rail:**
|
||||||
|
- Powers ESP32-WROOM-32E VDD (Pin 2)
|
||||||
|
- Powers TXB0104PWR level shifter VCCA (Pin 12)
|
||||||
|
- Powers TXB0104PWR OE (Pin 10) - always enabled
|
||||||
|
- Powers pull-up resistors (R3, R4)
|
||||||
|
- Powers LED circuits
|
||||||
|
|
||||||
|
### Decoupling Capacitors
|
||||||
|
- **C1:** 5V input filtering (26.67mm, 39.37mm)
|
||||||
|
- **C2:** 3.3V output filtering (63.5mm, 39.37mm)
|
||||||
|
- **C3:** 3.3V input filtering (38.1mm, 39.37mm)
|
||||||
|
- **C4:** 3.3V output filtering (74.93mm, 39.37mm)
|
||||||
|
- **C5:** ESP32 VDD decoupling (52.07mm, 81.28mm)
|
||||||
|
- **C6:** ESP32 VDD decoupling (52.07mm, 88.9mm)
|
||||||
|
|
||||||
|
**⚠️ Potential Issue:** Missing decoupling capacitors directly on TXB0104PWR power pins (VCCA and VCCB). Datasheet recommends 100nF ceramic capacitors on each power pin.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. ESP32-WROOM-32E Module (U3)
|
||||||
|
|
||||||
|
### Power Connections
|
||||||
|
- **VDD (Pin 2):** +3.3V (with decoupling capacitors C5, C6)
|
||||||
|
- **GND (Pin 1, 15, 38, 39):** Ground plane
|
||||||
|
|
||||||
|
### UART Communication
|
||||||
|
- **GPIO17 (Pin 25 - TXD0/IO1):** → ESP32_TX label → UART_TX → TXB0104PWR A1 (Pin 1)
|
||||||
|
- **GPIO16 (Pin 27 - IO16):** → ESP32_RX label → UART_RX → TXB0104PWR A2 (Pin 2)
|
||||||
|
|
||||||
|
**Note:** The schematic shows GPIO17 as TX and GPIO16 as RX, but these may need to be configured in software depending on which UART peripheral is used.
|
||||||
|
|
||||||
|
### Control Buttons
|
||||||
|
- **SW1 (Reset Button):**
|
||||||
|
- Connected to EN pin (Pin 3)
|
||||||
|
- Pull-up resistor R3 to +3.3V
|
||||||
|
- When pressed: EN goes LOW, ESP32 resets
|
||||||
|
|
||||||
|
- **SW2 (Boot Button):**
|
||||||
|
- Connected to GPIO0 (Pin 25 - IO0)
|
||||||
|
- Pull-up resistor R4 to +3.3V
|
||||||
|
- When pressed: GPIO0 goes LOW, ESP32 enters download mode
|
||||||
|
|
||||||
|
### Status LEDs
|
||||||
|
- **D1:** Connected via R1 (current limiting resistor)
|
||||||
|
- **D2:** Connected via R2 (current limiting resistor)
|
||||||
|
- **Note:** LED anodes connect to resistors, cathodes to GND
|
||||||
|
|
||||||
|
### Unused Pins
|
||||||
|
Many ESP32 pins are marked as "NC" (No Connect):
|
||||||
|
- Pins 17, 18, 19, 20, 21, 22, 32 (NC pins)
|
||||||
|
- Pins 4, 5 (SENSOR_VP, SENSOR_VN) - unused
|
||||||
|
- Pins 6, 7 (IO34, IO35) - input-only pins, unused
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Level Shifter: TXB0104PWR (U2)
|
||||||
|
|
||||||
|
### Purpose
|
||||||
|
Bidirectional voltage level translation between:
|
||||||
|
- **A Port (Low Voltage):** 3.3V side (ESP32)
|
||||||
|
- **B Port (High Voltage):** 5V side (AC Controller)
|
||||||
|
|
||||||
|
### Power Connections
|
||||||
|
- **VCCA (Pin 12):** +3.3V (low voltage side)
|
||||||
|
- **VCCB (Pin 11):** +5V (high voltage side)
|
||||||
|
- **GND (Pins 5, 13, 14):** Ground
|
||||||
|
- **OE (Pin 10):** +3.3V (always enabled)
|
||||||
|
|
||||||
|
**⚠️ Issue:** OE is connected directly to +3.3V. While this works, datasheet recommends a pulldown resistor for power-up safety. However, since both supplies come from the same source, this is acceptable.
|
||||||
|
|
||||||
|
### Signal Connections
|
||||||
|
- **A1 (Pin 1):** ESP32 TX → UART_TX
|
||||||
|
- **A2 (Pin 2):** ESP32 RX → UART_RX
|
||||||
|
- **B1 (Pin 9):** AC RX → J1 Pin 2
|
||||||
|
- **B2 (Pin 8):** AC TX → J1 Pin 3
|
||||||
|
|
||||||
|
### Unused Channels
|
||||||
|
- **A3 (Pin 3):** NC
|
||||||
|
- **A4 (Pin 4):** NC
|
||||||
|
- **B3 (Pin 7):** NC
|
||||||
|
- **B4 (Pin 6):** NC
|
||||||
|
|
||||||
|
**Note:** Only 2 of 4 channels are used. This is fine - the IC supports partial channel usage.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. AC Interface Connector (J1)
|
||||||
|
|
||||||
|
### Connector Type
|
||||||
|
- **Type:** Conn_01x04_Pin (4-pin single-row connector)
|
||||||
|
- **Footprint:** PinHeader_1x04_P2.00mm_Vertical
|
||||||
|
|
||||||
|
### Pin Assignments
|
||||||
|
- **Pin 1:** +5V (power to AC dongle)
|
||||||
|
- **Pin 2:** AC_RX (receive from AC, via level shifter B1)
|
||||||
|
- **Pin 3:** AC_TX (transmit to AC, via level shifter B2)
|
||||||
|
- **Pin 4:** GND (ground)
|
||||||
|
|
||||||
|
### Connection Flow
|
||||||
|
```
|
||||||
|
ESP32 GPIO17 (TX) → Level Shifter A1 → Level Shifter B2 → J1 Pin 3 (AC_TX)
|
||||||
|
ESP32 GPIO16 (RX) ← Level Shifter A2 ← Level Shifter B1 ← J1 Pin 2 (AC_RX)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Additional Connector (J2)
|
||||||
|
|
||||||
|
### Connector Type
|
||||||
|
- **Type:** Conn_02x04_Counter_Clockwise (8-pin dual-row connector)
|
||||||
|
- **Footprint:** PinHeader_2x04_P2.00mm_Vertical
|
||||||
|
|
||||||
|
### Purpose
|
||||||
|
**⚠️ Unclear:** J2 is present in the schematic but connections are not fully visible. This may be:
|
||||||
|
- Debug/programming connector
|
||||||
|
- Additional I/O expansion
|
||||||
|
- Reserved for future use
|
||||||
|
|
||||||
|
**Recommendation:** Verify J2 pin assignments and document purpose.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Component Summary
|
||||||
|
|
||||||
|
### Active Components
|
||||||
|
| Ref | Component | Value | Purpose |
|
||||||
|
|-----|-----------|-------|---------|
|
||||||
|
| U1 | AMS1117-3.3 | 3.3V LDO | Power regulation |
|
||||||
|
| U2 | TXB0104PWR | Level Shifter | 3.3V ↔ 5V translation |
|
||||||
|
| U3 | ESP32-WROOM-32E | MCU | Main controller |
|
||||||
|
|
||||||
|
### Passive Components
|
||||||
|
| Ref | Component | Value | Purpose |
|
||||||
|
|-----|-----------|-------|---------|
|
||||||
|
| C1-C6 | Capacitors | Various | Power filtering/decoupling |
|
||||||
|
| R1-R4 | Resistors | Various | Current limiting/pull-ups |
|
||||||
|
| D1, D2 | LEDs | Status indicators | Visual feedback |
|
||||||
|
| SW1, SW2 | Push buttons | Reset/Boot | Control buttons |
|
||||||
|
|
||||||
|
### Connectors
|
||||||
|
| Ref | Type | Pins | Purpose |
|
||||||
|
|-----|------|------|---------|
|
||||||
|
| J1 | 1x04 Pin Header | 4 | AC Controller interface |
|
||||||
|
| J2 | 2x04 Pin Header | 8 | Unknown/Reserved |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Signal Flow Analysis
|
||||||
|
|
||||||
|
### UART Communication Path
|
||||||
|
```
|
||||||
|
AC Controller (5V) Level Shifter ESP32 (3.3V)
|
||||||
|
───────────────── ───────────── ────────────
|
||||||
|
J1 Pin 3 (TX) ────────→ B2 ────────→ A1 ───────→ GPIO17 (TX)
|
||||||
|
J1 Pin 2 (RX) ←──────── B1 ←──────── A2 ←─────── GPIO16 (RX)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Power Flow
|
||||||
|
```
|
||||||
|
External 5V → J1 Pin 1 ──┬──→ U1 (AMS1117) ──→ +3.3V ──→ ESP32 VDD
|
||||||
|
│
|
||||||
|
└──→ U2 VCCB (5V side)
|
||||||
|
└──→ +5V rail
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Design Strengths
|
||||||
|
|
||||||
|
✅ **Proper Power Regulation:** AMS1117-3.3 provides stable 3.3V for ESP32
|
||||||
|
✅ **Level Shifting:** TXB0104PWR correctly handles 3.3V ↔ 5V translation
|
||||||
|
✅ **Bidirectional Communication:** Automatic direction sensing in level shifter
|
||||||
|
✅ **Reset/Boot Controls:** Proper button implementation with pull-ups
|
||||||
|
✅ **Decoupling:** Multiple capacitors for power supply filtering
|
||||||
|
✅ **Status Indicators:** LEDs for visual feedback
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Potential Issues & Recommendations
|
||||||
|
|
||||||
|
### ⚠️ Critical Issues
|
||||||
|
|
||||||
|
1. **Missing Decoupling Capacitors on TXB0104PWR**
|
||||||
|
- **Issue:** No 100nF capacitors on VCCA (Pin 12) and VCCB (Pin 11)
|
||||||
|
- **Impact:** Potential signal integrity issues, noise on power rails
|
||||||
|
- **Fix:** Add C7 (100nF) from VCCA to GND, C8 (100nF) from VCCB to GND
|
||||||
|
- **Placement:** As close as possible to power pins (<5mm)
|
||||||
|
|
||||||
|
2. **OE Pin Connection**
|
||||||
|
- **Current:** OE directly connected to +3.3V
|
||||||
|
- **Issue:** No pulldown resistor for power-up safety
|
||||||
|
- **Impact:** Minor - may cause brief high-impedance during power-up
|
||||||
|
- **Fix (Optional):** Add 10kΩ pulldown resistor from OE to GND
|
||||||
|
|
||||||
|
### ⚠️ Design Considerations
|
||||||
|
|
||||||
|
3. **J2 Connector Purpose**
|
||||||
|
- **Issue:** J2 connections not clearly defined
|
||||||
|
- **Action:** Document purpose and pin assignments
|
||||||
|
|
||||||
|
4. **ESP32 UART Pin Selection**
|
||||||
|
- **Current:** GPIO17 (TX), GPIO16 (RX)
|
||||||
|
- **Note:** Verify these are the correct UART peripheral pins
|
||||||
|
- **Check:** ESP32-WROOM-32E pinout for UART0/UART1/UART2 assignments
|
||||||
|
|
||||||
|
5. **LED Current Limiting**
|
||||||
|
- **Issue:** Resistor values (R1, R2) not specified
|
||||||
|
- **Recommendation:** Calculate based on LED forward voltage and desired current
|
||||||
|
- **Typical:** 220Ω-1kΩ for 3.3V supply with standard LEDs
|
||||||
|
|
||||||
|
6. **Power Supply Sequencing**
|
||||||
|
- **Current:** 5V → 3.3V (via regulator)
|
||||||
|
- **Note:** TXB0104PWR requires VCCA ≤ VCCB (satisfied: 3.3V ≤ 5V)
|
||||||
|
- **Status:** Acceptable, but ensure proper power-up sequence
|
||||||
|
|
||||||
|
### 💡 Recommendations
|
||||||
|
|
||||||
|
7. **Add Test Points**
|
||||||
|
- Consider adding test points for:
|
||||||
|
- +5V rail
|
||||||
|
- +3.3V rail
|
||||||
|
- UART_TX/RX signals
|
||||||
|
- GND
|
||||||
|
|
||||||
|
8. **Add Fuse/Protection**
|
||||||
|
- Consider adding:
|
||||||
|
- Input fuse for +5V protection
|
||||||
|
- TVS diodes on UART lines for ESD protection
|
||||||
|
|
||||||
|
9. **Component Values**
|
||||||
|
- Document all component values:
|
||||||
|
- Capacitor values (C1-C6)
|
||||||
|
- Resistor values (R1-R4)
|
||||||
|
- LED specifications (D1, D2)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. PCB Layout Recommendations
|
||||||
|
|
||||||
|
### Critical Placement
|
||||||
|
1. **TXB0104PWR Decoupling:**
|
||||||
|
- Place 100nF capacitors within 5mm of VCCA and VCCB pins
|
||||||
|
- Use short, wide traces
|
||||||
|
|
||||||
|
2. **ESP32 Decoupling:**
|
||||||
|
- C5, C6 should be as close as possible to VDD pin
|
||||||
|
- Use ground plane for return path
|
||||||
|
|
||||||
|
3. **Level Shifter Placement:**
|
||||||
|
- Place TXB0104PWR between ESP32 and J1 connector
|
||||||
|
- Minimize trace lengths for UART signals
|
||||||
|
|
||||||
|
4. **Power Traces:**
|
||||||
|
- Use adequate trace width for current capacity
|
||||||
|
- ESP32 can draw up to 500mA peak
|
||||||
|
- Minimum 0.5mm trace width recommended
|
||||||
|
|
||||||
|
5. **Ground Plane:**
|
||||||
|
- Use continuous ground plane
|
||||||
|
- Connect all GND pins to ground plane
|
||||||
|
- Avoid ground loops
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Testing Checklist
|
||||||
|
|
||||||
|
### Power Supply
|
||||||
|
- [ ] Verify +5V input voltage
|
||||||
|
- [ ] Verify +3.3V output from regulator (within ±5%)
|
||||||
|
- [ ] Check for ripple on power rails
|
||||||
|
- [ ] Verify power consumption
|
||||||
|
|
||||||
|
### Level Shifter
|
||||||
|
- [ ] Verify VCCA = 3.3V, VCCB = 5V
|
||||||
|
- [ ] Test bidirectional signal translation
|
||||||
|
- [ ] Verify OE pin is HIGH (enabled)
|
||||||
|
- [ ] Check signal integrity on UART lines
|
||||||
|
|
||||||
|
### ESP32
|
||||||
|
- [ ] Verify power-on and boot sequence
|
||||||
|
- [ ] Test reset button functionality
|
||||||
|
- [ ] Test boot button (download mode)
|
||||||
|
- [ ] Verify UART communication
|
||||||
|
- [ ] Test LED indicators
|
||||||
|
|
||||||
|
### AC Interface
|
||||||
|
- [ ] Verify J1 connector pinout
|
||||||
|
- [ ] Test UART communication with AC controller
|
||||||
|
- [ ] Verify signal levels (3.3V ↔ 5V translation)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 12. Bill of Materials (BOM) Summary
|
||||||
|
|
||||||
|
### Required Components
|
||||||
|
- 1x ESP32-WROOM-32E module
|
||||||
|
- 1x TXB0104PWR (TSSOP-14)
|
||||||
|
- 1x AMS1117-3.3 (SOT-223)
|
||||||
|
- 6x Capacitors (various values)
|
||||||
|
- 4x Resistors (various values)
|
||||||
|
- 2x LEDs
|
||||||
|
- 2x Push buttons
|
||||||
|
- 2x Connectors (J1, J2)
|
||||||
|
|
||||||
|
### Missing Components (Recommended)
|
||||||
|
- 2x 100nF capacitors (TXB0104PWR decoupling)
|
||||||
|
- 1x 10kΩ resistor (OE pulldown - optional)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
The schematic shows a well-designed circuit for an ESP32-based AC controller with proper level shifting for 5V communication. The main areas for improvement are:
|
||||||
|
|
||||||
|
1. **Add decoupling capacitors** on TXB0104PWR power pins
|
||||||
|
2. **Document component values** (resistors, capacitors)
|
||||||
|
3. **Clarify J2 connector** purpose and connections
|
||||||
|
4. **Verify ESP32 UART pin** assignments match software configuration
|
||||||
|
|
||||||
|
Overall, the design is sound and should work correctly with the recommended additions.
|
||||||
|
|
||||||
274
Midea_ESP/SCHEMATIC_REVIEW.md
Normal file
274
Midea_ESP/SCHEMATIC_REVIEW.md
Normal file
@@ -0,0 +1,274 @@
|
|||||||
|
# Schematic Review: Midea AC Controller with BLE Beacon
|
||||||
|
|
||||||
|
**Date:** 2025-12-28
|
||||||
|
**Reviewer:** AI Assistant
|
||||||
|
**Schematic Version:** 1.0
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Executive Summary
|
||||||
|
|
||||||
|
The schematic is **well-designed and mostly complete**. All critical components are present and properly connected. A few minor improvements are recommended for robustness and best practices.
|
||||||
|
|
||||||
|
**Overall Assessment:** ✅ **GOOD** - Ready for PCB layout with minor improvements recommended.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ What's Working Well
|
||||||
|
|
||||||
|
### 1. Power Supply Section
|
||||||
|
- ✅ **AMS1117-3.3 regulator (U1)** properly configured
|
||||||
|
- ✅ **Input capacitors:** C1 (10µF) and C3 (100nF) for input filtering
|
||||||
|
- ✅ **Output capacitors:** C2 (10µF) and C4 (100nF) for output stability
|
||||||
|
- ✅ **Power distribution:** +3.3V and +5V rails properly labeled
|
||||||
|
- ✅ **Regulator capacity:** 1A max current (sufficient for ESP32's 500mA peak)
|
||||||
|
|
||||||
|
### 2. ESP32-WROOM-32E Module (U3)
|
||||||
|
- ✅ **Power connections:** VDD pin properly connected to +3.3V
|
||||||
|
- ✅ **Decoupling capacitors:** C5 (100nF) and C6 (10µF) for VDD
|
||||||
|
- ✅ **EN pin:** R3 (10kΩ) pull-up and SW1 (reset button) correctly configured
|
||||||
|
- ✅ **GPIO0 pin:** R4 (10kΩ) pull-up and SW2 (boot button) correctly configured
|
||||||
|
- ✅ **UART connections:** GPIO17 (TX) and GPIO16 (RX) properly routed
|
||||||
|
- ✅ **Status LEDs:** D1 (WiFi) and D2 (BLE) with 220Ω current limiting resistors
|
||||||
|
|
||||||
|
### 3. TXB0104PWR Level Shifter (U2)
|
||||||
|
- ✅ **Power supplies:** VCCA (3.3V) and VCCB (5V) properly connected
|
||||||
|
- ✅ **Decoupling capacitors:** C7 (100nF) for VCCA and C8 (100nF) for VCCB
|
||||||
|
- ✅ **OE pin:** Connected to +3.3V (always enabled)
|
||||||
|
- ✅ **Signal routing:** A1/B1 and A2/B2 properly connected for UART communication
|
||||||
|
- ✅ **Voltage relationship:** VCCA (3.3V) ≤ VCCB (5V) ✓
|
||||||
|
|
||||||
|
### 4. Programming Header (J2)
|
||||||
|
- ✅ **Pinout:** Correctly configured for ESP32 programming
|
||||||
|
- ✅ **Net labels:** All signals properly labeled (PROG_TX, PROG_RX, PROG_DTR, PROG_RTS)
|
||||||
|
- ✅ **Power symbols:** +3.3V and GND symbols properly placed
|
||||||
|
- ✅ **Description:** Clear pinout documentation in component description
|
||||||
|
|
||||||
|
### 5. AC Connector (J1)
|
||||||
|
- ✅ **Connector:** 4-pin connector properly configured
|
||||||
|
- ✅ **Signal routing:** AC_TX and AC_RX properly connected through level shifter
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ Minor Issues & Recommendations
|
||||||
|
|
||||||
|
### 1. TXB0104 OE Pin (Optional Improvement)
|
||||||
|
**Current:** OE pin directly connected to +3.3V
|
||||||
|
**Recommendation:** Consider adding a 10kΩ pulldown resistor from OE to GND for power-up safety
|
||||||
|
**Priority:** Low (current design works, but pulldown improves power sequencing robustness)
|
||||||
|
**Impact:** Minimal - only affects power-up behavior
|
||||||
|
|
||||||
|
**Rationale:** While direct connection to VCCA is acceptable for always-on operation, a pulldown resistor ensures the device enters high-impedance state during power transitions, which can prevent glitches.
|
||||||
|
|
||||||
|
### 2. ESP32 GPIO0 Pin Connection Verification
|
||||||
|
**Current:** GPIO0 net label at (80.01, 104.14)
|
||||||
|
**Status:** Should verify ESP32 GPIO0 pin (at 77.47, 165.10) is connected to GPIO0 net
|
||||||
|
**Priority:** Medium (needs verification)
|
||||||
|
**Impact:** Critical if not connected - boot button won't work
|
||||||
|
|
||||||
|
**Action Required:** Verify in KiCad that ESP32 GPIO0 pin has GPIO0 net label or is connected via wire to the GPIO0 net.
|
||||||
|
|
||||||
|
### 3. Power Supply Input Source
|
||||||
|
**Current:** Power input via J1 Pin 1 (+5V)
|
||||||
|
**Question:** Is J1 the power source, or is there an external power input?
|
||||||
|
**Recommendation:** If power comes from external source, consider:
|
||||||
|
- Adding reverse polarity protection (diode or MOSFET)
|
||||||
|
- Adding input fuse or PTC for overcurrent protection
|
||||||
|
- Adding TVS diode for ESD protection
|
||||||
|
|
||||||
|
**Priority:** Medium (depends on application requirements)
|
||||||
|
|
||||||
|
### 4. Missing Bulk Capacitor Near ESP32
|
||||||
|
**Current:** C6 (10µF) is near regulator output
|
||||||
|
**Recommendation:** Consider adding an additional 10µF capacitor very close to ESP32 VDD pin
|
||||||
|
**Priority:** Low (C6 may be sufficient if placed close enough)
|
||||||
|
|
||||||
|
**Rationale:** ESP32 datasheet recommends bulk capacitor as close as possible to VDD pin. If C6 is far from ESP32, add another capacitor.
|
||||||
|
|
||||||
|
### 5. LED Current Limiting Resistors
|
||||||
|
**Current:** R1 and R2 are 220Ω
|
||||||
|
**Calculation:** At 3.3V, LED current ≈ (3.3V - 2.0V) / 220Ω ≈ 5.9mA
|
||||||
|
**Status:** ✅ Appropriate for status LEDs (bright enough, low power)
|
||||||
|
|
||||||
|
**Note:** If LEDs are too dim, reduce to 150Ω. If too bright or power-sensitive, increase to 330Ω.
|
||||||
|
|
||||||
|
### 6. Component Reference Designators
|
||||||
|
**Current:** U1 (regulator), U2 (level shifter), U3 (ESP32)
|
||||||
|
**Recommendation:** Consider renaming ESP32 to U2 and level shifter to U3 for logical ordering
|
||||||
|
**Priority:** Very Low (cosmetic only)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 Detailed Component Review
|
||||||
|
|
||||||
|
### Capacitors
|
||||||
|
|
||||||
|
| Ref | Value | Purpose | Status |
|
||||||
|
|-----|-------|---------|--------|
|
||||||
|
| C1 | 10µF | AMS1117 input bulk | ✅ Good |
|
||||||
|
| C2 | 10µF | AMS1117 output bulk | ✅ Good |
|
||||||
|
| C3 | 100nF | AMS1117 input decoupling | ✅ Good |
|
||||||
|
| C4 | 100nF | AMS1117 output decoupling | ✅ Good |
|
||||||
|
| C5 | 100nF | ESP32 VDD decoupling | ✅ Good |
|
||||||
|
| C6 | 10µF | ESP32 VDD bulk | ✅ Good |
|
||||||
|
| C7 | 100nF | TXB0104 VCCA decoupling | ✅ Good |
|
||||||
|
| C8 | 100nF | TXB0104 VCCB decoupling | ✅ Good |
|
||||||
|
|
||||||
|
**Assessment:** All capacitors are properly sized and placed. ✅
|
||||||
|
|
||||||
|
### Resistors
|
||||||
|
|
||||||
|
| Ref | Value | Purpose | Status |
|
||||||
|
|-----|-------|---------|--------|
|
||||||
|
| R1 | 220Ω | LED1 (WiFi) current limiting | ✅ Good |
|
||||||
|
| R2 | 220Ω | LED2 (BLE) current limiting | ✅ Good |
|
||||||
|
| R3 | 10kΩ | ESP32 EN pull-up | ✅ Good |
|
||||||
|
| R4 | 10kΩ | ESP32 GPIO0 pull-up | ✅ Good |
|
||||||
|
|
||||||
|
**Assessment:** All resistor values are appropriate. ✅
|
||||||
|
|
||||||
|
### Active Components
|
||||||
|
|
||||||
|
| Ref | Component | Status |
|
||||||
|
|-----|-----------|--------|
|
||||||
|
| U1 | AMS1117-3.3 | ✅ Properly configured |
|
||||||
|
| U2 | TXB0104PWR | ✅ Properly configured |
|
||||||
|
| U3 | ESP32-WROOM-32E | ✅ Properly configured |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 Design Checklist
|
||||||
|
|
||||||
|
### Power Supply
|
||||||
|
- [x] Regulator properly sized (1A for 500mA peak)
|
||||||
|
- [x] Input/output capacitors present
|
||||||
|
- [x] Power rails properly labeled
|
||||||
|
- [x] Ground plane considerations (for PCB layout)
|
||||||
|
|
||||||
|
### ESP32 Module
|
||||||
|
- [x] VDD pin connected to +3.3V
|
||||||
|
- [x] Decoupling capacitors present
|
||||||
|
- [x] EN pin with pull-up and reset button
|
||||||
|
- [x] GPIO0 pin with pull-up and boot button
|
||||||
|
- [x] UART pins properly routed
|
||||||
|
- [ ] **Verify GPIO0 pin connection to GPIO0 net**
|
||||||
|
|
||||||
|
### Level Shifter
|
||||||
|
- [x] VCCA and VCCB properly connected
|
||||||
|
- [x] Decoupling capacitors on both power pins
|
||||||
|
- [x] OE pin connected (to VCCA)
|
||||||
|
- [x] Signal routing correct
|
||||||
|
- [ ] **Optional: Add pulldown on OE pin**
|
||||||
|
|
||||||
|
### Signal Routing
|
||||||
|
- [x] UART signals properly labeled
|
||||||
|
- [x] AC communication signals routed through level shifter
|
||||||
|
- [x] Programming header properly configured
|
||||||
|
- [x] Net labels used appropriately
|
||||||
|
|
||||||
|
### Protection & Robustness
|
||||||
|
- [ ] **Consider:** Reverse polarity protection
|
||||||
|
- [ ] **Consider:** Input fuse/PTC
|
||||||
|
- [ ] **Consider:** ESD protection on connectors
|
||||||
|
- [ ] **Consider:** Additional bulk capacitor near ESP32
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Recommended Improvements (Priority Order)
|
||||||
|
|
||||||
|
### High Priority
|
||||||
|
1. **Verify ESP32 GPIO0 pin connection** - Critical for boot button functionality
|
||||||
|
- Check that GPIO0 pin (77.47, 165.10) is connected to GPIO0 net
|
||||||
|
- Add GPIO0 net label if missing
|
||||||
|
|
||||||
|
### Medium Priority
|
||||||
|
2. **Add reverse polarity protection** (if external power input)
|
||||||
|
- Schottky diode or P-channel MOSFET
|
||||||
|
- Prevents damage from reversed power connection
|
||||||
|
|
||||||
|
3. **Add input protection** (if external power input)
|
||||||
|
- Fuse or PTC for overcurrent protection
|
||||||
|
- TVS diode for ESD/transient protection
|
||||||
|
|
||||||
|
### Low Priority
|
||||||
|
4. **Add pulldown resistor on TXB0104 OE pin**
|
||||||
|
- 10kΩ resistor from OE to GND
|
||||||
|
- Improves power-up behavior
|
||||||
|
|
||||||
|
5. **Add additional bulk capacitor near ESP32**
|
||||||
|
- 10µF capacitor very close to ESP32 VDD pin
|
||||||
|
- Improves power supply stability
|
||||||
|
|
||||||
|
6. **Consider LED brightness adjustment**
|
||||||
|
- Test LEDs and adjust R1/R2 if needed (150Ω-330Ω range)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Power Budget Analysis
|
||||||
|
|
||||||
|
### Current Consumption Estimate
|
||||||
|
|
||||||
|
| Component | Typical Current | Peak Current |
|
||||||
|
|-----------|---------------|--------------|
|
||||||
|
| ESP32 (idle) | 80mA | - |
|
||||||
|
| ESP32 (WiFi TX) | 240mA | 500mA |
|
||||||
|
| TXB0104 | 5µA | - |
|
||||||
|
| LEDs (2×) | 12mA | 12mA |
|
||||||
|
| AMS1117 quiescent | 5mA | - |
|
||||||
|
| **Total (idle)** | **~97mA** | - |
|
||||||
|
| **Total (WiFi TX)** | **~257mA** | **~517mA** |
|
||||||
|
|
||||||
|
**Regulator Capacity:** 1A (AMS1117-3.3)
|
||||||
|
**Margin:** ~48% at peak load
|
||||||
|
**Assessment:** ✅ Sufficient headroom
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 PCB Layout Recommendations
|
||||||
|
|
||||||
|
### Critical Placement
|
||||||
|
1. **C5 and C6:** Place as close as possible to ESP32 VDD pin (<5mm)
|
||||||
|
2. **C7 and C8:** Place as close as possible to TXB0104 VCCA/VCCB pins
|
||||||
|
3. **C1-C4:** Place near AMS1117 regulator
|
||||||
|
4. **Ground plane:** Implement solid ground plane for all layers
|
||||||
|
|
||||||
|
### Trace Width
|
||||||
|
- **Power traces:** Minimum 0.5mm for 500mA (ESP32 peak current)
|
||||||
|
- **Signal traces:** 0.2mm minimum (standard)
|
||||||
|
- **Ground traces:** As wide as possible, use ground plane
|
||||||
|
|
||||||
|
### Routing
|
||||||
|
- Keep UART traces short and matched length if possible
|
||||||
|
- Separate analog and digital sections
|
||||||
|
- Keep RF section (ESP32) away from sensitive analog circuits
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Final Verdict
|
||||||
|
|
||||||
|
**Schematic Status:** ✅ **READY FOR PCB LAYOUT**
|
||||||
|
|
||||||
|
The schematic is well-designed and complete. All critical components are present and properly connected. The recommended improvements are optional enhancements for robustness and best practices, but the current design should work correctly.
|
||||||
|
|
||||||
|
**Action Items:**
|
||||||
|
1. ✅ Verify ESP32 GPIO0 pin connection (HIGH PRIORITY)
|
||||||
|
2. ⚠️ Consider adding protection components (MEDIUM PRIORITY)
|
||||||
|
3. 💡 Optional improvements for robustness (LOW PRIORITY)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Notes
|
||||||
|
|
||||||
|
- All component values are appropriate
|
||||||
|
- Power supply is properly sized
|
||||||
|
- Signal routing is correct
|
||||||
|
- Decoupling capacitors are present
|
||||||
|
- Pull-up resistors are correctly configured
|
||||||
|
- Programming header is properly set up
|
||||||
|
|
||||||
|
**The schematic is production-ready with the verification of GPIO0 connection.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Review completed: 2025-12-28*
|
||||||
|
|
||||||
232
Midea_ESP/TRACE_WIDTH_GUIDE.md
Normal file
232
Midea_ESP/TRACE_WIDTH_GUIDE.md
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
# Trace Width Guide: Power Distribution
|
||||||
|
|
||||||
|
**Date:** 2025-12-28
|
||||||
|
**Based on:** ESP32-WROOM-32E, AMS1117-3.3, TXB0104PWR
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Current Requirements Summary
|
||||||
|
|
||||||
|
### 3.3V Power Rail
|
||||||
|
- **ESP32 peak current:** 500mA (WiFi transmission)
|
||||||
|
- **LEDs (2×):** ~12mA
|
||||||
|
- **TXB0104 VCCA:** 5µA (negligible)
|
||||||
|
- **Pull-up resistors:** <0.1mA (negligible)
|
||||||
|
- **Total peak current:** **~512mA**
|
||||||
|
|
||||||
|
### 5V Power Rail
|
||||||
|
- **TXB0104 VCCB:** 5µA (negligible)
|
||||||
|
- **AC Connector:** Minimal (if just signaling)
|
||||||
|
- **Total current:** **~10mA** (very low)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Trace Width Calculations
|
||||||
|
|
||||||
|
### IPC-2221 Standard Reference
|
||||||
|
|
||||||
|
**Current Carrying Capacity (10°C temperature rise):**
|
||||||
|
|
||||||
|
| Copper Weight | Layer Type | Capacity |
|
||||||
|
|---------------|------------|----------|
|
||||||
|
| 1oz (35µm) | External (F.Cu/B.Cu) | ~1.0A per 1mm width |
|
||||||
|
| 1oz (35µm) | Internal | ~0.5A per 1mm width |
|
||||||
|
| 2oz (70µm) | External | ~2.0A per 1mm width |
|
||||||
|
| 2oz (70µm) | Internal | ~1.0A per 1mm width |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended Trace Widths
|
||||||
|
|
||||||
|
### For Standard 1oz Copper PCB (Most Common)
|
||||||
|
|
||||||
|
#### 3.3V Power Traces
|
||||||
|
|
||||||
|
**Minimum Requirements:**
|
||||||
|
- **External layer:** 0.51mm (for 512mA)
|
||||||
|
- **Internal layer:** 1.02mm (for 512mA)
|
||||||
|
|
||||||
|
**Recommended (with safety margin):**
|
||||||
|
- **External layer:** **1.0mm** (50% margin, easy to route)
|
||||||
|
- **Internal layer:** **1.5mm** (50% margin)
|
||||||
|
|
||||||
|
**Best Practice:**
|
||||||
|
- **Main power rail:** Use **1.0mm to 1.5mm** wide traces
|
||||||
|
- **Branch traces:** Can be narrower (0.5mm) for short runs to components
|
||||||
|
- **Copper zones/pours:** Even better for power distribution
|
||||||
|
|
||||||
|
#### 5V Power Traces
|
||||||
|
|
||||||
|
**Minimum Requirements:**
|
||||||
|
- **Any layer:** 0.01mm (for 10mA) - theoretical minimum
|
||||||
|
|
||||||
|
**Recommended:**
|
||||||
|
- **Standard signal width:** **0.3mm** (sufficient and standard)
|
||||||
|
- **Main rail:** **0.5mm** (if using dedicated trace)
|
||||||
|
|
||||||
|
**Note:** 5V current is very low, so trace width is not critical. Use standard signal trace width (0.2-0.3mm) or slightly wider (0.5mm) for main rail.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Detailed Recommendations
|
||||||
|
|
||||||
|
### 3.3V Power Distribution
|
||||||
|
|
||||||
|
#### Option 1: Wide Traces (Recommended)
|
||||||
|
```
|
||||||
|
Main 3.3V rail: 1.0mm - 1.5mm width
|
||||||
|
Branch to ESP32: 0.8mm - 1.0mm width
|
||||||
|
Branch to LEDs: 0.3mm - 0.5mm width
|
||||||
|
Branch to TXB0104: 0.3mm - 0.5mm width
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Option 2: Copper Zones/Pours (Best Practice)
|
||||||
|
- Create a **3.3V copper zone** covering the board area
|
||||||
|
- Provides lowest impedance
|
||||||
|
- Best for power distribution
|
||||||
|
- Use **1.0mm clearance** from other nets
|
||||||
|
|
||||||
|
#### Option 3: Hybrid Approach
|
||||||
|
- Main rail: **1.5mm wide trace** from regulator to ESP32 area
|
||||||
|
- Copper zone: **3.3V zone** around ESP32 and other components
|
||||||
|
- Branch traces: **0.5mm** for short connections
|
||||||
|
|
||||||
|
### 5V Power Distribution
|
||||||
|
|
||||||
|
```
|
||||||
|
Main 5V rail: 0.3mm - 0.5mm width (sufficient)
|
||||||
|
Branch to TXB0104: 0.3mm width (standard)
|
||||||
|
Branch to AC Conn: 0.3mm width (standard)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** 5V current is so low that trace width is not a concern. Use standard signal trace widths.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Implementation Guidelines
|
||||||
|
|
||||||
|
### For KiCad PCB Layout
|
||||||
|
|
||||||
|
#### Setting Up Trace Widths
|
||||||
|
|
||||||
|
1. **Design Rules Setup:**
|
||||||
|
- Go to: `File → Board Setup → Design Rules → Net Classes`
|
||||||
|
- Create net classes:
|
||||||
|
- `Power_3V3`: Min width 0.5mm, Preferred 1.0mm, Max 2.0mm
|
||||||
|
- `Power_5V`: Min width 0.2mm, Preferred 0.3mm, Max 1.0mm
|
||||||
|
- `Signal`: Min width 0.2mm, Preferred 0.2mm, Max 0.5mm
|
||||||
|
|
||||||
|
2. **Assign Net Classes:**
|
||||||
|
- `+3.3V` net → `Power_3V3` class
|
||||||
|
- `+5V` net → `Power_5V` class
|
||||||
|
- All other nets → `Signal` class
|
||||||
|
|
||||||
|
3. **Routing:**
|
||||||
|
- Route power traces first (widest)
|
||||||
|
- Use copper zones for power distribution where possible
|
||||||
|
- Keep power traces short and direct
|
||||||
|
|
||||||
|
### Trace Width by Location
|
||||||
|
|
||||||
|
| Location | 3.3V Width | 5V Width | Notes |
|
||||||
|
|----------|------------|----------|-------|
|
||||||
|
| **Regulator output** | 1.0-1.5mm | - | Main power source |
|
||||||
|
| **To ESP32 VDD** | 1.0mm | - | High current path |
|
||||||
|
| **To TXB0104 VCCA** | 0.5mm | - | Low current |
|
||||||
|
| **To LEDs** | 0.3-0.5mm | - | Low current |
|
||||||
|
| **To pull-ups** | 0.2-0.3mm | - | Very low current |
|
||||||
|
| **5V main rail** | - | 0.3-0.5mm | Low current |
|
||||||
|
| **To TXB0104 VCCB** | - | 0.3mm | Very low current |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Copper Zone Recommendations
|
||||||
|
|
||||||
|
### 3.3V Copper Zone
|
||||||
|
- **Layer:** F.Cu or B.Cu (or both)
|
||||||
|
- **Clearance:** 0.5mm from other nets
|
||||||
|
- **Min width:** 0.5mm (for narrow areas)
|
||||||
|
- **Coverage:** Around ESP32, regulator, and power distribution area
|
||||||
|
|
||||||
|
### GND Copper Zone
|
||||||
|
- **Layer:** Both F.Cu and B.Cu (ground plane)
|
||||||
|
- **Clearance:** 0.3mm from other nets
|
||||||
|
- **Coverage:** Entire board (ground plane)
|
||||||
|
- **Vias:** Connect both layers with multiple vias
|
||||||
|
|
||||||
|
### 5V Copper Zone (Optional)
|
||||||
|
- **Not necessary** due to very low current
|
||||||
|
- Can use if board space allows
|
||||||
|
- **Width:** 0.3mm minimum if used
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Thermal Considerations
|
||||||
|
|
||||||
|
### Power Dissipation
|
||||||
|
- **3.3V @ 512mA:** ~1.69W (ESP32 peak)
|
||||||
|
- **Trace resistance:** Lower with wider traces
|
||||||
|
- **Voltage drop:** Minimize with wide traces and short paths
|
||||||
|
|
||||||
|
### Trace Heating
|
||||||
|
With 1.0mm trace width and 512mA:
|
||||||
|
- **Temperature rise:** ~10°C (acceptable)
|
||||||
|
- **Voltage drop:** <50mV for typical trace lengths
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Checklist
|
||||||
|
|
||||||
|
- [ ] 3.3V main rail: **1.0mm minimum** (1.5mm preferred)
|
||||||
|
- [ ] 3.3V to ESP32: **1.0mm minimum**
|
||||||
|
- [ ] 3.3V branches: **0.5mm minimum** for short runs
|
||||||
|
- [ ] 5V traces: **0.3mm minimum** (standard signal width)
|
||||||
|
- [ ] Ground plane: **Full coverage** on one or both layers
|
||||||
|
- [ ] Power zones: Consider copper zones for 3.3V
|
||||||
|
- [ ] Vias: Use multiple vias for layer transitions on power nets
|
||||||
|
- [ ] Clearance: Maintain proper clearance from other nets
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
### Minimum Trace Widths (1oz copper, external layer)
|
||||||
|
|
||||||
|
| Net | Current | Minimum | Recommended |
|
||||||
|
|-----|---------|---------|-------------|
|
||||||
|
| **+3.3V** | 512mA | 0.51mm | **1.0mm** |
|
||||||
|
| **+5V** | 10mA | 0.01mm | **0.3mm** |
|
||||||
|
| **GND** | - | - | **Ground plane** |
|
||||||
|
| **Signals** | <10mA | 0.2mm | **0.2mm** |
|
||||||
|
|
||||||
|
### Summary
|
||||||
|
- **3.3V traces:** Use **1.0mm** width (or copper zone)
|
||||||
|
- **5V traces:** Use **0.3mm** width (standard signal width)
|
||||||
|
- **GND:** Use **ground plane** (copper zone covering entire board)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Additional Notes
|
||||||
|
|
||||||
|
### Why 1.0mm for 3.3V?
|
||||||
|
- Provides **50% safety margin** over minimum requirement
|
||||||
|
- Easy to route and manufacture
|
||||||
|
- Low voltage drop
|
||||||
|
- Good thermal performance
|
||||||
|
- Standard practice for power traces
|
||||||
|
|
||||||
|
### Why 0.3mm for 5V?
|
||||||
|
- Current is very low (10mA)
|
||||||
|
- Standard signal trace width
|
||||||
|
- Easy to route
|
||||||
|
- Sufficient for the application
|
||||||
|
|
||||||
|
### Copper Zones vs Traces
|
||||||
|
- **Copper zones:** Best for power distribution (lowest impedance)
|
||||||
|
- **Traces:** Good for point-to-point connections
|
||||||
|
- **Hybrid:** Use zones for main distribution, traces for branches
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Guide created: 2025-12-28*
|
||||||
|
|
||||||
271
Midea_ESP/VIA_SIZE_GUIDE.md
Normal file
271
Midea_ESP/VIA_SIZE_GUIDE.md
Normal file
@@ -0,0 +1,271 @@
|
|||||||
|
# Via Size Guide for Power Traces
|
||||||
|
|
||||||
|
**Date:** 2025-12-28
|
||||||
|
**For:** 1mm power trace carrying 512mA (3.3V)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Answer
|
||||||
|
|
||||||
|
**For a 1mm power trace:**
|
||||||
|
- **Recommended via diameter:** **0.8mm**
|
||||||
|
- **Drill size:** 0.4mm
|
||||||
|
- **Alternative:** 0.6mm via (minimum) or use 2× vias in parallel
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Current Requirements
|
||||||
|
|
||||||
|
- **3.3V power trace:** 1mm width
|
||||||
|
- **Current:** 512mA peak (ESP32 + LEDs)
|
||||||
|
- **Application:** Power distribution via
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Via Current Capacity
|
||||||
|
|
||||||
|
### IPC-2221 Standard (Plated Through-Hole Vias)
|
||||||
|
|
||||||
|
| Via Diameter | Drill Size | Current Capacity (1oz) | Notes |
|
||||||
|
|--------------|------------|------------------------|-------|
|
||||||
|
| 0.2mm (8mil) | 0.1mm | ~200mA | Too small for power |
|
||||||
|
| 0.3mm (12mil) | 0.15mm | ~300mA | Too small for power |
|
||||||
|
| 0.4mm (16mil) | 0.2mm | ~400mA | Minimum for 512mA |
|
||||||
|
| **0.5mm (20mil)** | **0.25mm** | **~500mA** | **Minimum acceptable** |
|
||||||
|
| **0.6mm (24mil)** | **0.3mm** | **~600mA** | **Good choice** |
|
||||||
|
| **0.8mm (31mil)** | **0.4mm** | **~800mA** | **Recommended** |
|
||||||
|
| 1.0mm (39mil) | 0.5mm | ~1000mA | Excellent, if space allows |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended Via Specifications
|
||||||
|
|
||||||
|
### Option 1: Single Large Via (Recommended)
|
||||||
|
|
||||||
|
```
|
||||||
|
Via diameter: 0.8mm (31mil)
|
||||||
|
Drill size: 0.4mm (16mil)
|
||||||
|
Annular ring: 0.2mm (8mil) minimum
|
||||||
|
Plating: Standard (1oz copper)
|
||||||
|
Current: ~800mA capacity (56% margin)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Single via, easy to place
|
||||||
|
- Good current capacity with margin
|
||||||
|
- Standard size, widely available
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Slightly larger than minimum
|
||||||
|
|
||||||
|
### Option 2: Multiple Smaller Vias (Best Practice)
|
||||||
|
|
||||||
|
```
|
||||||
|
Via diameter: 0.6mm (24mil) × 2
|
||||||
|
Drill size: 0.3mm (12mil) each
|
||||||
|
Annular ring: 0.15mm (6mil) minimum
|
||||||
|
Total capacity: ~1200mA (2× 600mA)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Lower resistance (parallel connection)
|
||||||
|
- Better thermal performance
|
||||||
|
- Redundancy if one via fails
|
||||||
|
- Can use smaller individual vias
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Requires more board space
|
||||||
|
- More complex routing
|
||||||
|
|
||||||
|
### Option 3: Minimum Size (Not Recommended)
|
||||||
|
|
||||||
|
```
|
||||||
|
Via diameter: 0.5mm (20mil)
|
||||||
|
Drill size: 0.25mm (10mil)
|
||||||
|
Current: ~500mA capacity (just enough)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Smallest acceptable size
|
||||||
|
- Saves board space
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- No safety margin
|
||||||
|
- Higher resistance
|
||||||
|
- Not recommended for power
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Via Size vs Trace Width
|
||||||
|
|
||||||
|
### General Rule
|
||||||
|
|
||||||
|
**For power traces:**
|
||||||
|
- **Via diameter ≥ trace width** (preferred)
|
||||||
|
- **Via diameter ≥ 0.8× trace width** (minimum)
|
||||||
|
|
||||||
|
**For your 1mm trace:**
|
||||||
|
- **Minimum via:** 0.8mm diameter
|
||||||
|
- **Recommended via:** 0.8mm - 1.0mm diameter
|
||||||
|
- **Best practice:** 0.8mm via or 2× 0.6mm vias
|
||||||
|
|
||||||
|
### Why Via Should Match or Exceed Trace Width?
|
||||||
|
|
||||||
|
1. **Current continuity:** Via should handle same current as trace
|
||||||
|
2. **Resistance:** Larger via = lower resistance
|
||||||
|
3. **Thermal:** Better heat dissipation
|
||||||
|
4. **Reliability:** Less stress on via plating
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manufacturing Considerations
|
||||||
|
|
||||||
|
### Standard Via Sizes
|
||||||
|
|
||||||
|
**Commonly available from PCB manufacturers:**
|
||||||
|
|
||||||
|
| Size | Availability | Cost |
|
||||||
|
|------|--------------|------|
|
||||||
|
| 0.2mm | Standard | Standard |
|
||||||
|
| 0.3mm | Standard | Standard |
|
||||||
|
| 0.5mm | Standard | Standard |
|
||||||
|
| 0.6mm | Standard | Standard |
|
||||||
|
| 0.8mm | Standard | Standard |
|
||||||
|
| 1.0mm | Standard | Standard |
|
||||||
|
|
||||||
|
**Note:** Most manufacturers support 0.2mm - 1.0mm via sizes without extra cost.
|
||||||
|
|
||||||
|
### Minimum Requirements
|
||||||
|
|
||||||
|
- **Minimum via diameter:** 0.2mm (most manufacturers)
|
||||||
|
- **Minimum drill size:** 0.1mm (laser drilling)
|
||||||
|
- **Minimum annular ring:** 0.1mm (manufacturing tolerance)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KiCad Via Setup
|
||||||
|
|
||||||
|
### Setting Up Power Vias in KiCad
|
||||||
|
|
||||||
|
1. **Via Settings:**
|
||||||
|
- Go to: `File → Board Setup → Design Rules → Sizes`
|
||||||
|
- Set default via size:
|
||||||
|
- **Diameter:** 0.8mm
|
||||||
|
- **Drill:** 0.4mm
|
||||||
|
|
||||||
|
2. **Net Class Settings:**
|
||||||
|
- Go to: `File → Board Setup → Design Rules → Net Classes`
|
||||||
|
- For `Power_3V3` class:
|
||||||
|
- **Via diameter:** 0.8mm
|
||||||
|
- **Via drill:** 0.4mm
|
||||||
|
|
||||||
|
3. **Routing:**
|
||||||
|
- When routing power traces, KiCad will use the via size from net class
|
||||||
|
- You can also manually set via size when placing vias
|
||||||
|
|
||||||
|
### Creating Custom Via Sizes
|
||||||
|
|
||||||
|
1. **Via Properties:**
|
||||||
|
- Right-click via → Properties
|
||||||
|
- Set custom diameter and drill size
|
||||||
|
- Save as template if needed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### For Power Distribution
|
||||||
|
|
||||||
|
1. **Use multiple vias:**
|
||||||
|
- 2-3 vias in parallel for main power rails
|
||||||
|
- Reduces resistance and improves reliability
|
||||||
|
|
||||||
|
2. **Via placement:**
|
||||||
|
- Place vias close to component pads
|
||||||
|
- Use vias at layer transitions
|
||||||
|
- Avoid vias in high-frequency signal paths
|
||||||
|
|
||||||
|
3. **Via spacing:**
|
||||||
|
- Minimum spacing: 2× via diameter
|
||||||
|
- For power: Can be closer if needed
|
||||||
|
|
||||||
|
4. **Thermal vias:**
|
||||||
|
- Consider thermal vias for heat dissipation
|
||||||
|
- Especially near power components (regulator, ESP32)
|
||||||
|
|
||||||
|
### Example: Power Via Configuration
|
||||||
|
|
||||||
|
```
|
||||||
|
Main 3.3V rail (1mm trace):
|
||||||
|
┌─────────────────┐
|
||||||
|
│ 1mm trace │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ [0.8mm via] │ ← Single via
|
||||||
|
│ │ │
|
||||||
|
│ 1mm trace │
|
||||||
|
└─────────────────┘
|
||||||
|
|
||||||
|
Or better:
|
||||||
|
|
||||||
|
┌─────────────────┐
|
||||||
|
│ 1mm trace │
|
||||||
|
│ │ │
|
||||||
|
│ [0.6mm] [0.6mm]│ ← Two vias in parallel
|
||||||
|
│ │ │
|
||||||
|
│ 1mm trace │
|
||||||
|
└─────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Current Capacity Verification
|
||||||
|
|
||||||
|
### Single 0.8mm Via
|
||||||
|
|
||||||
|
- **Capacity:** ~800mA
|
||||||
|
- **Required:** 512mA
|
||||||
|
- **Margin:** 56% (excellent)
|
||||||
|
|
||||||
|
### Two 0.6mm Vias in Parallel
|
||||||
|
|
||||||
|
- **Capacity:** ~1200mA (2× 600mA)
|
||||||
|
- **Required:** 512mA
|
||||||
|
- **Margin:** 134% (excellent)
|
||||||
|
- **Resistance:** Half of single via
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
### Recommended Via for 1mm Power Trace
|
||||||
|
|
||||||
|
| Parameter | Value | Notes |
|
||||||
|
|-----------|-------|-------|
|
||||||
|
| **Via diameter** | **0.8mm** | Recommended |
|
||||||
|
| **Drill size** | **0.4mm** | Standard |
|
||||||
|
| **Annular ring** | **0.2mm** | Minimum |
|
||||||
|
| **Current capacity** | **~800mA** | 56% margin |
|
||||||
|
| **Alternative** | **2× 0.6mm** | Best practice |
|
||||||
|
|
||||||
|
### Quick Reference
|
||||||
|
|
||||||
|
- **1mm trace → 0.8mm via** (recommended)
|
||||||
|
- **1mm trace → 2× 0.6mm vias** (best practice)
|
||||||
|
- **Minimum:** 0.5mm via (not recommended, no margin)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Checklist
|
||||||
|
|
||||||
|
- [ ] Via diameter: **0.8mm** (or 2× 0.6mm)
|
||||||
|
- [ ] Drill size: **0.4mm** (for 0.8mm via)
|
||||||
|
- [ ] Annular ring: **0.2mm minimum**
|
||||||
|
- [ ] Multiple vias: Consider 2-3 vias for main power rails
|
||||||
|
- [ ] Via placement: Close to component pads
|
||||||
|
- [ ] Manufacturing: Verify with PCB manufacturer
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Guide created: 2025-12-28*
|
||||||
|
|
||||||
Reference in New Issue
Block a user