Initial KiCad project
This commit is contained in:
441
DESIGN_SPEC.md
Normal file
441
DESIGN_SPEC.md
Normal file
@@ -0,0 +1,441 @@
|
|||||||
|
# Custom PCB Design Specification: Midea AC Controller with BLE Beacon
|
||||||
|
|
||||||
|
## Recommended ESP Module
|
||||||
|
|
||||||
|
### 🏆 **Best Choice: ESP32-WROOM-32E or ESP32-WROOM-32**
|
||||||
|
|
||||||
|
**Why ESP32 (not ESP8266 or ESP32-C6)?**
|
||||||
|
- ✅ **Bluetooth BLE Support**: Required for beacon functionality
|
||||||
|
- ✅ **Midea Component Compatibility**: Works with Arduino framework (ESP32-C6 uses ESP-IDF, incompatible)
|
||||||
|
- ✅ **Excellent ESPHome Support**: Most mature and well-documented
|
||||||
|
- ✅ **Dual Core**: Can handle WiFi + BLE + Midea communication simultaneously
|
||||||
|
- ✅ **Multiple UARTs**: Can use hardware UART for Midea, software UART for debugging
|
||||||
|
- ✅ **Good Memory**: 520KB SRAM, sufficient for both features
|
||||||
|
|
||||||
|
### Module Options
|
||||||
|
|
||||||
|
| Module | Size | Flash | RAM | Price | Recommendation |
|
||||||
|
|--------|------|-------|-----|-------|----------------|
|
||||||
|
| **ESP32-WROOM-32E** | 18×25.5mm | 4MB | 520KB | $$ | ⭐ **Best for custom PCB** |
|
||||||
|
| **ESP32-WROOM-32** | 18×25.5mm | 4MB | 520KB | $$ | ⭐ Good alternative |
|
||||||
|
| **ESP32-MINI-1** | 13.2×16.6mm | 4MB | 520KB | $$ | Compact option |
|
||||||
|
| ESP32-C3 | 18×25.5mm | 4MB | 400KB | $ | RISC-V, less support |
|
||||||
|
| ESP32-C6 | 18×25.5mm | 4MB | 512KB | $$ | ESP-IDF only, no Midea |
|
||||||
|
|
||||||
|
**Recommended**: **ESP32-WROOM-32E** (most common, best support)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## PCB Design Requirements
|
||||||
|
|
||||||
|
### Core Components
|
||||||
|
|
||||||
|
1. **ESP32-WROOM-32E Module**
|
||||||
|
- 38 pins (19 per side)
|
||||||
|
- Requires 3.3V power
|
||||||
|
- Built-in antenna
|
||||||
|
|
||||||
|
2. **Logic Level Shifter (3.3V ↔ 5V)**
|
||||||
|
- **TXB0104** (4-channel) or **74LVC245** (8-channel)
|
||||||
|
- Required for Midea AC communication (5V logic)
|
||||||
|
- Bidirectional for TX/RX
|
||||||
|
|
||||||
|
3. **Power Supply**
|
||||||
|
- **AMS1117-3.3** or **LD1117-3.3** (3.3V regulator)
|
||||||
|
- Input: 5V (USB or external)
|
||||||
|
- Output: 3.3V @ 1A (ESP32 needs ~500mA peak)
|
||||||
|
- Decoupling capacitors: 10µF + 100nF
|
||||||
|
|
||||||
|
4. **USB-to-Serial (Optional but Recommended)**
|
||||||
|
- **CP2102** or **CH340C** for programming/debugging
|
||||||
|
- Allows OTA updates via USB
|
||||||
|
- Auto-reset circuit for easy flashing
|
||||||
|
|
||||||
|
5. **Midea AC Connector**
|
||||||
|
- **JST-XH 4-pin** or **USB Type-A** (depending on AC dongle)
|
||||||
|
- Pins: VCC (5V), GND, TX, RX
|
||||||
|
|
||||||
|
6. **Status LEDs**
|
||||||
|
- Power LED (3.3V)
|
||||||
|
- WiFi status LED
|
||||||
|
- BLE status LED (optional)
|
||||||
|
- Midea communication LED (optional)
|
||||||
|
|
||||||
|
7. **Reset Button**
|
||||||
|
- Reset ESP32
|
||||||
|
- Boot button (GPIO0) for flashing
|
||||||
|
|
||||||
|
### Pin Assignment
|
||||||
|
|
||||||
|
#### ESP32-WROOM-32E Pinout
|
||||||
|
|
||||||
|
```
|
||||||
|
Power:
|
||||||
|
VDD (Pin 1, 3, 14, 21, 22, 27, 28, 33, 42) → 3.3V
|
||||||
|
GND (Pin 2, 4, 13, 15, 20, 23, 26, 29, 34, 38, 40) → GND
|
||||||
|
|
||||||
|
Midea UART (via Level Shifter):
|
||||||
|
GPIO17 (TX) → Level Shifter LV1 → HV1 → AC Dongle RX
|
||||||
|
GPIO16 (RX) → Level Shifter LV2 → HV2 → AC Dongle TX
|
||||||
|
GND → AC Dongle GND
|
||||||
|
|
||||||
|
USB-to-Serial (if included):
|
||||||
|
GPIO1 (TX) → CP2102 RX
|
||||||
|
GPIO3 (RX) → CP2102 TX
|
||||||
|
GPIO0 (Boot) → CP2102 DTR (auto-reset)
|
||||||
|
|
||||||
|
Status LEDs:
|
||||||
|
GPIO2 → WiFi Status LED
|
||||||
|
GPIO4 → BLE Status LED (optional)
|
||||||
|
GPIO5 → Midea Communication LED (optional)
|
||||||
|
|
||||||
|
Buttons:
|
||||||
|
GPIO0 → Boot/Flash Button
|
||||||
|
EN → Reset Button
|
||||||
|
|
||||||
|
Bluetooth:
|
||||||
|
Built-in (no external pins needed)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Schematic Design
|
||||||
|
|
||||||
|
#### Power Section
|
||||||
|
```
|
||||||
|
USB 5V → AMS1117-3.3 → 3.3V → ESP32 VDD
|
||||||
|
↓
|
||||||
|
GND → Common Ground
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Midea Communication Section
|
||||||
|
```
|
||||||
|
ESP32 GPIO17 (TX) → TXB0104 LV1 → HV1 → AC Dongle RX
|
||||||
|
ESP32 GPIO16 (RX) → TXB0104 LV2 → HV2 → AC Dongle TX
|
||||||
|
ESP32 GND → TXB0104 GND → AC Dongle GND
|
||||||
|
ESP32 3.3V → TXB0104 LV
|
||||||
|
External 5V → TXB0104 HV → AC Dongle VCC (if needed)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Level Shifter Configuration (TXB0104)
|
||||||
|
- **VCCA (LV)**: 3.3V from ESP32
|
||||||
|
- **VCCB (HV)**: 5V from USB or external
|
||||||
|
- **OE (Output Enable)**: Connect to 3.3V (always enabled)
|
||||||
|
- **A1 (LV1)**: ESP32 GPIO17 (TX)
|
||||||
|
- **B1 (HV1)**: AC Dongle RX
|
||||||
|
- **A2 (LV2)**: ESP32 GPIO16 (RX)
|
||||||
|
- **B2 (HV2)**: AC Dongle TX
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## PCB Layout Considerations
|
||||||
|
|
||||||
|
### Layer Stackup (2-layer minimum, 4-layer recommended)
|
||||||
|
|
||||||
|
**2-Layer:**
|
||||||
|
- Top: Components, signal traces
|
||||||
|
- Bottom: Ground plane, power traces
|
||||||
|
|
||||||
|
**4-Layer (Recommended):**
|
||||||
|
- Top: Components, signal traces
|
||||||
|
- Layer 2: Ground plane
|
||||||
|
- Layer 3: Power plane (3.3V)
|
||||||
|
- Bottom: Ground plane, remaining signals
|
||||||
|
|
||||||
|
### Design Rules
|
||||||
|
|
||||||
|
1. **Power Traces**
|
||||||
|
- 3.3V: Minimum 0.5mm (20mil) width
|
||||||
|
- 5V: Minimum 0.5mm (20mil) width
|
||||||
|
- GND: Use ground planes where possible
|
||||||
|
|
||||||
|
2. **Signal Traces**
|
||||||
|
- UART: 0.2mm (8mil) minimum
|
||||||
|
- Keep UART traces short (<50mm)
|
||||||
|
- Avoid crossing power traces
|
||||||
|
|
||||||
|
3. **Component Placement**
|
||||||
|
- ESP32 module: Center of board
|
||||||
|
- Level shifter: Close to ESP32 and AC connector
|
||||||
|
- Power regulator: Near USB input
|
||||||
|
- Decoupling caps: Close to power pins (<5mm)
|
||||||
|
|
||||||
|
4. **Antenna Clearance**
|
||||||
|
- Keep 15mm clearance around ESP32 antenna area
|
||||||
|
- No ground plane under antenna
|
||||||
|
- No components or traces near antenna
|
||||||
|
|
||||||
|
5. **Thermal Considerations**
|
||||||
|
- Add thermal vias under power regulator
|
||||||
|
- Ensure adequate copper for heat dissipation
|
||||||
|
|
||||||
|
### Board Size Recommendation
|
||||||
|
|
||||||
|
- **Minimum**: 40mm × 50mm (fits ESP32 + essential components)
|
||||||
|
- **Recommended**: 50mm × 60mm (comfortable spacing, room for connectors)
|
||||||
|
- **With USB**: 50mm × 70mm (includes USB connector)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bill of Materials (BOM)
|
||||||
|
|
||||||
|
### Essential Components
|
||||||
|
|
||||||
|
| Component | Part Number | Quantity | Notes |
|
||||||
|
|-----------|-------------|----------|-------|
|
||||||
|
| ESP32 Module | ESP32-WROOM-32E | 1 | 4MB flash, built-in antenna |
|
||||||
|
| Level Shifter | TXB0104PWR | 1 | 4-channel, TSSOP-14 |
|
||||||
|
| 3.3V Regulator | AMS1117-3.3 | 1 | SOT-223 or SOT-89 |
|
||||||
|
| USB-to-Serial | CP2102N | 1 | Optional, QFN-24 |
|
||||||
|
| USB Connector | USB-B Micro | 1 | Optional, for programming |
|
||||||
|
| AC Connector | JST-XH 4-pin | 1 | Or USB Type-A female |
|
||||||
|
| Reset Button | Tactile Switch | 1 | 6×6mm |
|
||||||
|
| Boot Button | Tactile Switch | 1 | 6×6mm (optional) |
|
||||||
|
| Status LED | LED 0603 | 2-3 | Red/Green/Blue |
|
||||||
|
| Resistors | 10kΩ 0603 | 2 | Pull-up for buttons |
|
||||||
|
| Resistors | 220Ω 0603 | 2-3 | LED current limiting |
|
||||||
|
| Capacitors | 10µF 0805 | 2 | Power decoupling |
|
||||||
|
| Capacitors | 100nF 0603 | 5-10 | Decoupling |
|
||||||
|
|
||||||
|
### Optional Components
|
||||||
|
|
||||||
|
- **BLE Status LED**: Additional LED for Bluetooth status
|
||||||
|
- **Midea Status LED**: LED to show AC communication
|
||||||
|
- **Crystal**: 32.768kHz (if using RTC features)
|
||||||
|
- **EEPROM**: For storing settings (ESP32 has built-in)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ESPHome Configuration Template
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
esphome:
|
||||||
|
name: midea-ac-controller
|
||||||
|
friendly_name: Midea AC Controller
|
||||||
|
|
||||||
|
esp32:
|
||||||
|
board: esp32dev
|
||||||
|
framework:
|
||||||
|
type: arduino
|
||||||
|
|
||||||
|
# Enable logging (can use software serial or disable)
|
||||||
|
logger:
|
||||||
|
baud_rate: 115200 # Or 0 to disable
|
||||||
|
|
||||||
|
# Enable Home Assistant API
|
||||||
|
api:
|
||||||
|
encryption:
|
||||||
|
key: !secret api_encryption_key
|
||||||
|
|
||||||
|
ota:
|
||||||
|
- platform: esphome
|
||||||
|
password: !secret ota_password
|
||||||
|
|
||||||
|
wifi:
|
||||||
|
ssid: !secret wifi_ssid
|
||||||
|
password: !secret wifi_password
|
||||||
|
min_auth_mode: WPA2
|
||||||
|
ap:
|
||||||
|
ssid: "Midea AC Controller"
|
||||||
|
password: !secret fallback_password
|
||||||
|
|
||||||
|
captive_portal:
|
||||||
|
|
||||||
|
# Status LEDs
|
||||||
|
binary_sensor:
|
||||||
|
- platform: status
|
||||||
|
name: "WiFi Status"
|
||||||
|
|
||||||
|
output:
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO2
|
||||||
|
id: wifi_led
|
||||||
|
- platform: gpio
|
||||||
|
pin: GPIO4
|
||||||
|
id: ble_led
|
||||||
|
|
||||||
|
light:
|
||||||
|
- platform: monochromatic
|
||||||
|
output: wifi_led
|
||||||
|
name: "WiFi Status LED"
|
||||||
|
- platform: monochromatic
|
||||||
|
output: ble_led
|
||||||
|
name: "BLE Status LED"
|
||||||
|
|
||||||
|
# UART for Midea AC communication
|
||||||
|
uart:
|
||||||
|
id: uart_midea
|
||||||
|
tx_pin: GPIO17
|
||||||
|
rx_pin: GPIO16
|
||||||
|
baud_rate: 9600
|
||||||
|
stop_bits: 1
|
||||||
|
data_bits: 8
|
||||||
|
parity: NONE
|
||||||
|
|
||||||
|
# Midea AC Control
|
||||||
|
climate:
|
||||||
|
- platform: midea
|
||||||
|
name: "AC Controller"
|
||||||
|
uart_id: uart_midea
|
||||||
|
autoconf: true
|
||||||
|
beeper: false
|
||||||
|
period: 2s
|
||||||
|
timeout: 5s
|
||||||
|
num_attempts: 3
|
||||||
|
supported_modes:
|
||||||
|
- COOL
|
||||||
|
- HEAT
|
||||||
|
- DRY
|
||||||
|
- FAN_ONLY
|
||||||
|
supported_swing_modes:
|
||||||
|
- VERTICAL
|
||||||
|
- HORIZONTAL
|
||||||
|
- BOTH
|
||||||
|
supported_presets:
|
||||||
|
- ECO
|
||||||
|
- BOOST
|
||||||
|
- SLEEP
|
||||||
|
visual:
|
||||||
|
min_temperature: 17 °C
|
||||||
|
max_temperature: 30 °C
|
||||||
|
temperature_step: 0.5 °C
|
||||||
|
|
||||||
|
# Bluetooth Low Energy Beacon
|
||||||
|
esp32_ble_beacon:
|
||||||
|
type: iBeacon
|
||||||
|
uuid: 'c29ce823-e67a-4e71-bff2-abaa32e77a98' # Change to unique UUID
|
||||||
|
major: 1
|
||||||
|
minor: 1
|
||||||
|
tx_power: 0dBm
|
||||||
|
|
||||||
|
# Beeper control switch
|
||||||
|
switch:
|
||||||
|
- platform: template
|
||||||
|
name: "AC Beeper"
|
||||||
|
icon: "mdi:volume-source"
|
||||||
|
optimistic: true
|
||||||
|
turn_on_action:
|
||||||
|
- midea_ac.beeper_on:
|
||||||
|
turn_off_action:
|
||||||
|
- midea_ac.beeper_off:
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Checklist
|
||||||
|
|
||||||
|
### Schematic Design
|
||||||
|
- [ ] ESP32-WROOM-32E module placed
|
||||||
|
- [ ] Power supply circuit (5V → 3.3V)
|
||||||
|
- [ ] Logic level shifter (TXB0104) connected
|
||||||
|
- [ ] Midea AC connector (JST-XH or USB)
|
||||||
|
- [ ] USB-to-Serial (optional but recommended)
|
||||||
|
- [ ] Status LEDs with current limiting resistors
|
||||||
|
- [ ] Reset and Boot buttons
|
||||||
|
- [ ] Decoupling capacitors (10µF + 100nF per power pin)
|
||||||
|
- [ ] Pull-up resistors for buttons
|
||||||
|
|
||||||
|
### PCB Layout
|
||||||
|
- [ ] ESP32 antenna clearance (15mm no-ground zone)
|
||||||
|
- [ ] Power traces adequate width (0.5mm minimum)
|
||||||
|
- [ ] Ground planes on bottom layer
|
||||||
|
- [ ] UART traces kept short and away from power
|
||||||
|
- [ ] Decoupling caps close to power pins
|
||||||
|
- [ ] Thermal vias under regulator
|
||||||
|
- [ ] Component labels and reference designators
|
||||||
|
- [ ] Test points for debugging
|
||||||
|
|
||||||
|
### Testing
|
||||||
|
- [ ] Power supply verification (3.3V stable)
|
||||||
|
- [ ] ESP32 boot and WiFi connection
|
||||||
|
- [ ] UART communication test
|
||||||
|
- [ ] Logic level shifter functionality (3.3V ↔ 5V)
|
||||||
|
- [ ] Midea AC communication
|
||||||
|
- [ ] BLE beacon transmission
|
||||||
|
- [ ] OTA update capability
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manufacturing Notes
|
||||||
|
|
||||||
|
### PCB Specifications
|
||||||
|
- **Layers**: 2-layer minimum, 4-layer recommended
|
||||||
|
- **Thickness**: 1.6mm standard
|
||||||
|
- **Copper Weight**: 1oz (35µm)
|
||||||
|
- **Surface Finish**: HASL or ENIG (ENIG for better quality)
|
||||||
|
- **Solder Mask**: Green (standard) or custom color
|
||||||
|
- **Silkscreen**: White or black
|
||||||
|
|
||||||
|
### Assembly
|
||||||
|
- **Component Package**: 0603 or 0805 (hand-solderable)
|
||||||
|
- **ESP32 Module**: Can be hand-soldered or reflow
|
||||||
|
- **Level Shifter**: TSSOP-14 (requires careful soldering or stencil)
|
||||||
|
|
||||||
|
### Recommended PCB Manufacturers
|
||||||
|
- **JLCPCB**: Good for prototypes, low cost
|
||||||
|
- **PCBWay**: Good quality, reasonable price
|
||||||
|
- **OSHPark**: US-based, good for small batches
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cost Estimation
|
||||||
|
|
||||||
|
### PCB Only (10 pieces)
|
||||||
|
- 2-layer 50×60mm: ~$5-10
|
||||||
|
- 4-layer 50×60mm: ~$20-30
|
||||||
|
|
||||||
|
### Components (per unit)
|
||||||
|
- ESP32-WROOM-32E: $2-3
|
||||||
|
- TXB0104: $0.50
|
||||||
|
- AMS1117-3.3: $0.20
|
||||||
|
- CP2102N: $1-2 (optional)
|
||||||
|
- Other components: $1-2
|
||||||
|
- **Total per unit**: ~$5-8
|
||||||
|
|
||||||
|
### Total Cost (10 units)
|
||||||
|
- PCB: $10-30
|
||||||
|
- Components: $50-80
|
||||||
|
- **Total**: ~$60-110 for 10 units
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
1. **Create KiCad Schematic**
|
||||||
|
- Add ESP32-WROOM-32E module
|
||||||
|
- Design power supply
|
||||||
|
- Add level shifter circuit
|
||||||
|
- Connect all components
|
||||||
|
|
||||||
|
2. **Design PCB Layout**
|
||||||
|
- Place components
|
||||||
|
- Route traces
|
||||||
|
- Add ground planes
|
||||||
|
- Verify design rules
|
||||||
|
|
||||||
|
3. **Order Prototype**
|
||||||
|
- Generate Gerber files
|
||||||
|
- Order PCBs (start with 5-10 pieces)
|
||||||
|
- Order components
|
||||||
|
- Assemble and test
|
||||||
|
|
||||||
|
4. **Test and Iterate**
|
||||||
|
- Test power supply
|
||||||
|
- Test ESP32 functionality
|
||||||
|
- Test Midea communication
|
||||||
|
- Test BLE beacon
|
||||||
|
- Fix any issues
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- [ESP32-WROOM-32E Datasheet](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf)
|
||||||
|
- [TXB0104 Datasheet](https://www.ti.com/lit/ds/symlink/txb0104.pdf)
|
||||||
|
- [ESPHome Midea Component](https://esphome.io/components/climate/midea/)
|
||||||
|
- [ESPHome BLE Beacon](https://esphome.io/components/esp32_ble_beacon.html)
|
||||||
|
- [KiCad ESP32 Footprints](https://github.com/KiCad/kicad-footprints)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Last Updated**: December 2025
|
||||||
|
**Design Status**: Specification Complete - Ready for Schematic Design
|
||||||
|
|
||||||
410
KICAD_GUIDE.md
Normal file
410
KICAD_GUIDE.md
Normal file
@@ -0,0 +1,410 @@
|
|||||||
|
# KiCad Schematic and PCB Design Guide
|
||||||
|
|
||||||
|
## Step-by-Step Schematic Creation
|
||||||
|
|
||||||
|
### 1. Component Libraries Setup
|
||||||
|
|
||||||
|
First, ensure you have the necessary libraries:
|
||||||
|
- **ESP32-WROOM-32**: ESP32 module footprint
|
||||||
|
- **TXB0104**: Logic level shifter
|
||||||
|
- **AMS1117**: Voltage regulator
|
||||||
|
- **CP2102N**: USB-to-Serial (optional)
|
||||||
|
- Standard libraries: Resistors, Capacitors, LEDs, Connectors
|
||||||
|
|
||||||
|
### 2. Schematic Components List
|
||||||
|
|
||||||
|
Add these components to your schematic:
|
||||||
|
|
||||||
|
#### Power Section
|
||||||
|
- **U1**: AMS1117-3.3 (Voltage Regulator)
|
||||||
|
- **C1**: 10µF Capacitor (Input)
|
||||||
|
- **C2**: 10µF Capacitor (Output)
|
||||||
|
- **C3**: 100nF Capacitor (Input decoupling)
|
||||||
|
- **C4**: 100nF Capacitor (Output decoupling)
|
||||||
|
- **USB1**: USB Micro-B Connector (Power input)
|
||||||
|
|
||||||
|
#### ESP32 Module
|
||||||
|
- **U2**: ESP32-WROOM-32E Module
|
||||||
|
|
||||||
|
#### Logic Level Shifter
|
||||||
|
- **U3**: TXB0104PWR (4-channel level shifter)
|
||||||
|
|
||||||
|
#### Midea AC Connector
|
||||||
|
- **J1**: JST-XH 4-pin Connector (or USB Type-A female)
|
||||||
|
|
||||||
|
#### USB-to-Serial (Optional)
|
||||||
|
- **U4**: CP2102N (USB-to-Serial converter)
|
||||||
|
- **USB2**: USB Micro-B Connector (Programming)
|
||||||
|
|
||||||
|
#### Status LEDs
|
||||||
|
- **LED1**: LED (WiFi Status) - GPIO2
|
||||||
|
- **LED2**: LED (BLE Status) - GPIO4
|
||||||
|
- **R1**: 220Ω Resistor (LED1 current limiting)
|
||||||
|
- **R2**: 220Ω Resistor (LED2 current limiting)
|
||||||
|
|
||||||
|
#### Buttons
|
||||||
|
- **SW1**: Tactile Switch (Reset)
|
||||||
|
- **SW2**: Tactile Switch (Boot/Flash)
|
||||||
|
- **R3**: 10kΩ Resistor (Reset pull-up)
|
||||||
|
- **R4**: 10kΩ Resistor (Boot pull-up)
|
||||||
|
|
||||||
|
#### Decoupling Capacitors
|
||||||
|
- **C5-C10**: 100nF Capacitors (ESP32 power pins)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Detailed Schematic Connections
|
||||||
|
|
||||||
|
### Power Supply Section
|
||||||
|
|
||||||
|
```
|
||||||
|
USB1 (Micro-B):
|
||||||
|
Pin 1 (VCC) → C1+ → U1.IN
|
||||||
|
Pin 1 (VCC) → C3+ → U1.IN
|
||||||
|
Pin 4 (GND) → GND
|
||||||
|
|
||||||
|
U1 (AMS1117-3.3):
|
||||||
|
IN → USB1.VCC (via C1, C3)
|
||||||
|
GND → GND
|
||||||
|
OUT → C2+ → 3V3 (Power Rail)
|
||||||
|
OUT → C4+ → 3V3 (Power Rail)
|
||||||
|
|
||||||
|
Power Rails:
|
||||||
|
3V3 → ESP32 VDD pins
|
||||||
|
3V3 → Level Shifter VCCA
|
||||||
|
3V3 → LED anodes (via resistors)
|
||||||
|
3V3 → Button pull-ups
|
||||||
|
GND → Common ground plane
|
||||||
|
```
|
||||||
|
|
||||||
|
### ESP32-WROOM-32E Connections
|
||||||
|
|
||||||
|
```
|
||||||
|
U2 (ESP32-WROOM-32E):
|
||||||
|
VDD (Pins: 1,3,14,21,22,27,28,33,42) → 3V3 (via decoupling caps)
|
||||||
|
GND (Pins: 2,4,13,15,20,23,26,29,34,38,40) → GND
|
||||||
|
|
||||||
|
GPIO17 (TX) → U3.A1 (Level Shifter LV side)
|
||||||
|
GPIO16 (RX) → U3.A2 (Level Shifter LV side)
|
||||||
|
|
||||||
|
GPIO2 → R1 → LED1 (WiFi Status)
|
||||||
|
GPIO4 → R2 → LED2 (BLE Status)
|
||||||
|
|
||||||
|
GPIO0 → SW2 (Boot Button) → GND
|
||||||
|
GPIO0 → R4 → 3V3 (Pull-up)
|
||||||
|
|
||||||
|
EN → SW1 (Reset Button) → GND
|
||||||
|
EN → R3 → 3V3 (Pull-up)
|
||||||
|
|
||||||
|
GPIO1 (TX) → U4.RXD (if USB-to-Serial included)
|
||||||
|
GPIO3 (RX) → U4.TXD (if USB-to-Serial included)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Logic Level Shifter (TXB0104)
|
||||||
|
|
||||||
|
```
|
||||||
|
U3 (TXB0104PWR):
|
||||||
|
VCCA → 3V3 (Low voltage side)
|
||||||
|
VCCB → 5V (High voltage side - from USB or external)
|
||||||
|
GND → GND
|
||||||
|
OE → 3V3 (Always enabled)
|
||||||
|
|
||||||
|
A1 (LV1) → U2.GPIO17 (ESP32 TX)
|
||||||
|
B1 (HV1) → J1.RX (AC Dongle RX)
|
||||||
|
|
||||||
|
A2 (LV2) → U2.GPIO16 (ESP32 RX)
|
||||||
|
B2 (HV2) → J1.TX (AC Dongle TX)
|
||||||
|
|
||||||
|
A3, A4, B3, B4 → NC (Not connected)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Midea AC Connector
|
||||||
|
|
||||||
|
```
|
||||||
|
J1 (JST-XH 4-pin or USB Type-A):
|
||||||
|
Pin 1 (VCC) → 5V (if AC dongle needs power)
|
||||||
|
Pin 2 (RX) → U3.B1 (Level Shifter HV1)
|
||||||
|
Pin 3 (TX) → U3.B2 (Level Shifter HV2)
|
||||||
|
Pin 4 (GND) → GND
|
||||||
|
```
|
||||||
|
|
||||||
|
### USB-to-Serial (Optional)
|
||||||
|
|
||||||
|
```
|
||||||
|
U4 (CP2102N):
|
||||||
|
VDD → 3V3
|
||||||
|
GND → GND
|
||||||
|
DTR → U2.GPIO0 (Auto-reset for flashing)
|
||||||
|
RXD → U2.GPIO1 (ESP32 TX)
|
||||||
|
TXD → U2.GPIO3 (ESP32 RX)
|
||||||
|
VBUS → USB2.VCC (5V detection)
|
||||||
|
|
||||||
|
USB2 (Micro-B):
|
||||||
|
VCC → U4.VBUS
|
||||||
|
D+ → U4.D+
|
||||||
|
D- → U4.D-
|
||||||
|
GND → GND
|
||||||
|
```
|
||||||
|
|
||||||
|
### Status LEDs
|
||||||
|
|
||||||
|
```
|
||||||
|
LED1 (WiFi Status):
|
||||||
|
Anode → R1 → U2.GPIO2
|
||||||
|
Cathode → GND
|
||||||
|
|
||||||
|
LED2 (BLE Status):
|
||||||
|
Anode → R2 → U2.GPIO4
|
||||||
|
Cathode → GND
|
||||||
|
```
|
||||||
|
|
||||||
|
### Buttons
|
||||||
|
|
||||||
|
```
|
||||||
|
SW1 (Reset):
|
||||||
|
Pin 1 → U2.EN
|
||||||
|
Pin 2 → GND
|
||||||
|
(R3 pull-up: U2.EN → 3V3)
|
||||||
|
|
||||||
|
SW2 (Boot):
|
||||||
|
Pin 1 → U2.GPIO0
|
||||||
|
Pin 2 → GND
|
||||||
|
(R4 pull-up: U2.GPIO0 → 3V3)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## PCB Layout Guidelines
|
||||||
|
|
||||||
|
### Component Placement Order
|
||||||
|
|
||||||
|
1. **ESP32 Module (Center)**
|
||||||
|
- Place ESP32-WROOM-32E in center of board
|
||||||
|
- Leave 15mm clearance around antenna area (top-right corner)
|
||||||
|
- No ground plane under antenna
|
||||||
|
|
||||||
|
2. **Power Section (Top Left)**
|
||||||
|
- USB connector near edge
|
||||||
|
- AMS1117 regulator close to USB
|
||||||
|
- Decoupling capacitors within 5mm of regulator
|
||||||
|
|
||||||
|
3. **Level Shifter (Between ESP32 and AC Connector)**
|
||||||
|
- TXB0104 close to ESP32 GPIO17/GPIO16
|
||||||
|
- Positioned to minimize trace length to AC connector
|
||||||
|
|
||||||
|
4. **AC Connector (Right Edge)**
|
||||||
|
- JST-XH connector on right edge
|
||||||
|
- Easy access for cable connection
|
||||||
|
|
||||||
|
5. **USB-to-Serial (Bottom Left, Optional)**
|
||||||
|
- CP2102N and USB connector
|
||||||
|
- Separate from power USB
|
||||||
|
|
||||||
|
6. **Status LEDs (Top Edge)**
|
||||||
|
- Visible when board is mounted
|
||||||
|
- Near board edge
|
||||||
|
|
||||||
|
7. **Buttons (Accessible Location)**
|
||||||
|
- Reset and Boot buttons
|
||||||
|
- Easy to press during development
|
||||||
|
|
||||||
|
### Routing Priorities
|
||||||
|
|
||||||
|
1. **Power Traces (Highest Priority)**
|
||||||
|
- 3V3: Minimum 0.5mm (20mil) width
|
||||||
|
- 5V: Minimum 0.5mm (20mil) width
|
||||||
|
- Use power planes if 4-layer board
|
||||||
|
|
||||||
|
2. **Ground (Critical)**
|
||||||
|
- Ground plane on bottom layer
|
||||||
|
- Connect all GND pins to plane
|
||||||
|
- Keep ground continuous
|
||||||
|
|
||||||
|
3. **UART Signals (High Priority)**
|
||||||
|
- Keep traces short (<50mm)
|
||||||
|
- Avoid crossing power traces
|
||||||
|
- Route together (differential pair style)
|
||||||
|
- 0.2mm (8mil) minimum width
|
||||||
|
|
||||||
|
4. **GPIO Signals (Standard)**
|
||||||
|
- 0.15mm (6mil) minimum width
|
||||||
|
- Keep away from antenna area
|
||||||
|
|
||||||
|
### Design Rules
|
||||||
|
|
||||||
|
- **Trace Width**:
|
||||||
|
- Power: 0.5mm (20mil)
|
||||||
|
- Signal: 0.15-0.2mm (6-8mil)
|
||||||
|
|
||||||
|
- **Via Size**:
|
||||||
|
- Diameter: 0.5mm (20mil)
|
||||||
|
- Drill: 0.2mm (8mil)
|
||||||
|
|
||||||
|
- **Clearance**:
|
||||||
|
- Trace to trace: 0.15mm (6mil)
|
||||||
|
- Trace to pad: 0.15mm (6mil)
|
||||||
|
|
||||||
|
- **Antenna Keepout**:
|
||||||
|
- 15mm radius around ESP32 antenna
|
||||||
|
- No ground plane
|
||||||
|
- No components
|
||||||
|
- No traces (except necessary)
|
||||||
|
|
||||||
|
### Layer Stackup (2-Layer)
|
||||||
|
|
||||||
|
**Top Layer:**
|
||||||
|
- Components
|
||||||
|
- Signal traces
|
||||||
|
- Power traces (3V3, 5V)
|
||||||
|
|
||||||
|
**Bottom Layer:**
|
||||||
|
- Ground plane (primary)
|
||||||
|
- Power traces (if needed)
|
||||||
|
- Signal traces (minimal)
|
||||||
|
|
||||||
|
### Layer Stackup (4-Layer Recommended)
|
||||||
|
|
||||||
|
**Layer 1 (Top):**
|
||||||
|
- Components
|
||||||
|
- Signal traces
|
||||||
|
|
||||||
|
**Layer 2 (Inner 1):**
|
||||||
|
- Ground plane
|
||||||
|
|
||||||
|
**Layer 3 (Inner 2):**
|
||||||
|
- Power plane (3V3)
|
||||||
|
|
||||||
|
**Layer 4 (Bottom):**
|
||||||
|
- Ground plane
|
||||||
|
- Signal traces
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KiCad Specific Instructions
|
||||||
|
|
||||||
|
### 1. Adding Components
|
||||||
|
|
||||||
|
1. Open KiCad Schematic Editor
|
||||||
|
2. Click "Place Symbol" (A key)
|
||||||
|
3. Search for components:
|
||||||
|
- `ESP32-WROOM-32E` (may need to download footprint)
|
||||||
|
- `TXB0104` (may need custom symbol)
|
||||||
|
- `AMS1117` (search in library)
|
||||||
|
- Standard: `R`, `C`, `LED`, `SW_Push`, `Conn_01x04_Male`
|
||||||
|
|
||||||
|
### 2. Creating Custom Symbols (if needed)
|
||||||
|
|
||||||
|
**ESP32-WROOM-32E:**
|
||||||
|
- Create new symbol in Symbol Editor
|
||||||
|
- Add pins according to ESP32-WROOM-32E datasheet
|
||||||
|
- Save to custom library
|
||||||
|
|
||||||
|
**TXB0104:**
|
||||||
|
- Create symbol with 14 pins (TSSOP-14)
|
||||||
|
- Pins: VCCA, A1-A4, GND, OE, B1-B4, VCCB, GND
|
||||||
|
|
||||||
|
### 3. Assigning Footprints
|
||||||
|
|
||||||
|
1. Open "Assign Footprints" tool
|
||||||
|
2. Assign footprints:
|
||||||
|
- ESP32-WROOM-32E → `ESP32-WROOM-32` footprint
|
||||||
|
- TXB0104 → `TSSOP-14` footprint
|
||||||
|
- AMS1117 → `SOT-223` or `SOT-89` footprint
|
||||||
|
- Resistors → `R_0603` or `R_0805`
|
||||||
|
- Capacitors → `C_0603` or `C_0805`
|
||||||
|
- LEDs → `LED_0603`
|
||||||
|
- Buttons → `SW_PUSH_6mm`
|
||||||
|
- Connectors → Appropriate JST or USB footprint
|
||||||
|
|
||||||
|
### 4. Netlist and PCB
|
||||||
|
|
||||||
|
1. Generate Netlist (F8)
|
||||||
|
2. Open PCB Editor
|
||||||
|
3. Read Netlist (F8 in PCB Editor)
|
||||||
|
4. Place components according to guidelines
|
||||||
|
5. Route traces following priorities
|
||||||
|
|
||||||
|
### 5. Design Rule Check (DRC)
|
||||||
|
|
||||||
|
1. Run DRC before finalizing
|
||||||
|
2. Check for:
|
||||||
|
- Unconnected nets
|
||||||
|
- Clearance violations
|
||||||
|
- Trace width violations
|
||||||
|
- Via size issues
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Component Footprint Reference
|
||||||
|
|
||||||
|
| Component | Footprint | Package |
|
||||||
|
|-----------|-----------|---------|
|
||||||
|
| ESP32-WROOM-32E | Custom/ESP32-WROOM-32 | Module |
|
||||||
|
| TXB0104PWR | TSSOP-14 | TSSOP |
|
||||||
|
| AMS1117-3.3 | SOT-223 | SOT-223 |
|
||||||
|
| CP2102N | QFN-24 | QFN |
|
||||||
|
| Resistors | R_0603 or R_0805 | 0603/0805 |
|
||||||
|
| Capacitors | C_0603 or C_0805 | 0603/0805 |
|
||||||
|
| LEDs | LED_0603 | 0603 |
|
||||||
|
| Buttons | SW_PUSH_6mm | 6×6mm |
|
||||||
|
| USB Micro-B | USB_Micro-B | Through-hole |
|
||||||
|
| JST-XH | JST_XH_B4B-XH-A | Through-hole |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Testing Checklist
|
||||||
|
|
||||||
|
After PCB assembly:
|
||||||
|
|
||||||
|
- [ ] Power supply: 3.3V stable at ESP32 VDD
|
||||||
|
- [ ] ESP32 boots (check serial output)
|
||||||
|
- [ ] WiFi connects
|
||||||
|
- [ ] BLE beacon transmits
|
||||||
|
- [ ] UART communication works
|
||||||
|
- [ ] Level shifter: 3.3V → 5V conversion verified
|
||||||
|
- [ ] Midea AC responds to commands
|
||||||
|
- [ ] Status LEDs function
|
||||||
|
- [ ] Buttons work (Reset, Boot)
|
||||||
|
- [ ] OTA updates work
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Issues and Solutions
|
||||||
|
|
||||||
|
### Issue: ESP32 doesn't boot
|
||||||
|
- **Check**: Power supply voltage (should be 3.3V)
|
||||||
|
- **Check**: Decoupling capacitors
|
||||||
|
- **Check**: EN pin connection
|
||||||
|
|
||||||
|
### Issue: UART communication fails
|
||||||
|
- **Check**: Level shifter connections
|
||||||
|
- **Check**: 5V power to level shifter VCCB
|
||||||
|
- **Check**: TX/RX not swapped
|
||||||
|
|
||||||
|
### Issue: WiFi/BLE interference
|
||||||
|
- **Check**: Antenna clearance (15mm)
|
||||||
|
- **Check**: No ground plane under antenna
|
||||||
|
- **Check**: Component placement
|
||||||
|
|
||||||
|
### Issue: Power regulator overheating
|
||||||
|
- **Check**: Adequate copper for heat dissipation
|
||||||
|
- **Check**: Thermal vias under regulator
|
||||||
|
- **Check**: Input voltage (should be 5V)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Next Steps
|
||||||
|
|
||||||
|
1. **Create Schematic** following the connections above
|
||||||
|
2. **Assign Footprints** to all components
|
||||||
|
3. **Generate Netlist** and import to PCB
|
||||||
|
4. **Place Components** according to guidelines
|
||||||
|
5. **Route Traces** following priorities
|
||||||
|
6. **Run DRC** and fix any issues
|
||||||
|
7. **Generate Gerbers** for manufacturing
|
||||||
|
8. **Order Prototype** (start with 5-10 boards)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Ready to start?** Open KiCad and begin with the power supply section, then add ESP32, level shifter, and connectors.
|
||||||
|
|
||||||
109
Midea_ESP/2X4_HEADER_PINOUT.md
Normal file
109
Midea_ESP/2X4_HEADER_PINOUT.md
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
# 2x4 Programming Header Pinout
|
||||||
|
|
||||||
|
## Header J2 - 2x4 Programming Header (8 Pins Total)
|
||||||
|
|
||||||
|
This is a standard 2-row, 4-column header (2.54mm pitch) commonly used for programming headers.
|
||||||
|
|
||||||
|
### Physical Layout
|
||||||
|
|
||||||
|
```
|
||||||
|
Top View:
|
||||||
|
┌─────────────┐
|
||||||
|
│ 1 2 3 4 │ ← Top row
|
||||||
|
│ 5 6 7 8 │ ← Bottom row
|
||||||
|
└─────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Pin Numbering:**
|
||||||
|
- Top row (left to right): Pins 1, 2, 3, 4
|
||||||
|
- Bottom row (left to right): Pins 5, 6, 7, 8
|
||||||
|
|
||||||
|
### Pin Assignment
|
||||||
|
|
||||||
|
| Pin | Signal | ESP32 Connection | Description |
|
||||||
|
|-----|--------|------------------|-------------|
|
||||||
|
| **1** | **+3V3** | +3V3 Power Rail | Optional - Power ESP32 from programmer |
|
||||||
|
| **2** | **GND** | GND | Ground reference (required) |
|
||||||
|
| **3** | **UART_TX** | GPIO1 (UART0 TX) | ESP32 transmits to programmer |
|
||||||
|
| **4** | **UART_RX** | GPIO3 (UART0 RX) | ESP32 receives from programmer |
|
||||||
|
| **5** | **DTR** | GPIO0 | Data Terminal Ready (auto-reset) |
|
||||||
|
| **6** | **RTS** | EN | Request To Send (auto-reset) |
|
||||||
|
| **7** | **NC** | - | Not connected (spare) |
|
||||||
|
| **8** | **NC** | - | Not connected (spare) |
|
||||||
|
|
||||||
|
### Connection to USB-to-Serial Adapter
|
||||||
|
|
||||||
|
| USB-to-Serial Pin | J2 Pin | Signal | Notes |
|
||||||
|
|-------------------|--------|--------|-------|
|
||||||
|
| VCC (3.3V) | Pin 1 | +3V3 | Optional - only if powering ESP32 from adapter |
|
||||||
|
| GND | Pin 2 | GND | **Required** - always connect |
|
||||||
|
| RX | Pin 3 | UART_TX | Adapter RX receives from ESP32 TX |
|
||||||
|
| TX | Pin 4 | UART_RX | Adapter TX sends to ESP32 RX |
|
||||||
|
| DTR | Pin 5 | DTR | Auto-reset control |
|
||||||
|
| RTS | Pin 6 | RTS | Auto-reset control |
|
||||||
|
| - | Pin 7 | NC | Spare (not used) |
|
||||||
|
| - | Pin 8 | NC | Spare (not used) |
|
||||||
|
|
||||||
|
**Important Notes:**
|
||||||
|
- **RX/TX are swapped** - Adapter RX connects to ESP32 TX (Pin 3), and vice versa
|
||||||
|
- **Do NOT connect VCC** if ESP32 is already powered from J1 (JST connector)
|
||||||
|
- **Always connect GND** - critical for proper operation
|
||||||
|
- **DTR and RTS** enable automatic reset (no button pressing needed)
|
||||||
|
|
||||||
|
### Advantages of 2x4 Header
|
||||||
|
|
||||||
|
1. **Standard layout** - Common 2.54mm pitch header format
|
||||||
|
2. **More stable** - 2-row design is more mechanically stable
|
||||||
|
3. **Spare pins** - Pins 7 and 8 available for future expansion
|
||||||
|
4. **Easy to connect** - Standard programming cable format
|
||||||
|
5. **Prevents wrong orientation** - 2-row design makes it harder to connect backwards
|
||||||
|
|
||||||
|
### KiCad Symbol
|
||||||
|
|
||||||
|
**Library:** `Connector_PinHeader_2.54mm`
|
||||||
|
**Symbol:** `PinHeader_2x04_P2.54mm_Vertical`
|
||||||
|
|
||||||
|
### Optional Pull-up Resistors
|
||||||
|
|
||||||
|
For maximum reliability, add pull-up resistors:
|
||||||
|
- **R5**: 10kΩ between J2 Pin 5 (DTR) and +3V3
|
||||||
|
- **R6**: 10kΩ between J2 Pin 6 (RTS) and +3V3
|
||||||
|
|
||||||
|
Most USB-to-Serial adapters have built-in pull-ups, but adding them on the board ensures reliable operation.
|
||||||
|
|
||||||
|
### Flashing Process
|
||||||
|
|
||||||
|
1. Connect USB-to-Serial adapter to J2 header (pins 1-6)
|
||||||
|
2. Power the board (via J1 JST connector or J2 Pin 1)
|
||||||
|
3. Use `esptool` or ESPHome to flash:
|
||||||
|
```bash
|
||||||
|
esptool.py --port /dev/ttyUSB0 write_flash 0x0 firmware.bin
|
||||||
|
```
|
||||||
|
4. DTR/RTS signals automatically put ESP32 into boot mode
|
||||||
|
5. No button pressing required!
|
||||||
|
|
||||||
|
### Future Expansion
|
||||||
|
|
||||||
|
Pins 7 and 8 are spare and can be used for:
|
||||||
|
- Additional UART (if needed)
|
||||||
|
- I2C (SDA/SCL) for debugging
|
||||||
|
- SPI (MISO/MOSI) for additional peripherals
|
||||||
|
- GPIO monitoring
|
||||||
|
- Or leave as NC (Not Connected)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
**2x4 Header Layout:**
|
||||||
|
```
|
||||||
|
Top Row: VCC GND TX RX
|
||||||
|
Bottom Row: DTR RTS NC NC
|
||||||
|
```
|
||||||
|
|
||||||
|
**6 pins used** (1-6) for programming
|
||||||
|
**2 pins spare** (7-8) for future use
|
||||||
|
|
||||||
|
This is a standard, stable, and convenient programming header configuration!
|
||||||
|
|
||||||
|
|
||||||
52
Midea_ESP/AC_CONNECTION.md
Normal file
52
Midea_ESP/AC_CONNECTION.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# AC Connection Guide
|
||||||
|
|
||||||
|
## JST-XH Connector on PCB (J1)
|
||||||
|
|
||||||
|
The PCB includes a **JST-XH 4-pin connector (J1)** for connecting to your AC unit.
|
||||||
|
|
||||||
|
### Connector Specifications
|
||||||
|
|
||||||
|
- **Type:** JST-XH (2.5mm pitch)
|
||||||
|
- **Pins:** 4-pin
|
||||||
|
- **Part Number:** JST-XH-B4B-XH-A (female connector on PCB)
|
||||||
|
- **Library:** `Connector_JST:JST_XH_B4B-XH-A`
|
||||||
|
|
||||||
|
### Pinout (J1 on PCB)
|
||||||
|
|
||||||
|
| Pin | Signal | Description |
|
||||||
|
|-----|--------|-------------|
|
||||||
|
| 1 | +5V | **Power input for PCB** - Powers the entire board |
|
||||||
|
| 2 | AC_RX | Receive line from AC (5V logic) |
|
||||||
|
| 3 | AC_TX | Transmit line to AC (5V logic) |
|
||||||
|
| 4 | GND | Ground reference |
|
||||||
|
|
||||||
|
### Connection Method
|
||||||
|
|
||||||
|
1. **On PCB:** J1 connector is mounted on the PCB
|
||||||
|
2. **Cable:** Use a cable with JST-XH connector on one end
|
||||||
|
3. **AC Unit:** Connect the other end of the cable to your AC unit's communication port
|
||||||
|
|
||||||
|
### Cable Assembly
|
||||||
|
|
||||||
|
You'll need to create or purchase a cable with:
|
||||||
|
- **One end:** JST-XH male connector (matches J1 on PCB)
|
||||||
|
- **Other end:** Connector that matches your AC unit's port
|
||||||
|
|
||||||
|
**Typical cable:**
|
||||||
|
- JST-XH connector → AC unit's communication port
|
||||||
|
- 4 wires: +5V (optional), AC_RX, AC_TX, GND
|
||||||
|
|
||||||
|
### Wiring Notes
|
||||||
|
|
||||||
|
- **+5V (Pin 1)** is the **power input for the PCB** - This powers the entire board (ESP32, regulator, etc.)
|
||||||
|
- **AC_RX** and **AC_TX** are 5V logic levels (shifted from 3.3V by TXB0104PWR)
|
||||||
|
- **GND** must be connected for proper communication and power
|
||||||
|
- Ensure proper wire gauge for power delivery (recommend 22AWG or larger for +5V and GND)
|
||||||
|
- The AC unit or external power supply must provide 5V DC to Pin 1
|
||||||
|
|
||||||
|
### Safety
|
||||||
|
|
||||||
|
- Ensure AC unit is powered off when connecting/disconnecting
|
||||||
|
- Verify pinout matches your AC unit's requirements
|
||||||
|
- Double-check GND connection before powering on
|
||||||
|
|
||||||
154
Midea_ESP/CAPACITOR_SYMBOLS.md
Normal file
154
Midea_ESP/CAPACITOR_SYMBOLS.md
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
# Capacitor Symbol Types in KiCad
|
||||||
|
|
||||||
|
## For This Project: Use **UNPOLARIZED** Symbols
|
||||||
|
|
||||||
|
All capacitors in this design are **ceramic capacitors**, which are **unpolarized**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Capacitor Types in This Design
|
||||||
|
|
||||||
|
### C1, C2: 10µF Capacitors
|
||||||
|
- **Type:** Ceramic (X7R or X5R)
|
||||||
|
- **Symbol:** **Unpolarized** (non-polar)
|
||||||
|
- **KiCad Symbol:** `Device:C` (standard capacitor symbol)
|
||||||
|
- **Package:** 0805
|
||||||
|
|
||||||
|
### C3, C4, C5-C13: 100nF Capacitors
|
||||||
|
- **Type:** Ceramic (X7R)
|
||||||
|
- **Symbol:** **Unpolarized** (non-polar)
|
||||||
|
- **KiCad Symbol:** `Device:C` (standard capacitor symbol)
|
||||||
|
- **Package:** 0805
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Polarized vs Unpolarized Capacitors
|
||||||
|
|
||||||
|
### Unpolarized Capacitors (Ceramic)
|
||||||
|
- **Symbol:** Two parallel lines (no + or - marking)
|
||||||
|
- **KiCad Symbol:** `Device:C`
|
||||||
|
- **Types:** Ceramic, Film, Mica
|
||||||
|
- **Can be connected either way** - no polarity
|
||||||
|
- **Used in this project:** All capacitors (C1-C13)
|
||||||
|
|
||||||
|
### Polarized Capacitors (Electrolytic)
|
||||||
|
- **Symbol:** One curved line (negative) and one straight line (positive)
|
||||||
|
- **KiCad Symbol:** `Device:CP` (polarized capacitor)
|
||||||
|
- **Types:** Aluminum electrolytic, Tantalum
|
||||||
|
- **Must be connected correctly** - has + and - terminals
|
||||||
|
- **NOT used in this project**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How to Add Capacitors in KiCad
|
||||||
|
|
||||||
|
### Step 1: Add Symbol
|
||||||
|
1. Press `A` (Add Symbol)
|
||||||
|
2. Search for: `Device:C` (unpolarized capacitor)
|
||||||
|
3. Place on schematic
|
||||||
|
|
||||||
|
### Step 2: Set Value
|
||||||
|
1. Press `E` (Edit) on the capacitor
|
||||||
|
2. Set **Value** field:
|
||||||
|
- C1, C2: `10µF` or `10uF`
|
||||||
|
- C3-C13: `100nF` or `0.1µF`
|
||||||
|
|
||||||
|
### Step 3: Set Reference
|
||||||
|
- KiCad will auto-assign references (C1, C2, etc.) when you annotate
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Visual Guide
|
||||||
|
|
||||||
|
### Unpolarized Capacitor Symbol (Use This)
|
||||||
|
```
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
```
|
||||||
|
Two parallel lines - **no polarity marking**
|
||||||
|
|
||||||
|
### Polarized Capacitor Symbol (Don't Use)
|
||||||
|
```
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
+ |
|
||||||
|
```
|
||||||
|
One curved line (negative) - **has polarity**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Why Ceramic Capacitors?
|
||||||
|
|
||||||
|
**Advantages:**
|
||||||
|
- ✅ Unpolarized (no orientation issues)
|
||||||
|
- ✅ Small size (0805 package)
|
||||||
|
- ✅ Low cost
|
||||||
|
- ✅ Good for decoupling and filtering
|
||||||
|
- ✅ No leakage current issues
|
||||||
|
- ✅ Long lifespan
|
||||||
|
|
||||||
|
**For 10µF capacitors:**
|
||||||
|
- Ceramic capacitors in 0805 package are available up to 22µF
|
||||||
|
- X7R or X5R dielectric provides good stability
|
||||||
|
- 16V rating is sufficient for 5V input
|
||||||
|
|
||||||
|
**For 100nF capacitors:**
|
||||||
|
- Standard ceramic capacitor value
|
||||||
|
- Excellent for high-frequency decoupling
|
||||||
|
- Very common and inexpensive
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KiCad Symbol Library
|
||||||
|
|
||||||
|
**Use this symbol:**
|
||||||
|
- **Library:** `Device`
|
||||||
|
- **Symbol Name:** `C` (Capacitor)
|
||||||
|
- **Footprint:** `Capacitor_SMD:C_0805_2012Metric`
|
||||||
|
|
||||||
|
**Do NOT use:**
|
||||||
|
- `Device:CP` (Polarized Capacitor) - This is for electrolytic capacitors
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
| Capacitor | Value | Type | Symbol | KiCad Symbol |
|
||||||
|
|-----------|-------|------|--------|--------------|
|
||||||
|
| C1, C2 | 10µF | Ceramic | Unpolarized | `Device:C` |
|
||||||
|
| C3, C4 | 100nF | Ceramic | Unpolarized | `Device:C` |
|
||||||
|
| C5-C13 | 100nF | Ceramic | Unpolarized | `Device:C` |
|
||||||
|
|
||||||
|
**All capacitors use the same unpolarized symbol: `Device:C`**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Mistakes to Avoid
|
||||||
|
|
||||||
|
❌ **Don't use:** `Device:CP` (polarized capacitor symbol)
|
||||||
|
- This is for electrolytic capacitors
|
||||||
|
- Has polarity markings (+ and -)
|
||||||
|
- Not needed for ceramic capacitors
|
||||||
|
|
||||||
|
✅ **Do use:** `Device:C` (unpolarized capacitor symbol)
|
||||||
|
- Standard capacitor symbol
|
||||||
|
- No polarity markings
|
||||||
|
- Correct for all capacitors in this design
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## When Would You Use Polarized Capacitors?
|
||||||
|
|
||||||
|
Polarized capacitors (electrolytic) are typically used for:
|
||||||
|
- Large capacitance values (>100µF)
|
||||||
|
- Power supply filtering
|
||||||
|
- When you need very high capacitance in a small volume
|
||||||
|
|
||||||
|
**For this project:** Ceramic capacitors are sufficient and preferred because:
|
||||||
|
- They're smaller
|
||||||
|
- They're cheaper
|
||||||
|
- They don't have polarity issues
|
||||||
|
- They work well for decoupling and filtering
|
||||||
|
|
||||||
|
|
||||||
328
Midea_ESP/COMPONENT_SIZES.md
Normal file
328
Midea_ESP/COMPONENT_SIZES.md
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
# Component Package Size Recommendations
|
||||||
|
|
||||||
|
This guide provides recommended package sizes for all components in the Midea AC Controller PCB design.
|
||||||
|
|
||||||
|
## General Recommendations
|
||||||
|
|
||||||
|
**For Hand Assembly (Prototyping):**
|
||||||
|
- Use **0805** (2.0mm × 1.25mm) or larger for passive components
|
||||||
|
- Easier to solder manually
|
||||||
|
- Better for low-volume production
|
||||||
|
|
||||||
|
**For Automated Assembly (Production):**
|
||||||
|
- Use **0603** (1.6mm × 0.8mm) or **0402** (1.0mm × 0.5mm)
|
||||||
|
- Smaller board size
|
||||||
|
- Lower cost in volume
|
||||||
|
- Requires pick-and-place machine
|
||||||
|
|
||||||
|
**Recommended for this project:** **0805** (good balance of size, cost, and ease of assembly)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Capacitors
|
||||||
|
|
||||||
|
### Power Supply Capacitors (C1, C2: 10µF)
|
||||||
|
|
||||||
|
| Component | Value | Recommended Package | Alternative | Notes |
|
||||||
|
|-----------|-------|---------------------|-------------|-------|
|
||||||
|
| C1, C2 | 10µF | **0805** (2.0×1.25mm) | 0603, 1206 | Ceramic, X7R or X5R, 16V or higher |
|
||||||
|
| | | **Footprint:** `Capacitor_SMD:C_0805_2012Metric` | | |
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- **0805:** CL21A106KAYNNNE (Samsung), GRM21BR71C106KE15L (Murata)
|
||||||
|
- **0603:** CL10B106KB8NNNC (Samsung) - smaller but harder to hand solder
|
||||||
|
- **1206:** CL31A106KAHNNNE (Samsung) - larger, easier to hand solder
|
||||||
|
|
||||||
|
**Voltage Rating:** 16V minimum (for 5V input with margin)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Decoupling Capacitors (C3, C4, C5-C13: 100nF)
|
||||||
|
|
||||||
|
| Component | Value | Recommended Package | Alternative | Notes |
|
||||||
|
|-----------|-------|---------------------|-------------|-------|
|
||||||
|
| C3, C4, C5-C13 | 100nF (0.1µF) | **0805** (2.0×1.25mm) | 0603, 0402 | Ceramic, X7R, 16V or higher |
|
||||||
|
| | | **Footprint:** `Capacitor_SMD:C_0805_2012Metric` | | |
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- **0805:** CL21B104KBCNNNC (Samsung), GRM21BR71H104KA01L (Murata)
|
||||||
|
- **0603:** CL10B104KA8NNNC (Samsung)
|
||||||
|
- **0402:** CL05B104KA5NNNC (Samsung) - very small, difficult to hand solder
|
||||||
|
|
||||||
|
**Voltage Rating:** 16V minimum
|
||||||
|
|
||||||
|
**Recommendation:** Use **0805** for all decoupling capacitors - standard size, easy to source, good for hand assembly.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Resistors
|
||||||
|
|
||||||
|
### LED Current Limiting Resistors (R1, R2: 220Ω)
|
||||||
|
|
||||||
|
| Component | Value | Recommended Package | Alternative | Notes |
|
||||||
|
|-----------|-------|---------------------|-------------|-------|
|
||||||
|
| R1, R2 | 220Ω | **0805** (2.0×1.25mm) | 0603, 1206 | 1/8W or 1/10W rating |
|
||||||
|
| | | **Footprint:** `Resistor_SMD:R_0805_2012Metric` | | |
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- **0805:** RC0805FR-07220RL (Yageo), ERJ-6GEYJ221V (Panasonic)
|
||||||
|
- **0603:** RC0603FR-07220RL (Yageo)
|
||||||
|
- **1206:** RC1206FR-07220RL (Yageo) - larger, easier to hand solder
|
||||||
|
|
||||||
|
**Power Rating:** 1/8W (0.125W) or 1/10W (0.1W) is sufficient
|
||||||
|
- At 3.3V: P = V²/R = 3.3²/220 = 0.049W (well within rating)
|
||||||
|
|
||||||
|
**Tolerance:** ±5% (E24 series) or ±1% (E96 series)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Pull-up Resistors (R3, R4, R5, R6: 10kΩ)
|
||||||
|
|
||||||
|
| Component | Value | Recommended Package | Alternative | Notes |
|
||||||
|
|-----------|-------|---------------------|-------------|-------|
|
||||||
|
| R3, R4, R5, R6 | 10kΩ | **0805** (2.0×1.25mm) | 0603, 1206 | 1/8W or 1/10W rating |
|
||||||
|
| | | **Footprint:** `Resistor_SMD:R_0805_2012Metric` | | |
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- **0805:** RC0805FR-0710KL (Yageo), ERJ-6GEYJ103V (Panasonic)
|
||||||
|
- **0603:** RC0603FR-0710KL (Yageo)
|
||||||
|
- **1206:** RC1206FR-0710KL (Yageo)
|
||||||
|
|
||||||
|
**Power Rating:** 1/8W (0.125W) or 1/10W (0.1W) is sufficient
|
||||||
|
- At 3.3V: P = V²/R = 3.3²/10000 = 0.001W (very low power)
|
||||||
|
|
||||||
|
**Tolerance:** ±5% (E24 series) is sufficient for pull-ups
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## LEDs
|
||||||
|
|
||||||
|
| Component | Type | Recommended Package | Alternative | Notes |
|
||||||
|
|-----------|------|---------------------|-------------|-------|
|
||||||
|
| LED1, LED2 | LED | **0805** (2.0×1.25mm) | 0603, 1206 | Red or Green, 20mA forward current |
|
||||||
|
| | | **Footprint:** `LED_SMD:LED_0805_2012Metric` | | |
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- **0805:**
|
||||||
|
- Red: LTST-C170KFKT (Lite-On), L-7113HD (Kingbright)
|
||||||
|
- Green: LTST-C170KGKT (Lite-On), L-7113GD (Kingbright)
|
||||||
|
- **0603:** Smaller, harder to see and hand solder
|
||||||
|
- **1206:** Larger, brighter, easier to see
|
||||||
|
|
||||||
|
**Specifications:**
|
||||||
|
- Forward Voltage: 2.0-2.2V (Red), 3.0-3.2V (Green)
|
||||||
|
- Forward Current: 20mA typical
|
||||||
|
- With 220Ω resistor at 3.3V: I = (3.3V - 2.0V) / 220Ω = 5.9mA (safe, visible)
|
||||||
|
|
||||||
|
**Recommendation:** Use **0805** - good visibility, easy to solder, standard size.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Buttons (Switches)
|
||||||
|
|
||||||
|
| Component | Type | Recommended Package | Alternative | Notes |
|
||||||
|
|-----------|------|---------------------|-------------|-------|
|
||||||
|
| SW1, SW2 | Tactile Switch | **6×6mm** | 4×4mm, 12×12mm | Through-hole or SMD |
|
||||||
|
| | | **Footprint:** `Button_Switch_SMD:SW_SPST_Tactile_6.0x6.0mm` | | |
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- **6×6mm SMD:** B3SN-3112P (Omron), KMR2 (C&K)
|
||||||
|
- **6×6mm THT:** B3F-4055 (Omron), KMR2 (C&K)
|
||||||
|
- **4×4mm:** Smaller, harder to press
|
||||||
|
- **12×12mm:** Larger, easier to press
|
||||||
|
|
||||||
|
**Specifications:**
|
||||||
|
- Actuation Force: 2.55N (260gf) typical
|
||||||
|
- Travel: 0.25mm typical
|
||||||
|
- Life: 100,000+ cycles
|
||||||
|
|
||||||
|
**Recommendation:** Use **6×6mm** - good size for finger pressing, common footprint.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voltage Regulator (U1: AMS1117-3.3)
|
||||||
|
|
||||||
|
| Component | Type | Package | Footprint | Notes |
|
||||||
|
|-----------|------|--------|-----------|-------|
|
||||||
|
| U1 | AMS1117-3.3 | **SOT-223** | `Package_TO_SOT_SMD:SOT-223` | 1A LDO regulator |
|
||||||
|
|
||||||
|
**Package Dimensions:**
|
||||||
|
- Body: 6.5mm × 3.5mm
|
||||||
|
- Height: 1.6mm
|
||||||
|
- Lead pitch: 2.3mm
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- AMS1117-3.3 (Advanced Monolithic Systems)
|
||||||
|
- LM1117-3.3 (Texas Instruments) - pin-compatible alternative
|
||||||
|
|
||||||
|
**Thermal Considerations:**
|
||||||
|
- Maximum power dissipation: ~1W (depends on heatsinking)
|
||||||
|
- At 5V input, 3.3V output, 500mA: P = (5-3.3) × 0.5 = 0.85W
|
||||||
|
- The large tab helps with heat dissipation
|
||||||
|
|
||||||
|
**Recommendation:** SOT-223 is standard and appropriate for this application.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Level Shifter (U3: TXB0104PWR)
|
||||||
|
|
||||||
|
| Component | Type | Package | Footprint | Notes |
|
||||||
|
|-----------|------|--------|-----------|-------|
|
||||||
|
| U3 | TXB0104PWR | **TSSOP-14** | `Package_SO:TSSOP-14_4.4x5mm_P0.65mm` | 4-channel level shifter |
|
||||||
|
|
||||||
|
**Package Dimensions:**
|
||||||
|
- Body: 5.0mm × 4.4mm
|
||||||
|
- Height: 1.2mm
|
||||||
|
- Lead pitch: 0.65mm (fine pitch)
|
||||||
|
|
||||||
|
**Part Number:**
|
||||||
|
- TXB0104PWR (Texas Instruments)
|
||||||
|
|
||||||
|
**Assembly Note:**
|
||||||
|
- Fine pitch (0.65mm) requires careful soldering
|
||||||
|
- Consider using hot air rework station or reflow oven
|
||||||
|
- Can be hand soldered with fine tip and flux
|
||||||
|
|
||||||
|
**Recommendation:** TSSOP-14 is the standard package for this part.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ESP32 Module (U2: ESP32-WROOM-32E)
|
||||||
|
|
||||||
|
| Component | Type | Package | Footprint | Notes |
|
||||||
|
|-----------|------|--------|-----------|-------|
|
||||||
|
| U2 | ESP32-WROOM-32E | **38-pin QFN** | Custom footprint required | ESP32 module |
|
||||||
|
|
||||||
|
**Package Dimensions:**
|
||||||
|
- Body: 18mm × 25.5mm × 3.1mm
|
||||||
|
- Pin pitch: 1.27mm (0.05")
|
||||||
|
- 38 pins total
|
||||||
|
|
||||||
|
**Footprint:**
|
||||||
|
- You'll need to create a custom footprint or use an existing ESP32-WROOM footprint
|
||||||
|
- Common footprint libraries may have this
|
||||||
|
|
||||||
|
**Assembly Note:**
|
||||||
|
- Requires reflow soldering (hot air or reflow oven)
|
||||||
|
- Can be hand soldered with hot air rework station
|
||||||
|
- Bottom pad needs to be soldered for proper thermal and electrical connection
|
||||||
|
|
||||||
|
**Recommendation:** Use the official Espressif footprint or create custom footprint based on datasheet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connectors
|
||||||
|
|
||||||
|
### J1: JST-XH Connector (4-pin)
|
||||||
|
|
||||||
|
| Component | Type | Package | Footprint | Notes |
|
||||||
|
|-----------|------|--------|-----------|-------|
|
||||||
|
| J1 | JST-XH 4-pin | **JST-XH-B4B-XH-A** | `Connector_JST:JST_XH_B4B-XH-A` | 2.5mm pitch |
|
||||||
|
|
||||||
|
**Package Dimensions:**
|
||||||
|
- Pitch: 2.5mm
|
||||||
|
- Height: ~8mm
|
||||||
|
- Through-hole mounting
|
||||||
|
|
||||||
|
**Part Number:**
|
||||||
|
- B4B-XH-A (JST) - Female connector (receptacle on PCB)
|
||||||
|
- Matching cable connector: B4B-XH-A-1 (with cable)
|
||||||
|
|
||||||
|
**Recommendation:** Standard JST-XH footprint, through-hole for mechanical strength.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### J2: Programming Header (6-pin)
|
||||||
|
|
||||||
|
| Component | Type | Package | Footprint | Notes |
|
||||||
|
|-----------|------|--------|-----------|-------|
|
||||||
|
| J2 | Pin Header | **2.54mm pitch** | `Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical` | Standard 0.1" pitch |
|
||||||
|
|
||||||
|
**Package Dimensions:**
|
||||||
|
- Pitch: 2.54mm (0.1")
|
||||||
|
- Height: 8.5mm typical (can vary)
|
||||||
|
- Through-hole mounting
|
||||||
|
|
||||||
|
**Part Number Examples:**
|
||||||
|
- Generic pin headers available from many manufacturers
|
||||||
|
- Can use straight or right-angle headers
|
||||||
|
- Consider using shrouded header for keyed connection
|
||||||
|
|
||||||
|
**Recommendation:** Standard 2.54mm pitch header - very common, easy to source.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary Table
|
||||||
|
|
||||||
|
| Component Type | Recommended Package | Size | Assembly Difficulty |
|
||||||
|
|----------------|---------------------|------|---------------------|
|
||||||
|
| **Capacitors (10µF)** | 0805 | 2.0×1.25mm | Easy |
|
||||||
|
| **Capacitors (100nF)** | 0805 | 2.0×1.25mm | Easy |
|
||||||
|
| **Resistors (all)** | 0805 | 2.0×1.25mm | Easy |
|
||||||
|
| **LEDs** | 0805 | 2.0×1.25mm | Easy |
|
||||||
|
| **Buttons** | 6×6mm | 6×6mm | Easy |
|
||||||
|
| **AMS1117-3.3** | SOT-223 | 6.5×3.5mm | Medium |
|
||||||
|
| **TXB0104PWR** | TSSOP-14 | 5.0×4.4mm | Medium (fine pitch) |
|
||||||
|
| **ESP32-WROOM-32E** | QFN-38 | 18×25.5mm | Hard (requires reflow) |
|
||||||
|
| **JST-XH Connector** | Through-hole | 2.5mm pitch | Easy |
|
||||||
|
| **Programming Header** | Through-hole | 2.54mm pitch | Easy |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manufacturing Considerations
|
||||||
|
|
||||||
|
### For Hand Assembly (Prototyping):
|
||||||
|
- Use **0805** for all passives (capacitors, resistors)
|
||||||
|
- Use **through-hole** connectors where possible
|
||||||
|
- Use **6×6mm** buttons
|
||||||
|
- ESP32 may require hot air rework station
|
||||||
|
|
||||||
|
### For Automated Assembly (Production):
|
||||||
|
- Can use **0603** or **0402** for passives (smaller, cheaper)
|
||||||
|
- All SMD components work with pick-and-place
|
||||||
|
- Reduces board size
|
||||||
|
- Lower cost in volume
|
||||||
|
|
||||||
|
### Recommended for This Project:
|
||||||
|
- **0805** for all passive components - good balance
|
||||||
|
- Standard through-hole connectors
|
||||||
|
- Standard SMD packages for ICs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KiCad Footprint Library References
|
||||||
|
|
||||||
|
When assigning footprints in KiCad, use these library paths:
|
||||||
|
|
||||||
|
- **Capacitors (0805):** `Capacitor_SMD:C_0805_2012Metric`
|
||||||
|
- **Resistors (0805):** `Resistor_SMD:R_0805_2012Metric`
|
||||||
|
- **LEDs (0805):** `LED_SMD:LED_0805_2012Metric`
|
||||||
|
- **Buttons (6×6mm):** `Button_Switch_SMD:SW_SPST_Tactile_6.0x6.0mm`
|
||||||
|
- **AMS1117-3.3:** `Package_TO_SOT_SMD:SOT-223`
|
||||||
|
- **TXB0104PWR:** `Package_SO:TSSOP-14_4.4x5mm_P0.65mm`
|
||||||
|
- **JST-XH:** `Connector_JST:JST_XH_B4B-XH-A`
|
||||||
|
- **Programming Header:** `Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cost Considerations
|
||||||
|
|
||||||
|
**Package Size vs Cost (typical, per 1000 units):**
|
||||||
|
- **0402:** Lowest cost, smallest size
|
||||||
|
- **0603:** Low cost, small size
|
||||||
|
- **0805:** Moderate cost, good size (recommended)
|
||||||
|
- **1206:** Higher cost, larger size
|
||||||
|
|
||||||
|
**For this project:** 0805 is the sweet spot - not too expensive, not too hard to assemble.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Availability
|
||||||
|
|
||||||
|
All recommended packages are:
|
||||||
|
- **Widely available** from major distributors (Digi-Key, Mouser, LCSC, etc.)
|
||||||
|
- **Standard sizes** used across the industry
|
||||||
|
- **Well-documented** with datasheets and application notes
|
||||||
|
- **Compatible** with standard PCB manufacturing processes
|
||||||
|
|
||||||
|
|
||||||
8
Midea_ESP/ESP32.kicad_sch
Normal file
8
Midea_ESP/ESP32.kicad_sch
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "2594e720-7126-4413-ba08-05b40c9be845")
|
||||||
|
(paper "A4")
|
||||||
|
(lib_symbols)
|
||||||
|
)
|
||||||
180
Midea_ESP/ESP32_DATASHEET_NOTES.md
Normal file
180
Midea_ESP/ESP32_DATASHEET_NOTES.md
Normal 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
|
||||||
|
|
||||||
|
|
||||||
176
Midea_ESP/FINDING_SYMBOLS.md
Normal file
176
Midea_ESP/FINDING_SYMBOLS.md
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
# Finding Symbols in KiCad
|
||||||
|
|
||||||
|
## TXB0104PWR Symbol Location
|
||||||
|
|
||||||
|
The TXB0104PWR symbol is in your **custom library**: `Midea_ESP`
|
||||||
|
|
||||||
|
### How to Add TXB0104PWR in KiCad:
|
||||||
|
|
||||||
|
1. **Press `A`** (Add Symbol) or click the "Place Symbol" tool
|
||||||
|
2. **In the symbol chooser**, type: `Midea_ESP:TXB0104PWR`
|
||||||
|
- Or search for: `TXB0104`
|
||||||
|
- Or browse libraries and look for `Midea_ESP` library
|
||||||
|
3. **Select the symbol** and click OK
|
||||||
|
4. **Place it on the schematic**
|
||||||
|
|
||||||
|
### Full Symbol Path:
|
||||||
|
```
|
||||||
|
Library: Midea_ESP
|
||||||
|
Symbol Name: TXB0104PWR
|
||||||
|
Full Path: Midea_ESP:TXB0104PWR
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## All Custom Symbols in Midea_ESP Library
|
||||||
|
|
||||||
|
Your custom library (`libs/Midea_AC_Controller.kicad_sym`) contains:
|
||||||
|
|
||||||
|
| Symbol Name | Full Path | Component |
|
||||||
|
|-------------|-----------|-----------|
|
||||||
|
| ESP32-WROOM-32E | `Midea_ESP:ESP32-WROOM-32E` | ESP32 module |
|
||||||
|
| TXB0104PWR | `Midea_ESP:TXB0104PWR` | Level shifter |
|
||||||
|
| AMS1117-3.3 | `Midea_ESP:AMS1117-3.3` | Voltage regulator |
|
||||||
|
| CP2102N | `Midea_ESP:CP2102N` | USB-to-Serial (not used) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## If the Symbol Doesn't Appear
|
||||||
|
|
||||||
|
### Check 1: Library is Added to Project
|
||||||
|
|
||||||
|
1. In KiCad, go to **Preferences → Manage Symbol Libraries**
|
||||||
|
2. Check if `Midea_ESP` library is listed
|
||||||
|
3. If not, add it:
|
||||||
|
- Click **Add** (or **+**)
|
||||||
|
- **Type:** KiCad
|
||||||
|
- **Library Path:** Browse to `libs/Midea_AC_Controller.kicad_sym`
|
||||||
|
- **Library Name:** `Midea_ESP`
|
||||||
|
|
||||||
|
### Check 2: Library File Location
|
||||||
|
|
||||||
|
The library file should be at:
|
||||||
|
```
|
||||||
|
/home/nearxos/Projects/ESPHome/PCB_Board/Midea_ESP/libs/Midea_AC_Controller.kicad_sym
|
||||||
|
```
|
||||||
|
|
||||||
|
### Check 3: Symbol Name in Library
|
||||||
|
|
||||||
|
Open the library file and verify the symbol name is exactly:
|
||||||
|
```
|
||||||
|
(symbol "TXB0104PWR" ...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Alternative: Search Methods in KiCad
|
||||||
|
|
||||||
|
### Method 1: Direct Search
|
||||||
|
1. Press `A` (Add Symbol)
|
||||||
|
2. In the search box, type: `TXB0104`
|
||||||
|
3. KiCad will search all loaded libraries
|
||||||
|
|
||||||
|
### Method 2: Browse by Library
|
||||||
|
1. Press `A` (Add Symbol)
|
||||||
|
2. In the library list, find `Midea_ESP`
|
||||||
|
3. Expand it to see all symbols
|
||||||
|
4. Select `TXB0104PWR`
|
||||||
|
|
||||||
|
### Method 3: Filter by Library
|
||||||
|
1. Press `A` (Add Symbol)
|
||||||
|
2. In the filter box, type: `Midea_ESP`
|
||||||
|
3. This shows only symbols from that library
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verifying Library is Loaded
|
||||||
|
|
||||||
|
### In KiCad Schematic Editor:
|
||||||
|
|
||||||
|
1. **Preferences → Manage Symbol Libraries**
|
||||||
|
2. Look for `Midea_ESP` in the list
|
||||||
|
3. Check the **Path** column - should point to:
|
||||||
|
```
|
||||||
|
/home/nearxos/Projects/ESPHome/PCB_Board/Midea_ESP/libs/Midea_AC_Controller.kicad_sym
|
||||||
|
```
|
||||||
|
|
||||||
|
### If Library is Missing:
|
||||||
|
|
||||||
|
1. Click **Add** button
|
||||||
|
2. Choose **Type:** KiCad
|
||||||
|
3. **Library Path:** Click folder icon and browse to:
|
||||||
|
```
|
||||||
|
/home/nearxos/Projects/ESPHome/PCB_Board/Midea_ESP/libs/Midea_AC_Controller.kicad_sym
|
||||||
|
```
|
||||||
|
4. **Library Name:** `Midea_ESP` (or leave blank, KiCad will use filename)
|
||||||
|
5. Click **OK**
|
||||||
|
6. Click **OK** to close preferences
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Reference: All Symbols for This Project
|
||||||
|
|
||||||
|
### Custom Library (Midea_ESP):
|
||||||
|
- `Midea_ESP:ESP32-WROOM-32E` - ESP32 module
|
||||||
|
- `Midea_ESP:TXB0104PWR` - Level shifter
|
||||||
|
- `Midea_ESP:AMS1117-3.3` - Voltage regulator
|
||||||
|
|
||||||
|
### Standard KiCad Libraries:
|
||||||
|
- `Device:C` - Capacitors (unpolarized)
|
||||||
|
- `Device:R` - Resistors
|
||||||
|
- `Device:LED` - LEDs
|
||||||
|
- `Button_Switch_SMD:SW_PUSH` - Buttons
|
||||||
|
- `Connector_JST:JST_XH_B4B-XH-A` - JST connector
|
||||||
|
- `Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical` - Programming header
|
||||||
|
- `power:+3V3` - Power symbols
|
||||||
|
- `power:+5V` - Power symbols
|
||||||
|
- `power:GND` - Power symbols
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Problem: Symbol not found
|
||||||
|
**Solution:**
|
||||||
|
1. Verify library is added (Preferences → Manage Symbol Libraries)
|
||||||
|
2. Check file path is correct
|
||||||
|
3. Restart KiCad if needed
|
||||||
|
|
||||||
|
### Problem: Library appears but symbol doesn't
|
||||||
|
**Solution:**
|
||||||
|
1. Check symbol name spelling (case-sensitive)
|
||||||
|
2. Verify symbol exists in library file
|
||||||
|
3. Try searching for just `TXB0104` (partial match)
|
||||||
|
|
||||||
|
### Problem: Can't add library
|
||||||
|
**Solution:**
|
||||||
|
1. Check file permissions
|
||||||
|
2. Verify file exists at the path
|
||||||
|
3. Make sure you're using KiCad 9.0.2 (your version)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step-by-Step: Adding TXB0104PWR
|
||||||
|
|
||||||
|
1. **Open KiCad Schematic Editor**
|
||||||
|
2. **Press `A`** (or click Place Symbol)
|
||||||
|
3. **In the search box**, type: `Midea_ESP:TXB0104PWR`
|
||||||
|
4. **If found**, click OK and place on schematic
|
||||||
|
5. **If not found**, go to Preferences → Manage Symbol Libraries and add the library
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Library File Structure
|
||||||
|
|
||||||
|
The library file contains all custom symbols:
|
||||||
|
```
|
||||||
|
libs/Midea_AC_Controller.kicad_sym
|
||||||
|
├── ESP32-WROOM-32E
|
||||||
|
├── TXB0104PWR ← This is what you need
|
||||||
|
├── AMS1117-3.3
|
||||||
|
└── CP2102N
|
||||||
|
```
|
||||||
|
|
||||||
|
All symbols are in one file, but KiCad treats them as separate symbols from the `Midea_ESP` library.
|
||||||
|
|
||||||
|
|
||||||
293
Midea_ESP/KICAD_SYMBOL_PLUGINS.md
Normal file
293
Midea_ESP/KICAD_SYMBOL_PLUGINS.md
Normal file
@@ -0,0 +1,293 @@
|
|||||||
|
# KiCad Symbol Download Plugins and Tools
|
||||||
|
|
||||||
|
## Recommended Options
|
||||||
|
|
||||||
|
### 1. **KiCad Library Utils (Built-in)** ⭐ Recommended
|
||||||
|
**Status:** Built into KiCad 6.0+ (you have KiCad 9.0.2, so it's available)
|
||||||
|
|
||||||
|
**How to Access:**
|
||||||
|
1. In KiCad, go to **Tools → External Plugins → KiCad Library Utils**
|
||||||
|
2. Or use the **Plugin and Content Manager** (Tools → Plugin and Content Manager)
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
- Download symbols from official KiCad libraries
|
||||||
|
- Update existing libraries
|
||||||
|
- Install community libraries
|
||||||
|
- Manage symbol libraries
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Built-in, no installation needed
|
||||||
|
- Official KiCad tool
|
||||||
|
- Safe and reliable
|
||||||
|
- Works with your KiCad 9.0.2
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Limited to KiCad official/community libraries
|
||||||
|
- May not have all commercial parts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. **SnapEDA** (Web-based + KiCad Plugin)
|
||||||
|
**Website:** https://www.snapeda.com
|
||||||
|
|
||||||
|
**How to Use:**
|
||||||
|
1. **Web Interface:**
|
||||||
|
- Go to https://www.snapeda.com
|
||||||
|
- Search for component (e.g., "TXB0104PWR")
|
||||||
|
- Download KiCad symbol and footprint
|
||||||
|
- Import into KiCad
|
||||||
|
|
||||||
|
2. **KiCad Plugin:**
|
||||||
|
- Install via Plugin and Content Manager
|
||||||
|
- Search: "SnapEDA"
|
||||||
|
- Install the plugin
|
||||||
|
- Access via Tools → External Plugins → SnapEDA
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
- Large library of commercial parts
|
||||||
|
- Symbols, footprints, and 3D models
|
||||||
|
- Free account available
|
||||||
|
- Direct KiCad format downloads
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Huge library of real components
|
||||||
|
- Includes footprints and 3D models
|
||||||
|
- Free tier available
|
||||||
|
- Good for commercial ICs
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Requires account (free)
|
||||||
|
- Some parts may require paid account
|
||||||
|
- Web-based (slower workflow)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3. **Ultra Librarian** (Web-based)
|
||||||
|
**Website:** https://www.ultralibrarian.com
|
||||||
|
|
||||||
|
**How to Use:**
|
||||||
|
1. Go to https://www.ultralibrarian.com
|
||||||
|
2. Search for component
|
||||||
|
3. Select KiCad format
|
||||||
|
4. Download and import
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
- Large component library
|
||||||
|
- Multiple CAD formats
|
||||||
|
- Free account available
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Comprehensive library
|
||||||
|
- Multiple format support
|
||||||
|
- Free tier
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Web-based only
|
||||||
|
- Requires account
|
||||||
|
- May need to convert formats
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4. **KiCad Library Loader Plugin**
|
||||||
|
**Status:** Community plugin
|
||||||
|
|
||||||
|
**Installation:**
|
||||||
|
1. Go to **Tools → Plugin and Content Manager**
|
||||||
|
2. Search for "Library Loader"
|
||||||
|
3. Install
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
- Downloads symbols from various sources
|
||||||
|
- Integrates with KiCad
|
||||||
|
- Community maintained
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Integrated workflow
|
||||||
|
- Multiple sources
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Community maintained (may have issues)
|
||||||
|
- Limited sources
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 5. **Component Search Engine (CSE)**
|
||||||
|
**Website:** https://componentsearchengine.com
|
||||||
|
|
||||||
|
**How to Use:**
|
||||||
|
1. Search for component
|
||||||
|
2. Filter by KiCad format
|
||||||
|
3. Download symbol/footprint
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
- Aggregates from multiple sources
|
||||||
|
- Free to use
|
||||||
|
- Multiple formats
|
||||||
|
|
||||||
|
**Pros:**
|
||||||
|
- Free
|
||||||
|
- Multiple sources
|
||||||
|
- Easy to use
|
||||||
|
|
||||||
|
**Cons:**
|
||||||
|
- Web-based
|
||||||
|
- Quality varies by source
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### For Your Project:
|
||||||
|
|
||||||
|
**Option 1: Use Built-in Library Utils (Recommended)**
|
||||||
|
1. **Tools → Plugin and Content Manager**
|
||||||
|
2. Browse available libraries
|
||||||
|
3. Install needed libraries
|
||||||
|
4. Use symbols directly
|
||||||
|
|
||||||
|
**Option 2: Use TXB0104PWR for Commercial Parts**
|
||||||
|
1. Create free account at snapeda.com
|
||||||
|
2. Search for components
|
||||||
|
3. Download KiCad files
|
||||||
|
4. Import into your project
|
||||||
|
|
||||||
|
**Option 3: Manual Download and Import**
|
||||||
|
1. Find symbol online (SnapEDA, Ultra Librarian, etc.)
|
||||||
|
2. Download `.kicad_sym` file
|
||||||
|
3. Copy to your `libs/` folder
|
||||||
|
4. Add to project libraries
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How to Install Plugins in KiCad 9
|
||||||
|
|
||||||
|
### Method 1: Plugin and Content Manager
|
||||||
|
1. Open KiCad
|
||||||
|
2. Go to **Tools → Plugin and Content Manager**
|
||||||
|
3. Browse available plugins
|
||||||
|
4. Click **Install** on desired plugin
|
||||||
|
5. Restart KiCad if needed
|
||||||
|
|
||||||
|
### Method 2: Manual Installation
|
||||||
|
1. Download plugin file
|
||||||
|
2. Place in KiCad plugin directory:
|
||||||
|
```
|
||||||
|
~/.local/share/kicad/9.0/plugins/
|
||||||
|
```
|
||||||
|
3. Restart KiCad
|
||||||
|
4. Enable in **Tools → External Plugins**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended Workflow
|
||||||
|
|
||||||
|
### For Standard Components:
|
||||||
|
1. **Use Built-in Libraries** (Device, Connector, etc.)
|
||||||
|
2. **Use Library Utils** to install community libraries
|
||||||
|
3. **Search in KiCad** symbol chooser first
|
||||||
|
|
||||||
|
### For Commercial ICs:
|
||||||
|
1. **Try SnapEDA** first (best quality)
|
||||||
|
2. **Try Ultra Librarian** as backup
|
||||||
|
3. **Create custom symbol** if not found
|
||||||
|
|
||||||
|
### For Your Custom Components:
|
||||||
|
- **Create symbols manually** (like you did for ESP32, TXB0104PWR, etc.)
|
||||||
|
- Store in `libs/Midea_AC_Controller.kicad_sym`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Reference: Where to Find Symbols
|
||||||
|
|
||||||
|
| Component Type | Best Source |
|
||||||
|
|----------------|-------------|
|
||||||
|
| **Standard passives** (R, C, L) | KiCad built-in libraries |
|
||||||
|
| **Connectors** | KiCad built-in libraries |
|
||||||
|
| **Commercial ICs** | SnapEDA, Ultra Librarian |
|
||||||
|
| **Microcontrollers** | SnapEDA, manufacturer website |
|
||||||
|
| **Custom/Obsolete parts** | Create manually |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installing SnapEDA Plugin (Step-by-Step)
|
||||||
|
|
||||||
|
1. **Open KiCad**
|
||||||
|
2. **Tools → Plugin and Content Manager**
|
||||||
|
3. **Search:** "SnapEDA"
|
||||||
|
4. **Install** the plugin
|
||||||
|
5. **Restart KiCad**
|
||||||
|
6. **Access:** Tools → External Plugins → SnapEDA
|
||||||
|
|
||||||
|
**Note:** If plugin not available, use web interface at snapeda.com
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Alternative: Manual Symbol Import
|
||||||
|
|
||||||
|
If plugins don't work, you can manually import symbols:
|
||||||
|
|
||||||
|
1. **Download symbol file** (`.kicad_sym`) from:
|
||||||
|
- SnapEDA
|
||||||
|
- Ultra Librarian
|
||||||
|
- Component Search Engine
|
||||||
|
- Manufacturer website
|
||||||
|
|
||||||
|
2. **Copy to your library:**
|
||||||
|
```bash
|
||||||
|
cp downloaded_symbol.kicad_sym ~/Projects/ESPHome/PCB_Board/Midea_ESP/libs/
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Add to library file:**
|
||||||
|
- Open `libs/Midea_AC_Controller.kicad_sym`
|
||||||
|
- Copy symbol definition into file
|
||||||
|
- Or create separate library file
|
||||||
|
|
||||||
|
4. **Add library to project:**
|
||||||
|
- Preferences → Manage Symbol Libraries
|
||||||
|
- Add the library file
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Plugin Not Appearing:
|
||||||
|
- Check KiCad version (plugins may require specific versions)
|
||||||
|
- Try manual installation
|
||||||
|
- Use web-based tools instead
|
||||||
|
|
||||||
|
### Symbol Quality Issues:
|
||||||
|
- Verify pin numbers match datasheet
|
||||||
|
- Check pin names are correct
|
||||||
|
- Test in schematic before using
|
||||||
|
|
||||||
|
### Import Errors:
|
||||||
|
- Check file format (must be `.kicad_sym`)
|
||||||
|
- Verify KiCad version compatibility
|
||||||
|
- Check for syntax errors in symbol file
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
**For KiCad 9.0.2, I recommend:**
|
||||||
|
|
||||||
|
1. **Built-in Library Utils** - For official/community libraries
|
||||||
|
2. **SnapEDA** - For commercial ICs (web or plugin)
|
||||||
|
3. **Manual creation** - For custom parts (like you're doing)
|
||||||
|
|
||||||
|
**Quick Start:**
|
||||||
|
- Try **Tools → Plugin and Content Manager** first
|
||||||
|
- If needed, use **SnapEDA web interface** (snapeda.com)
|
||||||
|
- For custom parts, continue creating symbols manually
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Useful Links
|
||||||
|
|
||||||
|
- **SnapEDA:** https://www.snapeda.com
|
||||||
|
- **Ultra Librarian:** https://www.ultralibrarian.com
|
||||||
|
- **Component Search Engine:** https://componentsearchengine.com
|
||||||
|
- **KiCad Libraries:** https://gitlab.com/kicad/libraries
|
||||||
|
- **KiCad Plugin Repository:** https://gitlab.com/kicad/services/kicad-plugin-repository
|
||||||
|
|
||||||
|
|
||||||
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-28_234557.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-28_234557.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_000202.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_000202.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_010104.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_010104.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_223922.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_223922.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_225542.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_225542.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_230824.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2025-12-29_230824.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-02_203803.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-02_203803.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-02_204902.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-02_204902.zip
Normal file
Binary file not shown.
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-04_011306.zip
Normal file
BIN
Midea_ESP/Midea_ESP-backups/Midea_ESP-2026-01-04_011306.zip
Normal file
Binary file not shown.
5774
Midea_ESP/Midea_ESP.kicad_pcb
Normal file
5774
Midea_ESP/Midea_ESP.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
130
Midea_ESP/Midea_ESP.kicad_prl
Normal file
130
Midea_ESP/Midea_ESP.kicad_prl
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"active_layer": 0,
|
||||||
|
"active_layer_preset": "All Layers",
|
||||||
|
"auto_track_width": true,
|
||||||
|
"hidden_netclasses": [],
|
||||||
|
"hidden_nets": [],
|
||||||
|
"high_contrast_mode": 0,
|
||||||
|
"net_color_mode": 1,
|
||||||
|
"opacity": {
|
||||||
|
"images": 0.6,
|
||||||
|
"pads": 1.0,
|
||||||
|
"shapes": 1.0,
|
||||||
|
"tracks": 1.0,
|
||||||
|
"vias": 1.0,
|
||||||
|
"zones": 0.6
|
||||||
|
},
|
||||||
|
"selection_filter": {
|
||||||
|
"dimensions": true,
|
||||||
|
"footprints": true,
|
||||||
|
"graphics": true,
|
||||||
|
"keepouts": true,
|
||||||
|
"lockedItems": false,
|
||||||
|
"otherItems": true,
|
||||||
|
"pads": true,
|
||||||
|
"text": true,
|
||||||
|
"tracks": true,
|
||||||
|
"vias": true,
|
||||||
|
"zones": true
|
||||||
|
},
|
||||||
|
"visible_items": [
|
||||||
|
"vias",
|
||||||
|
"footprint_text",
|
||||||
|
"footprint_anchors",
|
||||||
|
"ratsnest",
|
||||||
|
"grid",
|
||||||
|
"footprints_front",
|
||||||
|
"footprints_back",
|
||||||
|
"footprint_values",
|
||||||
|
"footprint_references",
|
||||||
|
"tracks",
|
||||||
|
"drc_errors",
|
||||||
|
"drawing_sheet",
|
||||||
|
"bitmaps",
|
||||||
|
"pads",
|
||||||
|
"zones",
|
||||||
|
"drc_warnings",
|
||||||
|
"locked_item_shadows",
|
||||||
|
"conflict_shadows",
|
||||||
|
"shapes"
|
||||||
|
],
|
||||||
|
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
|
||||||
|
"zone_display_mode": 0
|
||||||
|
},
|
||||||
|
"git": {
|
||||||
|
"repo_type": "https",
|
||||||
|
"repo_username": "nearxos",
|
||||||
|
"ssh_key": ""
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "Midea_ESP.kicad_prl",
|
||||||
|
"version": 5
|
||||||
|
},
|
||||||
|
"net_inspector_panel": {
|
||||||
|
"col_hidden": [
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
],
|
||||||
|
"col_order": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
8,
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"col_widths": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"custom_group_rules": [],
|
||||||
|
"expanded_rows": [],
|
||||||
|
"filter_by_net_name": true,
|
||||||
|
"filter_by_netclass": true,
|
||||||
|
"filter_text": "",
|
||||||
|
"group_by_constraint": false,
|
||||||
|
"group_by_netclass": false,
|
||||||
|
"show_unconnected_nets": false,
|
||||||
|
"show_zero_pad_nets": false,
|
||||||
|
"sort_ascending": true,
|
||||||
|
"sorting_column": 0
|
||||||
|
},
|
||||||
|
"open_jobsets": [],
|
||||||
|
"project": {
|
||||||
|
"files": []
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"selection_filter": {
|
||||||
|
"graphics": true,
|
||||||
|
"images": true,
|
||||||
|
"labels": true,
|
||||||
|
"lockedItems": false,
|
||||||
|
"otherItems": true,
|
||||||
|
"pins": true,
|
||||||
|
"symbols": true,
|
||||||
|
"text": true,
|
||||||
|
"wires": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
618
Midea_ESP/Midea_ESP.kicad_pro
Normal file
618
Midea_ESP/Midea_ESP.kicad_pro
Normal file
@@ -0,0 +1,618 @@
|
|||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"3dviewports": [],
|
||||||
|
"design_settings": {
|
||||||
|
"defaults": {
|
||||||
|
"apply_defaults_to_fp_fields": false,
|
||||||
|
"apply_defaults_to_fp_shapes": false,
|
||||||
|
"apply_defaults_to_fp_text": false,
|
||||||
|
"board_outline_line_width": 0.05,
|
||||||
|
"copper_line_width": 0.2,
|
||||||
|
"copper_text_italic": false,
|
||||||
|
"copper_text_size_h": 1.5,
|
||||||
|
"copper_text_size_v": 1.5,
|
||||||
|
"copper_text_thickness": 0.3,
|
||||||
|
"copper_text_upright": false,
|
||||||
|
"courtyard_line_width": 0.05,
|
||||||
|
"dimension_precision": 4,
|
||||||
|
"dimension_units": 3,
|
||||||
|
"dimensions": {
|
||||||
|
"arrow_length": 1270000,
|
||||||
|
"extension_offset": 500000,
|
||||||
|
"keep_text_aligned": true,
|
||||||
|
"suppress_zeroes": true,
|
||||||
|
"text_position": 0,
|
||||||
|
"units_format": 0
|
||||||
|
},
|
||||||
|
"fab_line_width": 0.1,
|
||||||
|
"fab_text_italic": false,
|
||||||
|
"fab_text_size_h": 1.0,
|
||||||
|
"fab_text_size_v": 1.0,
|
||||||
|
"fab_text_thickness": 0.15,
|
||||||
|
"fab_text_upright": false,
|
||||||
|
"other_line_width": 0.1,
|
||||||
|
"other_text_italic": false,
|
||||||
|
"other_text_size_h": 1.0,
|
||||||
|
"other_text_size_v": 1.0,
|
||||||
|
"other_text_thickness": 0.15,
|
||||||
|
"other_text_upright": false,
|
||||||
|
"pads": {
|
||||||
|
"drill": 0.8,
|
||||||
|
"height": 1.27,
|
||||||
|
"width": 2.54
|
||||||
|
},
|
||||||
|
"silk_line_width": 0.1,
|
||||||
|
"silk_text_italic": false,
|
||||||
|
"silk_text_size_h": 1.0,
|
||||||
|
"silk_text_size_v": 1.0,
|
||||||
|
"silk_text_thickness": 0.1,
|
||||||
|
"silk_text_upright": false,
|
||||||
|
"zones": {
|
||||||
|
"min_clearance": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"diff_pair_dimensions": [],
|
||||||
|
"drc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 2
|
||||||
|
},
|
||||||
|
"rule_severities": {
|
||||||
|
"annular_width": "error",
|
||||||
|
"clearance": "error",
|
||||||
|
"connection_width": "warning",
|
||||||
|
"copper_edge_clearance": "error",
|
||||||
|
"copper_sliver": "warning",
|
||||||
|
"courtyards_overlap": "error",
|
||||||
|
"creepage": "error",
|
||||||
|
"diff_pair_gap_out_of_range": "error",
|
||||||
|
"diff_pair_uncoupled_length_too_long": "error",
|
||||||
|
"drill_out_of_range": "error",
|
||||||
|
"duplicate_footprints": "warning",
|
||||||
|
"extra_footprint": "warning",
|
||||||
|
"footprint": "error",
|
||||||
|
"footprint_filters_mismatch": "ignore",
|
||||||
|
"footprint_symbol_mismatch": "warning",
|
||||||
|
"footprint_type_mismatch": "ignore",
|
||||||
|
"hole_clearance": "error",
|
||||||
|
"hole_to_hole": "warning",
|
||||||
|
"holes_co_located": "warning",
|
||||||
|
"invalid_outline": "error",
|
||||||
|
"isolated_copper": "warning",
|
||||||
|
"item_on_disabled_layer": "error",
|
||||||
|
"items_not_allowed": "error",
|
||||||
|
"length_out_of_range": "error",
|
||||||
|
"lib_footprint_issues": "warning",
|
||||||
|
"lib_footprint_mismatch": "warning",
|
||||||
|
"malformed_courtyard": "error",
|
||||||
|
"microvia_drill_out_of_range": "error",
|
||||||
|
"mirrored_text_on_front_layer": "warning",
|
||||||
|
"missing_courtyard": "ignore",
|
||||||
|
"missing_footprint": "warning",
|
||||||
|
"net_conflict": "warning",
|
||||||
|
"nonmirrored_text_on_back_layer": "warning",
|
||||||
|
"npth_inside_courtyard": "ignore",
|
||||||
|
"padstack": "warning",
|
||||||
|
"pth_inside_courtyard": "ignore",
|
||||||
|
"shorting_items": "error",
|
||||||
|
"silk_edge_clearance": "warning",
|
||||||
|
"silk_over_copper": "warning",
|
||||||
|
"silk_overlap": "warning",
|
||||||
|
"skew_out_of_range": "error",
|
||||||
|
"solder_mask_bridge": "error",
|
||||||
|
"starved_thermal": "error",
|
||||||
|
"text_height": "warning",
|
||||||
|
"text_on_edge_cuts": "error",
|
||||||
|
"text_thickness": "warning",
|
||||||
|
"through_hole_pad_without_hole": "error",
|
||||||
|
"too_many_vias": "error",
|
||||||
|
"track_angle": "error",
|
||||||
|
"track_dangling": "warning",
|
||||||
|
"track_segment_length": "error",
|
||||||
|
"track_width": "error",
|
||||||
|
"tracks_crossing": "error",
|
||||||
|
"unconnected_items": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"via_dangling": "warning",
|
||||||
|
"zones_intersect": "error"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"max_error": 0.005,
|
||||||
|
"min_clearance": 0.0,
|
||||||
|
"min_connection": 0.0,
|
||||||
|
"min_copper_edge_clearance": 0.5,
|
||||||
|
"min_groove_width": 0.0,
|
||||||
|
"min_hole_clearance": 0.25,
|
||||||
|
"min_hole_to_hole": 0.25,
|
||||||
|
"min_microvia_diameter": 0.2,
|
||||||
|
"min_microvia_drill": 0.1,
|
||||||
|
"min_resolved_spokes": 2,
|
||||||
|
"min_silk_clearance": 0.0,
|
||||||
|
"min_text_height": 0.8,
|
||||||
|
"min_text_thickness": 0.08,
|
||||||
|
"min_through_hole_diameter": 0.3,
|
||||||
|
"min_track_width": 0.0,
|
||||||
|
"min_via_annular_width": 0.1,
|
||||||
|
"min_via_diameter": 0.5,
|
||||||
|
"solder_mask_to_copper_clearance": 0.0,
|
||||||
|
"use_height_for_length_calcs": true
|
||||||
|
},
|
||||||
|
"teardrop_options": [
|
||||||
|
{
|
||||||
|
"td_onpthpad": true,
|
||||||
|
"td_onroundshapesonly": false,
|
||||||
|
"td_onsmdpad": true,
|
||||||
|
"td_ontrackend": false,
|
||||||
|
"td_onvia": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"teardrop_parameters": [
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_round_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_rect_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_track_end",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"track_widths": [],
|
||||||
|
"tuning_pattern_settings": {
|
||||||
|
"diff_pair_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 1.0
|
||||||
|
},
|
||||||
|
"diff_pair_skew_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 0.6
|
||||||
|
},
|
||||||
|
"single_track_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 0.6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"via_dimensions": [],
|
||||||
|
"zones_allow_external_fillets": false
|
||||||
|
},
|
||||||
|
"ipc2581": {
|
||||||
|
"dist": "",
|
||||||
|
"distpn": "",
|
||||||
|
"internal_id": "",
|
||||||
|
"mfg": "",
|
||||||
|
"mpn": ""
|
||||||
|
},
|
||||||
|
"layer_pairs": [],
|
||||||
|
"layer_presets": [],
|
||||||
|
"viewports": []
|
||||||
|
},
|
||||||
|
"boards": [],
|
||||||
|
"cvpcb": {
|
||||||
|
"equivalence_files": []
|
||||||
|
},
|
||||||
|
"erc": {
|
||||||
|
"erc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"pin_map": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rule_severities": {
|
||||||
|
"bus_definition_conflict": "error",
|
||||||
|
"bus_entry_needed": "error",
|
||||||
|
"bus_to_bus_conflict": "error",
|
||||||
|
"bus_to_net_conflict": "error",
|
||||||
|
"different_unit_footprint": "error",
|
||||||
|
"different_unit_net": "error",
|
||||||
|
"duplicate_reference": "error",
|
||||||
|
"duplicate_sheet_names": "error",
|
||||||
|
"endpoint_off_grid": "warning",
|
||||||
|
"extra_units": "error",
|
||||||
|
"footprint_filter": "ignore",
|
||||||
|
"footprint_link_issues": "warning",
|
||||||
|
"four_way_junction": "ignore",
|
||||||
|
"global_label_dangling": "warning",
|
||||||
|
"hier_label_mismatch": "error",
|
||||||
|
"label_dangling": "error",
|
||||||
|
"label_multiple_wires": "warning",
|
||||||
|
"lib_symbol_issues": "warning",
|
||||||
|
"lib_symbol_mismatch": "warning",
|
||||||
|
"missing_bidi_pin": "warning",
|
||||||
|
"missing_input_pin": "warning",
|
||||||
|
"missing_power_pin": "error",
|
||||||
|
"missing_unit": "warning",
|
||||||
|
"multiple_net_names": "warning",
|
||||||
|
"net_not_bus_member": "warning",
|
||||||
|
"no_connect_connected": "warning",
|
||||||
|
"no_connect_dangling": "warning",
|
||||||
|
"pin_not_connected": "error",
|
||||||
|
"pin_not_driven": "error",
|
||||||
|
"pin_to_pin": "warning",
|
||||||
|
"power_pin_not_driven": "error",
|
||||||
|
"same_local_global_label": "warning",
|
||||||
|
"similar_label_and_power": "warning",
|
||||||
|
"similar_labels": "warning",
|
||||||
|
"similar_power": "warning",
|
||||||
|
"simulation_model_issue": "ignore",
|
||||||
|
"single_global_label": "ignore",
|
||||||
|
"unannotated": "error",
|
||||||
|
"unconnected_wire_endpoint": "warning",
|
||||||
|
"unit_value_mismatch": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"wire_dangling": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"pinned_footprint_libs": [],
|
||||||
|
"pinned_symbol_libs": []
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "Midea_ESP.kicad_pro",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"net_settings": {
|
||||||
|
"classes": [
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.2,
|
||||||
|
"diff_pair_gap": 0.25,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.2,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "Default",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"priority": 2147483647,
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.2,
|
||||||
|
"via_diameter": 0.6,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 4
|
||||||
|
},
|
||||||
|
"net_colors": null,
|
||||||
|
"netclass_assignments": null,
|
||||||
|
"netclass_patterns": []
|
||||||
|
},
|
||||||
|
"pcbnew": {
|
||||||
|
"last_paths": {
|
||||||
|
"gencad": "",
|
||||||
|
"idf": "",
|
||||||
|
"netlist": "",
|
||||||
|
"plot": "",
|
||||||
|
"pos_files": "",
|
||||||
|
"specctra_dsn": "",
|
||||||
|
"step": "",
|
||||||
|
"svg": "",
|
||||||
|
"vrml": ""
|
||||||
|
},
|
||||||
|
"page_layout_descr_file": ""
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"annotate_start_num": 0,
|
||||||
|
"bom_export_filename": "${PROJECTNAME}.csv",
|
||||||
|
"bom_fmt_presets": [],
|
||||||
|
"bom_fmt_settings": {
|
||||||
|
"field_delimiter": ",",
|
||||||
|
"keep_line_breaks": false,
|
||||||
|
"keep_tabs": false,
|
||||||
|
"name": "CSV",
|
||||||
|
"ref_delimiter": ",",
|
||||||
|
"ref_range_delimiter": "",
|
||||||
|
"string_delimiter": "\""
|
||||||
|
},
|
||||||
|
"bom_presets": [],
|
||||||
|
"bom_settings": {
|
||||||
|
"exclude_dnp": false,
|
||||||
|
"fields_ordered": [
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Reference",
|
||||||
|
"name": "Reference",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Qty",
|
||||||
|
"name": "${QUANTITY}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Value",
|
||||||
|
"name": "Value",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "DNP",
|
||||||
|
"name": "${DNP}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Exclude from BOM",
|
||||||
|
"name": "${EXCLUDE_FROM_BOM}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Exclude from Board",
|
||||||
|
"name": "${EXCLUDE_FROM_BOARD}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Footprint",
|
||||||
|
"name": "Footprint",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Datasheet",
|
||||||
|
"name": "Datasheet",
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filter_string": "",
|
||||||
|
"group_symbols": true,
|
||||||
|
"include_excluded_from_bom": true,
|
||||||
|
"name": "Default Editing",
|
||||||
|
"sort_asc": true,
|
||||||
|
"sort_field": "Reference"
|
||||||
|
},
|
||||||
|
"connection_grid_size": 50.0,
|
||||||
|
"drawing": {
|
||||||
|
"dashed_lines_dash_length_ratio": 12.0,
|
||||||
|
"dashed_lines_gap_length_ratio": 3.0,
|
||||||
|
"default_line_thickness": 6.0,
|
||||||
|
"default_text_size": 50.0,
|
||||||
|
"field_names": [],
|
||||||
|
"intersheets_ref_own_page": false,
|
||||||
|
"intersheets_ref_prefix": "",
|
||||||
|
"intersheets_ref_short": false,
|
||||||
|
"intersheets_ref_show": false,
|
||||||
|
"intersheets_ref_suffix": "",
|
||||||
|
"junction_size_choice": 3,
|
||||||
|
"label_size_ratio": 0.375,
|
||||||
|
"operating_point_overlay_i_precision": 3,
|
||||||
|
"operating_point_overlay_i_range": "~A",
|
||||||
|
"operating_point_overlay_v_precision": 3,
|
||||||
|
"operating_point_overlay_v_range": "~V",
|
||||||
|
"overbar_offset_ratio": 1.23,
|
||||||
|
"pin_symbol_size": 25.0,
|
||||||
|
"text_offset_ratio": 0.15
|
||||||
|
},
|
||||||
|
"legacy_lib_dir": "",
|
||||||
|
"legacy_lib_list": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_format_name": "",
|
||||||
|
"page_layout_descr_file": "",
|
||||||
|
"plot_directory": "",
|
||||||
|
"space_save_all_events": true,
|
||||||
|
"spice_current_sheet_as_root": false,
|
||||||
|
"spice_external_command": "spice \"%I\"",
|
||||||
|
"spice_model_current_sheet_as_root": true,
|
||||||
|
"spice_save_all_currents": false,
|
||||||
|
"spice_save_all_dissipations": false,
|
||||||
|
"spice_save_all_voltages": false,
|
||||||
|
"subpart_first_id": 65,
|
||||||
|
"subpart_id_separator": 0
|
||||||
|
},
|
||||||
|
"sheets": [
|
||||||
|
[
|
||||||
|
"f579dd88-b421-4fbc-bd0c-53cb7bf597e7",
|
||||||
|
"Root"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text_variables": {}
|
||||||
|
}
|
||||||
6221
Midea_ESP/Midea_ESP.kicad_sch
Normal file
6221
Midea_ESP/Midea_ESP.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
6221
Midea_ESP/Midea_ESP.kicad_sch-bak
Normal file
6221
Midea_ESP/Midea_ESP.kicad_sch-bak
Normal file
File diff suppressed because it is too large
Load Diff
112
Midea_ESP/PINOUT_COMPARISON.md
Normal file
112
Midea_ESP/PINOUT_COMPARISON.md
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
# ESP32-WROOM-32E Pinout Comparison
|
||||||
|
|
||||||
|
## RF_Module Library vs Our Custom Library
|
||||||
|
|
||||||
|
### Key Differences Found:
|
||||||
|
|
||||||
|
**RF_Module Library (Standard KiCad):**
|
||||||
|
- Pin 1: GND ✓
|
||||||
|
- Pin 2: VDD ✓
|
||||||
|
- Pin 3: EN (separate numbered pin)
|
||||||
|
- GPIO naming: IO34, IO35, IO32, etc.
|
||||||
|
- Total: 39 pins
|
||||||
|
|
||||||
|
**Our Custom Library (Midea_ESP):**
|
||||||
|
- Pin 1: GND ✓ (just fixed)
|
||||||
|
- Pin 2: VDD ✓ (just fixed)
|
||||||
|
- EN: Separate pin (not numbered as pin 3)
|
||||||
|
- GPIO naming: GPIO34, GPIO35, GPIO32, etc.
|
||||||
|
- Total: 45+ pins (includes all GPIO pins)
|
||||||
|
|
||||||
|
### Pin Mapping Reference
|
||||||
|
|
||||||
|
| RF_Module Pin | RF_Module Name | Our Library Pin | Our Library Name | Function |
|
||||||
|
|---------------|----------------|-----------------|------------------|----------|
|
||||||
|
| 1 | GND | 1 | GND | Ground |
|
||||||
|
| 2 | VDD | 2 | VDD | Power (3.3V) |
|
||||||
|
| 3 | EN | EN | EN | Enable |
|
||||||
|
| 4 | SENSOR_VP | - | - | Sensor (not used) |
|
||||||
|
| 5 | SENSOR_VN | - | - | Sensor (not used) |
|
||||||
|
| 6 | IO34 | 5 | GPIO32 | GPIO (input only) |
|
||||||
|
| 7 | IO35 | 6 | GPIO33 | GPIO (input only) |
|
||||||
|
| 8 | IO32 | 5 | GPIO32 | GPIO (bidirectional) |
|
||||||
|
| 9 | IO33 | 6 | GPIO33 | GPIO (bidirectional) |
|
||||||
|
| 10 | IO25 | 7 | GPIO25 | GPIO (bidirectional) |
|
||||||
|
| 11 | IO26 | 8 | GPIO26 | GPIO (bidirectional) |
|
||||||
|
| 12 | IO27 | 9 | GPIO27 | GPIO (bidirectional) |
|
||||||
|
| 13 | IO14 | 16 | GPIO14 | GPIO (bidirectional) |
|
||||||
|
| 14 | IO12 | 17 | GPIO12 | GPIO (bidirectional) |
|
||||||
|
| 15 | GND | 4 | GND | Ground |
|
||||||
|
| 16 | IO13 | 18 | GPIO13 | GPIO (bidirectional) |
|
||||||
|
| 23 | IO15 | 24 | GPIO15 | GPIO (bidirectional) |
|
||||||
|
| 24 | IO2 | 25 | GPIO2 | GPIO (bidirectional) |
|
||||||
|
| 25 | IO0 | 26 | GPIO0 | GPIO (bidirectional) |
|
||||||
|
| 26 | IO4 | 30 | GPIO4 | GPIO (bidirectional) |
|
||||||
|
| 27 | IO16 | 31 | GPIO16 | GPIO (bidirectional) |
|
||||||
|
| 28 | IO17 | 32 | GPIO17 | GPIO (bidirectional) |
|
||||||
|
| 29 | IO5 | 35 | GPIO5 | GPIO (bidirectional) |
|
||||||
|
| 30 | IO18 | 36 | GPIO18 | GPIO (bidirectional) |
|
||||||
|
| 31 | IO19 | 37 | GPIO19 | GPIO (bidirectional) |
|
||||||
|
| 33 | IO21 | 39 | GPIO21 | GPIO (bidirectional) |
|
||||||
|
| 34 | RXD0/IO3 | 41 | GPIO3 | UART0 RX |
|
||||||
|
| 35 | TXD0/IO1 | 43 | GPIO1 | UART0 TX |
|
||||||
|
| 36 | IO22 | 44 | GPIO22 | GPIO (bidirectional) |
|
||||||
|
| 37 | IO23 | 45 | GPIO23 | GPIO (bidirectional) |
|
||||||
|
| 38 | GND | 40 | GND | Ground |
|
||||||
|
| 39 | GND | - | - | Ground (additional) |
|
||||||
|
|
||||||
|
### Important Notes:
|
||||||
|
|
||||||
|
1. **Pin 1 and Pin 2 are correct** in both libraries:
|
||||||
|
- Pin 1: GND ✓
|
||||||
|
- Pin 2: VDD ✓
|
||||||
|
|
||||||
|
2. **EN Pin:**
|
||||||
|
- RF_Module: Pin 3
|
||||||
|
- Our library: Separate EN pin (not numbered)
|
||||||
|
- Both are correct, just different representation
|
||||||
|
|
||||||
|
3. **GPIO Naming:**
|
||||||
|
- RF_Module uses: IO34, IO35, IO32, etc.
|
||||||
|
- Our library uses: GPIO34, GPIO35, GPIO32, etc.
|
||||||
|
- Both refer to the same physical pins
|
||||||
|
|
||||||
|
4. **VDD Pins:**
|
||||||
|
- RF_Module shows: Pin 2 only (simplified)
|
||||||
|
- Our library shows: Pins 2, 3, 14, 21, 22, 27, 28, 33, 42 (all VDD pins)
|
||||||
|
- Our library is more complete for power distribution
|
||||||
|
|
||||||
|
5. **GND Pins:**
|
||||||
|
- RF_Module shows: Pins 1, 15, 38, 39
|
||||||
|
- Our library shows: Pins 1, 4, 13, 15, 20, 23, 26, 29, 34, 38, 40 (all GND pins)
|
||||||
|
- Our library is more complete for ground distribution
|
||||||
|
|
||||||
|
### Recommendation:
|
||||||
|
|
||||||
|
**For our design, we should:**
|
||||||
|
- ✅ Keep using our custom library (more complete pin representation)
|
||||||
|
- ✅ Ensure Pin 1 = GND and Pin 2 = VDD (already fixed)
|
||||||
|
- ✅ Use GPIO naming (GPIO17, GPIO16, etc.) as it's more standard in ESP32 documentation
|
||||||
|
- ✅ Include all VDD and GND pins for proper power distribution
|
||||||
|
|
||||||
|
### Power Pin Verification:
|
||||||
|
|
||||||
|
**VDD Pins (per datasheet and RF_Module):**
|
||||||
|
- Pin 2: VDD ✓
|
||||||
|
- Additional VDD pins: 3, 14, 21, 22, 27, 28, 33, 42 (our library includes all)
|
||||||
|
|
||||||
|
**GND Pins (per datasheet and RF_Module):**
|
||||||
|
- Pin 1: GND ✓
|
||||||
|
- Additional GND pins: 4, 13, 15, 20, 23, 26, 29, 34, 38, 40 (our library includes all)
|
||||||
|
|
||||||
|
### Conclusion:
|
||||||
|
|
||||||
|
Our custom library is **more complete** than the RF_Module library for PCB design because:
|
||||||
|
1. Shows all VDD pins (needed for proper decoupling)
|
||||||
|
2. Shows all GND pins (needed for proper grounding)
|
||||||
|
3. Uses standard GPIO naming convention
|
||||||
|
4. Matches the physical pinout more accurately
|
||||||
|
|
||||||
|
The RF_Module library is simplified for schematic representation, while our library is better for detailed PCB design.
|
||||||
|
|
||||||
|
|
||||||
74
Midea_ESP/PROGRAMMING_HEADER.md
Normal file
74
Midea_ESP/PROGRAMMING_HEADER.md
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
# Programming Header Pinout
|
||||||
|
|
||||||
|
## Header J2 - 2x4 Programming Header (8 Pins)
|
||||||
|
|
||||||
|
Use this header to connect an external USB-to-Serial adapter (CP2102, CH340, FT232, etc.) for flashing the ESP32.
|
||||||
|
|
||||||
|
### Pinout (Top View)
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────┐
|
||||||
|
│ 1 2 3 4 │ ← Top row
|
||||||
|
│ 5 6 7 8 │ ← Bottom row
|
||||||
|
└─────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
| Pin | Signal | ESP32 Connection | Description |
|
||||||
|
|-----|--------|------------------|-------------|
|
||||||
|
| 1 | +3V3 | +3V3 Power Rail | Optional - Power ESP32 from programmer |
|
||||||
|
| 2 | GND | GND | Ground reference |
|
||||||
|
| 3 | UART_TX | GPIO1 (UART TX) | ESP32 transmits to programmer |
|
||||||
|
| 4 | UART_RX | GPIO3 (UART RX) | ESP32 receives from programmer |
|
||||||
|
| 5 | DTR | GPIO0 | Data Terminal Ready (auto-reset for flashing) |
|
||||||
|
| 6 | RTS | EN | Request To Send (auto-reset for flashing) |
|
||||||
|
| 7 | NC | - | Not connected (spare) |
|
||||||
|
| 8 | NC | - | Not connected (spare) |
|
||||||
|
|
||||||
|
### Connection to USB-to-Serial Adapter
|
||||||
|
|
||||||
|
When connecting your USB-to-Serial adapter:
|
||||||
|
|
||||||
|
| Adapter Pin | J2 Pin | Signal |
|
||||||
|
|-------------|--------|--------|
|
||||||
|
| VCC | Pin 1 | +3V3 (optional - only if powering ESP32 from adapter) |
|
||||||
|
| GND | Pin 2 | GND |
|
||||||
|
| RX | Pin 3 | UART_TX (receives TX from ESP32) |
|
||||||
|
| TX | Pin 4 | UART_RX (sends to RX of ESP32) |
|
||||||
|
| DTR | Pin 5 | DTR (auto-reset) |
|
||||||
|
| RTS | Pin 6 | RTS (auto-reset) |
|
||||||
|
| - | Pin 7 | NC (spare) |
|
||||||
|
| - | Pin 8 | NC (spare) |
|
||||||
|
|
||||||
|
**Important Notes:**
|
||||||
|
- **Do NOT connect VCC** if your ESP32 is already powered from J1 (JST connector power input)
|
||||||
|
- **Always connect GND** - this is critical for proper operation
|
||||||
|
- **RX/TX are swapped** - Adapter RX goes to ESP32 TX, and vice versa
|
||||||
|
- **DTR and RTS** enable automatic reset during flashing (no need to press buttons)
|
||||||
|
|
||||||
|
### Optional Pull-up Resistors
|
||||||
|
|
||||||
|
For maximum reliability, add pull-up resistors:
|
||||||
|
- **R5**: 10kΩ between J2 Pin 5 (DTR) and +3V3
|
||||||
|
- **R6**: 10kΩ between J2 Pin 6 (RTS) and +3V3
|
||||||
|
|
||||||
|
Most USB-to-Serial adapters have built-in pull-ups, but adding them on the board ensures reliable operation.
|
||||||
|
|
||||||
|
### Flashing Process
|
||||||
|
|
||||||
|
1. Connect USB-to-Serial adapter to J2 header
|
||||||
|
2. Power the board (via J1 JST connector or J2 Pin 1)
|
||||||
|
3. Use `esptool` or ESPHome to flash:
|
||||||
|
```bash
|
||||||
|
esptool.py --port /dev/ttyUSB0 write_flash 0x0 firmware.bin
|
||||||
|
```
|
||||||
|
4. The DTR/RTS signals will automatically put ESP32 into boot mode
|
||||||
|
|
||||||
|
### Common USB-to-Serial Adapters
|
||||||
|
|
||||||
|
- **CP2102**: Common, reliable, good driver support
|
||||||
|
- **CH340**: Very common, cheap, good for Linux
|
||||||
|
- **FT232**: Premium option, excellent driver support
|
||||||
|
- **PL2303**: Older, less reliable
|
||||||
|
|
||||||
|
All of these will work with this header configuration.
|
||||||
|
|
||||||
153
Midea_ESP/PROGRAMMING_HEADER_COMPARISON.md
Normal file
153
Midea_ESP/PROGRAMMING_HEADER_COMPARISON.md
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
# Programming Header: 4-Pin vs 6-Pin Comparison
|
||||||
|
|
||||||
|
## Quick Answer
|
||||||
|
|
||||||
|
**You can use a 4-pin header** if you're okay with manually pressing buttons during flashing. However, **6-pin header is recommended** because it enables automatic reset (no buttons needed).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4-Pin Header (Minimal)
|
||||||
|
|
||||||
|
### Pinout:
|
||||||
|
```
|
||||||
|
Pin 1: +3V3 (optional)
|
||||||
|
Pin 2: GND
|
||||||
|
Pin 3: UART_TX (ESP32 GPIO1)
|
||||||
|
Pin 4: UART_RX (ESP32 GPIO3)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pros:
|
||||||
|
- ✅ Simpler (fewer pins)
|
||||||
|
- ✅ Lower cost (smaller header)
|
||||||
|
- ✅ Works for basic flashing
|
||||||
|
|
||||||
|
### Cons:
|
||||||
|
- ❌ **Must manually press buttons** every time you flash
|
||||||
|
- ❌ More error-prone (easy to miss timing)
|
||||||
|
- ❌ Slower workflow
|
||||||
|
|
||||||
|
### Flashing Process (4-Pin):
|
||||||
|
1. Connect USB-to-Serial adapter (VCC, GND, TX, RX only)
|
||||||
|
2. Power board (via J1 or J2 Pin 1)
|
||||||
|
3. **Hold SW2 (Boot button)** - pulls GPIO0 LOW
|
||||||
|
4. **Press and release SW1 (Reset button)** - resets ESP32
|
||||||
|
5. **Release SW2** after 1-2 seconds
|
||||||
|
6. ESP32 enters download mode
|
||||||
|
7. Run `esptool` or ESPHome to flash
|
||||||
|
8. **Press SW1 (Reset)** again to restart
|
||||||
|
|
||||||
|
**You must do steps 3-5 every time you flash!**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6-Pin Header (Recommended)
|
||||||
|
|
||||||
|
### Pinout:
|
||||||
|
```
|
||||||
|
Pin 1: +3V3 (optional)
|
||||||
|
Pin 2: GND
|
||||||
|
Pin 3: UART_TX (ESP32 GPIO1)
|
||||||
|
Pin 4: UART_RX (ESP32 GPIO3)
|
||||||
|
Pin 5: DTR (ESP32 GPIO0)
|
||||||
|
Pin 6: RTS (ESP32 EN)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pros:
|
||||||
|
- ✅ **Automatic reset** - no buttons needed
|
||||||
|
- ✅ Faster and easier flashing
|
||||||
|
- ✅ Less error-prone
|
||||||
|
- ✅ Standard for ESP32 development
|
||||||
|
- ✅ Works with all flashing tools automatically
|
||||||
|
|
||||||
|
### Cons:
|
||||||
|
- ❌ 2 extra pins (minimal cost difference)
|
||||||
|
- ❌ Slightly larger header
|
||||||
|
|
||||||
|
### Flashing Process (6-Pin):
|
||||||
|
1. Connect USB-to-Serial adapter (all 6 pins)
|
||||||
|
2. Power board (via J1 or J2 Pin 1)
|
||||||
|
3. **Just run `esptool` or ESPHome** - that's it!
|
||||||
|
4. DTR/RTS automatically handle reset and boot mode
|
||||||
|
5. No buttons needed!
|
||||||
|
|
||||||
|
**Much easier!**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommendation
|
||||||
|
|
||||||
|
### Use 4-Pin If:
|
||||||
|
- You only flash firmware occasionally
|
||||||
|
- You don't mind pressing buttons
|
||||||
|
- You want absolute minimal component count
|
||||||
|
- Cost is critical (though difference is minimal)
|
||||||
|
|
||||||
|
### Use 6-Pin If (Recommended):
|
||||||
|
- You flash firmware regularly
|
||||||
|
- You want convenience
|
||||||
|
- You want standard ESP32 development workflow
|
||||||
|
- You want automatic reset (most common setup)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cost Comparison
|
||||||
|
|
||||||
|
| Header Type | Cost (typical) | Difference |
|
||||||
|
|-------------|----------------|------------|
|
||||||
|
| 4-pin header | ~$0.05 | - |
|
||||||
|
| 6-pin header | ~$0.07 | +$0.02 |
|
||||||
|
|
||||||
|
**Difference is negligible** (~$0.02 per board)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Component Count
|
||||||
|
|
||||||
|
| Option | Header Pins | Resistors | Total Components |
|
||||||
|
|--------|-------------|-----------|------------------|
|
||||||
|
| 4-pin | 4 | 0 | 1 component |
|
||||||
|
| 6-pin | 6 | 2 (optional) | 1-3 components |
|
||||||
|
|
||||||
|
**6-pin with optional pull-ups:** Adds 2 resistors (R5, R6) - but these are optional
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## My Recommendation
|
||||||
|
|
||||||
|
**Use 6-pin header** because:
|
||||||
|
1. **Only $0.02 more expensive** (negligible)
|
||||||
|
2. **Much more convenient** - no button pressing
|
||||||
|
3. **Standard practice** for ESP32 development
|
||||||
|
4. **Pull-up resistors are optional** - you can skip R5 and R6 if you want
|
||||||
|
5. **Saves time** - especially if you flash multiple times during development
|
||||||
|
|
||||||
|
**If you really want minimal:** Use 4-pin, but you'll need to press buttons every time you flash.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Updated Component List for 4-Pin Option
|
||||||
|
|
||||||
|
If you choose 4-pin header:
|
||||||
|
|
||||||
|
| Ref | Component | Library | Symbol | Value | Notes |
|
||||||
|
|-----|-----------|---------|--------|-------|-------|
|
||||||
|
| J2 | Header | `Connector_PinHeader_2.54mm` | `PinHeader_1x04_P2.54mm_Vertical` | - | 4-pin programming header |
|
||||||
|
|
||||||
|
**Connections:**
|
||||||
|
- J2 Pin 1 → +3V3 (optional)
|
||||||
|
- J2 Pin 2 → GND
|
||||||
|
- J2 Pin 3 → Net Label `UART_TX` → U2.GPIO1
|
||||||
|
- J2 Pin 4 → Net Label `UART_RX` → U2.GPIO3
|
||||||
|
|
||||||
|
**No R5, R6 resistors needed** (they're only for DTR/RTS pull-ups)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
**4-Pin:** Works, but requires manual button pressing every flash
|
||||||
|
**6-Pin:** Recommended - automatic reset, standard practice, only $0.02 more
|
||||||
|
|
||||||
|
**My vote:** Go with 6-pin for the convenience, especially since the cost difference is minimal.
|
||||||
|
|
||||||
|
|
||||||
197
Midea_ESP/QUICK_START_SCHEMATIC.md
Normal file
197
Midea_ESP/QUICK_START_SCHEMATIC.md
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
# Quick Start: Building the Schematic
|
||||||
|
|
||||||
|
## Step-by-Step Guide
|
||||||
|
|
||||||
|
### 1. Start with Power Supply (Page 1 or Top Left)
|
||||||
|
|
||||||
|
**Add Components:**
|
||||||
|
1. Press `A` → Search `Midea_ESP:AMS1117-3.3` → Place as **U1**
|
||||||
|
2. Press `A` → Search `Device:C` → Place 4 capacitors: **C1, C2, C3, C4**
|
||||||
|
|
||||||
|
**Set Values:**
|
||||||
|
- C1, C2: 10µF
|
||||||
|
- C3, C4: 100nF
|
||||||
|
|
||||||
|
**Add Power Symbols:**
|
||||||
|
- Press `P` → Select `+3V3` → Place near U1 output
|
||||||
|
- Press `P` → Select `+5V` → Place near where J1 will connect (on Page 3)
|
||||||
|
- Press `P` → Select `GND` → Place multiple times
|
||||||
|
|
||||||
|
**Connect:**
|
||||||
|
- **Net Label `+5V_POWER`** → **U1 Pin 3 (IN)** (this connects to J1 Pin 1 on Page 3)
|
||||||
|
- **Net Label `+5V_POWER`** → **C1 (one terminal)** (parallel - connect directly to +5V net)
|
||||||
|
- **Net Label `+5V_POWER`** → **C3 (one terminal)** (parallel - connect directly to +5V net)
|
||||||
|
- **C1 (other terminal)** → **GND**
|
||||||
|
- **C3 (other terminal)** → **GND**
|
||||||
|
- **U1 Pin 2 (OUT)** → **+3V3 power symbol** (connect to +3V3 net)
|
||||||
|
- **U1 Pin 2 (OUT)** → **C2 (one terminal)** (parallel - connect directly to +3V3 net)
|
||||||
|
- **U1 Pin 2 (OUT)** → **C4 (one terminal)** (parallel - connect directly to +3V3 net)
|
||||||
|
- **C2 (other terminal)** → **GND**
|
||||||
|
- **C4 (other terminal)** → **GND**
|
||||||
|
- **U1 Pin 1 (GND)** → **GND**
|
||||||
|
- **U1 Pin TAB (GND)** → **GND**
|
||||||
|
|
||||||
|
**Note:**
|
||||||
|
- Power comes from J1 Pin 1 (+5V) on Page 3. Use net labels to connect between pages.
|
||||||
|
- **C1 and C3 are in PARALLEL** (both connected between +5V and GND for input filtering)
|
||||||
|
- **C2 and C4 are in PARALLEL** (both connected between +3V3 and GND for output filtering)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. Add ESP32 (Page 2 or Center)
|
||||||
|
|
||||||
|
**Add Components:**
|
||||||
|
1. Press `A` → Search `Midea_ESP:ESP32-WROOM-32E` → Place as **U2**
|
||||||
|
2. Press `A` → Search `Device:C` → Place 2 capacitors: **C5** (100nF), **C6** (10µF)
|
||||||
|
3. Press `A` → Search `Button_Switch_SMD:SW_PUSH` → Place 2 buttons: **SW1, SW2**
|
||||||
|
4. Press `A` → Search `Device:R` → Place 4 resistors: **R1, R2, R3, R4**
|
||||||
|
5. Press `A` → Search `Device:LED` → Place 2 LEDs: **LED1, LED2**
|
||||||
|
|
||||||
|
**Set Values:**
|
||||||
|
- R1, R2: 220Ω
|
||||||
|
- R3, R4: 10kΩ
|
||||||
|
- C5: 100nF
|
||||||
|
- C6: 10µF
|
||||||
|
|
||||||
|
**Connect Power:**
|
||||||
|
- **U2 Pin 2 (VDD)** → **+3V3** (only exposed VDD pin on your module)
|
||||||
|
- **U2 Pin 2 (VDD)** → **C5 (one terminal)** → **+3V3**, **C5 (other terminal)** → **GND** (100nF decoupling)
|
||||||
|
- **U2 Pin 2 (VDD)** → **C6 (one terminal)** → **+3V3**, **C6 (other terminal)** → **GND** (10µF bulk capacitor)
|
||||||
|
- **All exposed U2 GND pins** → **GND** (typically Pin 1 and other exposed GND pins)
|
||||||
|
|
||||||
|
**Connect Buttons:**
|
||||||
|
- SW1 Pin 1 → U2.EN, R3 → +3V3
|
||||||
|
- SW1 Pin 2 → GND
|
||||||
|
- SW2 Pin 1 → U2.GPIO0, R4 → +3V3
|
||||||
|
- SW2 Pin 2 → GND
|
||||||
|
|
||||||
|
**Connect LEDs:**
|
||||||
|
- LED1 Anode → R1 → U2.GPIO2
|
||||||
|
- LED1 Cathode → GND
|
||||||
|
- LED2 Anode → R2 → U2.GPIO4
|
||||||
|
- LED2 Cathode → GND
|
||||||
|
|
||||||
|
**Add Net Labels:**
|
||||||
|
- Press `L` → Type `ESP32_TX` → Attach to wire from U2.GPIO17
|
||||||
|
- Press `L` → Type `ESP32_RX` → Attach to wire from U2.GPIO16
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3. Add Level Shifter and AC Connector (Page 3 or Right)
|
||||||
|
|
||||||
|
**Add Components:**
|
||||||
|
1. Press `A` → Search `Midea_ESP:TXB0104PWR` → Place as **U3**
|
||||||
|
2. Press `A` → Search `Connector_JST:JST_XH_B4B-XH-A` → Place as **J1**
|
||||||
|
|
||||||
|
**Connect Power:**
|
||||||
|
- U3 Pin 12 (VCCA) → +3V3
|
||||||
|
- U3 Pin 11 (VCCB) → +5V
|
||||||
|
- U3 Pin 10 (OE) → +3V3
|
||||||
|
- U3 Pins 5, 13, 14 (GND) → GND
|
||||||
|
|
||||||
|
**Connect Signals:**
|
||||||
|
- U3 Pin 1 (A1) → Net Label `ESP32_TX` (connects to U2.GPIO17)
|
||||||
|
- U3 Pin 2 (A2) → Net Label `ESP32_RX` (connects to U2.GPIO16)
|
||||||
|
- U3 Pin 9 (B1) → Net Label `AC_RX` → J1 Pin 2
|
||||||
|
- U3 Pin 8 (B2) → Net Label `AC_TX` → J1 Pin 3
|
||||||
|
- **J1 Pin 1 → Net Label `+5V_POWER` → Connect to Page 1 (U1 input via capacitors)**
|
||||||
|
- **J1 Pin 4 → GND**
|
||||||
|
|
||||||
|
**Note:** J1 is a JST-XH connector on the PCB. This connector provides:
|
||||||
|
- **Power input** (Pin 1: +5V) - Powers the entire PCB
|
||||||
|
- **AC communication** (Pins 2-3: UART signals)
|
||||||
|
- **Ground** (Pin 4: GND)
|
||||||
|
|
||||||
|
Connect a cable with matching JST-XH connector to your AC unit.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4. Add Programming Header (Required - Page 4 or Bottom)
|
||||||
|
|
||||||
|
**Add Components:**
|
||||||
|
1. Press `A` → Search `Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical` → Place as **J2**
|
||||||
|
2. Press `A` → Search `Device:R` → Place 2 resistors: **R5, R6** (optional)
|
||||||
|
|
||||||
|
**Set Values:**
|
||||||
|
- R5, R6: 10kΩ (optional - for pull-ups)
|
||||||
|
|
||||||
|
**Connect:**
|
||||||
|
- J2 Pin 1 → +3V3 (optional - for powering from programmer)
|
||||||
|
- J2 Pin 2 → GND
|
||||||
|
- J2 Pin 3 → Net Label `UART_TX` (connects to U2.GPIO1)
|
||||||
|
- J2 Pin 4 → Net Label `UART_RX` (connects to U2.GPIO3)
|
||||||
|
- J2 Pin 5 → Net Label `DTR` → U2.GPIO0 (auto-reset)
|
||||||
|
- J2 Pin 6 → Net Label `RTS` → U2.EN (auto-reset)
|
||||||
|
|
||||||
|
**Optional Pull-ups (for reliability):**
|
||||||
|
- J2 Pin 5 (DTR) → R5 → +3V3
|
||||||
|
- J2 Pin 6 (RTS) → R6 → +3V3
|
||||||
|
|
||||||
|
**Add Net Labels on Page 2:**
|
||||||
|
- Press `L` → Type `UART_TX` → Attach to wire from U2.GPIO1
|
||||||
|
- Press `L` → Type `UART_RX` → Attach to wire from U2.GPIO3
|
||||||
|
- Press `L` → Type `DTR` → Attach to wire from U2.GPIO0
|
||||||
|
- Press `L` → Type `RTS` → Attach to wire from U2.EN
|
||||||
|
|
||||||
|
**Programming Header Pinout (J2) - 2x4 Header:**
|
||||||
|
```
|
||||||
|
Top Row: Pin 1: VCC Pin 2: GND Pin 3: TX Pin 4: RX
|
||||||
|
Bottom Row: Pin 5: DTR Pin 6: RTS Pin 7: NC Pin 8: NC
|
||||||
|
```
|
||||||
|
```
|
||||||
|
Pin 1: +3V3 (optional)
|
||||||
|
Pin 2: GND
|
||||||
|
Pin 3: UART_TX (ESP32 TX → Programmer RX)
|
||||||
|
Pin 4: UART_RX (ESP32 RX ← Programmer TX)
|
||||||
|
Pin 5: DTR (Auto-reset)
|
||||||
|
Pin 6: RTS (Auto-reset)
|
||||||
|
```
|
||||||
|
|
||||||
|
**External USB-to-Serial Adapter Connection:**
|
||||||
|
When flashing, connect your USB-to-Serial adapter (CP2102, CH340, FT232, etc.):
|
||||||
|
- Adapter VCC → J2 Pin 1 (optional - only if powering ESP32 from adapter)
|
||||||
|
- Adapter GND → J2 Pin 2
|
||||||
|
- Adapter RX → J2 Pin 3 (receives TX from ESP32)
|
||||||
|
- Adapter TX → J2 Pin 4 (sends to RX of ESP32)
|
||||||
|
- Adapter DTR → J2 Pin 5 (auto-reset)
|
||||||
|
- Adapter RTS → J2 Pin 6 (auto-reset)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Keyboard Shortcuts
|
||||||
|
|
||||||
|
- `A` - Add Symbol
|
||||||
|
- `W` - Add Wire
|
||||||
|
- `P` - Add Power Port
|
||||||
|
- `L` - Add Net Label
|
||||||
|
- `E` - Edit Component
|
||||||
|
- `M` - Move Component
|
||||||
|
- `R` - Rotate Component
|
||||||
|
- `Delete` - Delete Selected
|
||||||
|
- `Ctrl+Z` - Undo
|
||||||
|
- `Ctrl+S` - Save
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verification Checklist
|
||||||
|
|
||||||
|
After completing the schematic:
|
||||||
|
|
||||||
|
- [ ] All components have reference designators (U1, U2, etc.)
|
||||||
|
- [ ] All components have values set
|
||||||
|
- [ ] All power pins connected to appropriate power rails
|
||||||
|
- [ ] All ground pins connected to GND
|
||||||
|
- [ ] Net labels match between pages (if using multiple pages)
|
||||||
|
- [ ] No unconnected pins (except NC pins)
|
||||||
|
- [ ] Run ERC: Tools → Electrical Rules Checker
|
||||||
|
- [ ] Fix any ERC warnings/errors
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Issues
|
||||||
|
|
||||||
|
1. **"Unconnected pin" warning**: Check if pin should be connected or marked as NC
|
||||||
|
2. **"Power pin not driven"**: Ensure power symbols are connected
|
||||||
|
3. **"Multiple net names"**: Check for duplicate net labels or conflicting connections
|
||||||
|
4. **"Pin connected to multiple nets"**: Check for wiring errors
|
||||||
|
|
||||||
55
Midea_ESP/README.md
Normal file
55
Midea_ESP/README.md
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Midea AC Controller PCB Design
|
||||||
|
|
||||||
|
Custom PCB design for controlling Midea/Inventor AC units using ESP32 with BLE beacon capabilities.
|
||||||
|
|
||||||
|
## Project Files
|
||||||
|
|
||||||
|
- `Midea_ESP.kicad_pro` - KiCad project file
|
||||||
|
- `Midea_ESP.kicad_sch` - Schematic file
|
||||||
|
- `Midea_ESP.kicad_pcb` - PCB layout file
|
||||||
|
- `Midea_ESP.kicad_prl` - Project local settings
|
||||||
|
|
||||||
|
## Custom Library
|
||||||
|
|
||||||
|
- `libs/Midea_AC_Controller.kicad_sym` - Custom symbol library containing:
|
||||||
|
- ESP32-WROOM-32E
|
||||||
|
- TXB0104PWR (Level shifter)
|
||||||
|
- AMS1117-3.3 (Voltage regulator)
|
||||||
|
- CP2102N (USB-to-Serial - not used, kept for reference)
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- **`SCHEMATIC_COMPONENT_LIST.md`** - Complete component list with pin-by-pin connections and schematic structure
|
||||||
|
- **`QUICK_START_SCHEMATIC.md`** - Step-by-step guide for building the schematic in KiCad
|
||||||
|
- **`PROGRAMMING_HEADER.md`** - Programming header pinout and connection guide
|
||||||
|
- **`COMPONENT_SIZES.md`** - Recommended package sizes for all components (capacitors, resistors, LEDs, etc.)
|
||||||
|
- **`AC_CONNECTION.md`** - AC connector pinout and connection guide
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
1. Open the project in KiCad: `kicad Midea_ESP.kicad_pro`
|
||||||
|
2. Follow `QUICK_START_SCHEMATIC.md` to build the schematic
|
||||||
|
3. Refer to `SCHEMATIC_COMPONENT_LIST.md` for detailed component information
|
||||||
|
4. Use `PROGRAMMING_HEADER.md` when connecting a USB-to-Serial adapter for flashing
|
||||||
|
|
||||||
|
## Design Features
|
||||||
|
|
||||||
|
- ESP32-WROOM-32E microcontroller
|
||||||
|
- 5V to 3.3V voltage regulation (AMS1117-3.3)
|
||||||
|
- 3.3V ↔ 5V level shifter (TXB0104PWR) for AC communication
|
||||||
|
- Programming header for external USB-to-Serial adapter
|
||||||
|
- Reset and boot buttons
|
||||||
|
- Status LEDs
|
||||||
|
- JST-XH connector (J1) - Provides power input and AC communication
|
||||||
|
|
||||||
|
## Power Supply
|
||||||
|
|
||||||
|
- **Power Input:** J1 Pin 1 (+5V) - Powers the entire PCB
|
||||||
|
- **Voltage Regulator:** AMS1117-3.3 converts 5V to 3.3V for ESP32
|
||||||
|
- **Ground:** J1 Pin 4 (GND)
|
||||||
|
|
||||||
|
## Cost Optimization
|
||||||
|
|
||||||
|
- Uses programming header instead of onboard USB-to-Serial chip (saves ~$2.50 per board)
|
||||||
|
- Minimal component count while maintaining functionality
|
||||||
|
|
||||||
451
Midea_ESP/SCHEMATIC_COMPONENT_LIST.md
Normal file
451
Midea_ESP/SCHEMATIC_COMPONENT_LIST.md
Normal file
@@ -0,0 +1,451 @@
|
|||||||
|
# Schematic Component List and Connection Guide
|
||||||
|
|
||||||
|
## Schematic Structure (Recommended)
|
||||||
|
|
||||||
|
### Page 1: Power Supply Section
|
||||||
|
- Power input via JST connector (J1 Pin 1)
|
||||||
|
- Voltage regulator (AMS1117-3.3)
|
||||||
|
- Input/output capacitors
|
||||||
|
- Power distribution
|
||||||
|
|
||||||
|
### Page 2: Main Controller (ESP32)
|
||||||
|
- ESP32-WROOM-32E module
|
||||||
|
- Decoupling capacitors
|
||||||
|
- Reset and boot buttons
|
||||||
|
- Status LEDs
|
||||||
|
|
||||||
|
### Page 3: Level Shifter and AC Interface
|
||||||
|
- TXB0104 level shifter
|
||||||
|
- AC connector (JST-XH)
|
||||||
|
- Signal connections
|
||||||
|
|
||||||
|
### Page 4: Programming Header (Optional)
|
||||||
|
- Header pins for external USB-to-Serial adapter
|
||||||
|
- Auto-reset connections
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Component List
|
||||||
|
|
||||||
|
### Page 1: Power Supply
|
||||||
|
|
||||||
|
| Ref | Component | Library | Symbol | Value | Notes |
|
||||||
|
|-----|-----------|---------|--------|-------|-------|
|
||||||
|
| U1 | Voltage Regulator | `Midea_ESP` | `AMS1117-3.3` | AMS1117-3.3 | 3.3V regulator |
|
||||||
|
| C1 | Capacitor | `Device` | `C` | 10µF | Input capacitor |
|
||||||
|
| C2 | Capacitor | `Device` | `C` | 10µF | Output capacitor |
|
||||||
|
| C3 | Capacitor | `Device` | `C` | 100nF | Input decoupling |
|
||||||
|
| C4 | Capacitor | `Device` | `C` | 100nF | Output decoupling |
|
||||||
|
|
||||||
|
**Note:** Power is supplied via J1 Pin 1 (+5V) from the AC unit connection. See Page 3 for J1 connector details.
|
||||||
|
|
||||||
|
**Connections:**
|
||||||
|
- **J1 Pin 1 (+5V)** → **U1 Pin 3 (IN)** (connect from Page 3 using net label `+5V_POWER`)
|
||||||
|
- **J1 Pin 1 (+5V)** → **C1 (one terminal)** (parallel connection - connect directly to +5V net)
|
||||||
|
- **J1 Pin 1 (+5V)** → **C3 (one terminal)** (parallel connection - connect directly to +5V net)
|
||||||
|
- **C1 (other terminal)** → **GND**
|
||||||
|
- **C3 (other terminal)** → **GND**
|
||||||
|
- **U1 Pin 2 (OUT)** → **+3V3 Power Rail** (connect to +3V3 power symbol)
|
||||||
|
- **U1 Pin 2 (OUT)** → **C2 (one terminal)** (parallel connection - connect directly to +3V3 net)
|
||||||
|
- **U1 Pin 2 (OUT)** → **C4 (one terminal)** (parallel connection - connect directly to +3V3 net)
|
||||||
|
- **C2 (other terminal)** → **GND**
|
||||||
|
- **C4 (other terminal)** → **GND**
|
||||||
|
- **U1 Pin 1 (GND)** → **GND**
|
||||||
|
- **U1 Pin TAB (GND)** → **GND**
|
||||||
|
- **J1 Pin 4 (GND)** → **GND** (connect from Page 3)
|
||||||
|
|
||||||
|
**Note:**
|
||||||
|
- All capacitors are unpolarized (ceramic), so either terminal can connect to either net.
|
||||||
|
- **C1 and C3 are in PARALLEL** between +5V and GND (input filtering/decoupling)
|
||||||
|
- **C2 and C4 are in PARALLEL** between +3V3 and GND (output filtering/decoupling)
|
||||||
|
|
||||||
|
**Power Symbols:**
|
||||||
|
- Add `+3V3` power symbol (press `P`, select `+3V3`)
|
||||||
|
- Add `GND` power symbol (press `P`, select `GND`)
|
||||||
|
- Add `+5V` power symbol (press `P`, select `+5V`) - connects to J1 Pin 1 and level shifter
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Page 2: ESP32 Main Controller
|
||||||
|
|
||||||
|
| Ref | Component | Library | Symbol | Value | Notes |
|
||||||
|
|-----|-----------|---------|--------|-------|-------|
|
||||||
|
| U2 | ESP32 Module | `Midea_ESP` | `ESP32-WROOM-32E` | ESP32-WROOM-32E | Main MCU (onboard antenna) |
|
||||||
|
| C5 | Capacitor | `Device` | `C` | 100nF | VDD decoupling (Pin 2) |
|
||||||
|
| C6 | Capacitor | `Device` | `C` | 10µF | Bulk capacitor near module |
|
||||||
|
| SW1 | Reset Button | `Button_Switch_SMD` | `SW_PUSH` | - | Reset switch |
|
||||||
|
| SW2 | Boot Button | `Button_Switch_SMD` | `SW_PUSH` | - | Boot/Flash switch |
|
||||||
|
| R3 | Resistor | `Device` | `R` | 10kΩ | Reset pull-up |
|
||||||
|
| R4 | Resistor | `Device` | `R` | 10kΩ | Boot pull-up |
|
||||||
|
| LED1 | LED | `Device` | `LED` | - | WiFi status |
|
||||||
|
| LED2 | LED | `Device` | `LED` | - | BLE status |
|
||||||
|
| R1 | Resistor | `Device` | `R` | 220Ω | LED1 current limit |
|
||||||
|
| R2 | Resistor | `Device` | `R` | 220Ω | LED2 current limit |
|
||||||
|
|
||||||
|
**Power Connections (For ESP32-WROOM-32E with Only Pin 2 VDD Exposed):**
|
||||||
|
- **ESP32 Pin 2 (VDD)** → **+3V3 Power Rail**
|
||||||
|
- **Note:** Only Pin 2 (VDD) is exposed on your module (onboard antenna variant)
|
||||||
|
- **C5 (100nF):** **U2 Pin 2 (VDD)** → **C5 (one terminal)** → **+3V3**, **C5 (other terminal)** → **GND** (decoupling capacitor - required)
|
||||||
|
- **C6 (10µF):** **U2 Pin 2 (VDD)** → **C6 (one terminal)** → **+3V3**, **C6 (other terminal)** → **GND** (bulk capacitor - recommended near module)
|
||||||
|
- **Placement:** C5 and C6 must be placed as close as possible to Pin 2 (<5mm recommended)
|
||||||
|
- **ESP32 GND pins** (all exposed GND pins) → **GND**
|
||||||
|
- **Note:** Connect all exposed GND pins to ground plane
|
||||||
|
- **Typical GND pins:** Pin 1, and any other exposed GND pins on your module
|
||||||
|
- **Note:** Internal VDD pins are handled by the module internally - only external Pin 2 needs decoupling
|
||||||
|
|
||||||
|
**Critical Control Pins (Per Datasheet):**
|
||||||
|
- **U2 EN (Enable Pin) - Pin 3 in RF_Module library:**
|
||||||
|
- **Function:** Active HIGH - enables ESP32 operation (must be HIGH for normal operation)
|
||||||
|
- **Pull-up resistor:** R3 (10kΩ) → +3V3 (required by datasheet)
|
||||||
|
- **Reset button:** SW1 connected to EN pin (active LOW reset - pulls EN LOW to reset)
|
||||||
|
- **Connections:**
|
||||||
|
- **U2.EN** → **R3 (10kΩ)** → **+3V3** (pull-up resistor)
|
||||||
|
- **U2.EN** → **SW1 Pin 1** (reset button)
|
||||||
|
- **SW1 Pin 2** → **GND** (when button pressed, EN goes LOW = reset)
|
||||||
|
- **Note:** EN must be HIGH (3.3V) for ESP32 to operate. Pulling it LOW resets the chip.
|
||||||
|
- **U2 GPIO0 (Boot Mode Pin):**
|
||||||
|
- **Function:** Boot mode selection
|
||||||
|
- **HIGH (3.3V):** Normal boot from flash
|
||||||
|
- **LOW (GND):** Download mode for flashing
|
||||||
|
- **Pull-up resistor:** R4 (10kΩ) → +3V3 (required by datasheet)
|
||||||
|
- **Boot button:** SW2 connected to GPIO0 (pull LOW for download mode)
|
||||||
|
- **Connection:** U2.GPIO0 → R4 → +3V3, U2.GPIO0 → SW2 Pin 1, SW2 Pin 2 → GND
|
||||||
|
|
||||||
|
**GPIO Connections:**
|
||||||
|
- **U2 GPIO17 (UART1 TX):** → Label: `ESP32_TX` → Connect to Page 3 (U3.A1) - AC communication
|
||||||
|
- **U2 GPIO16 (UART1 RX):** → Label: `ESP32_RX` → Connect to Page 3 (U3.A2) - AC communication
|
||||||
|
- **U2 GPIO2:** → R1 (220Ω) → LED1 Anode → LED1 Cathode → GND (WiFi status indicator)
|
||||||
|
- **U2 GPIO4:** → R2 (220Ω) → LED2 Anode → LED2 Cathode → GND (BLE status indicator)
|
||||||
|
- **U2 GPIO1 (UART0 TX):** → Label: `UART_TX` → Connect to Page 4 (J2 Pin 3) [if programming header]
|
||||||
|
- **U2 GPIO3 (UART0 RX):** → Label: `UART_RX` → Connect to Page 4 (J2 Pin 4) [if programming header]
|
||||||
|
|
||||||
|
**Programming Header Connections (Optional):**
|
||||||
|
- **U2 GPIO0:** → Label: `DTR` → Connect to Page 4 (J2 Pin 5) - Auto-reset for flashing
|
||||||
|
- **U2 EN:** → Label: `RTS` → Connect to Page 4 (J2 Pin 6) - Auto-reset for flashing
|
||||||
|
|
||||||
|
**Note:** According to ESP32-WROOM-32E datasheet:
|
||||||
|
- **Power supply:** Must be stable 3.0V to 3.6V (we use 3.3V)
|
||||||
|
- **Peak current:** Up to 500mA during WiFi transmission
|
||||||
|
- **Decoupling:** 100nF ceramic capacitor required at exposed VDD pin (Pin 2)
|
||||||
|
- **Bulk capacitor:** 10µF recommended near module (C6)
|
||||||
|
- **PCB layout:** Decoupling capacitors must be placed as close as possible to Pin 2
|
||||||
|
- **Module variant:** Your module (onboard antenna) only exposes Pin 2 as VDD - internal VDD pins are handled by the module
|
||||||
|
|
||||||
|
**Button Connections:**
|
||||||
|
- **SW1 (Reset Button) - Connected to EN Pin (Pin 3 in RF_Module library):**
|
||||||
|
- **SW1 Pin 1** → **U2.EN** (Enable pin - Pin 3 in RF_Module library)
|
||||||
|
- **SW1 Pin 1** → **R3 (10kΩ)** → **+3V3** (pull-up resistor)
|
||||||
|
- **SW1 Pin 2** → **GND**
|
||||||
|
- **Function:** Pressing SW1 pulls EN LOW, which resets the ESP32
|
||||||
|
- **Normal state:** EN is HIGH (3.3V) via R3 pull-up, ESP32 operates normally
|
||||||
|
- **Reset state:** When button pressed, EN goes LOW (GND), ESP32 resets
|
||||||
|
- **SW2 (Boot Button) - Connected to GPIO0:**
|
||||||
|
- **SW2 Pin 1** → **U2.GPIO0** (Boot mode pin)
|
||||||
|
- **SW2 Pin 1** → **R4 (10kΩ)** → **+3V3** (pull-up resistor)
|
||||||
|
- **SW2 Pin 2** → **GND**
|
||||||
|
- **Function:** Pressing SW2 pulls GPIO0 LOW, which puts ESP32 in download mode
|
||||||
|
- **Normal state:** GPIO0 is HIGH (3.3V) via R4 pull-up, ESP32 boots from flash
|
||||||
|
- **Download mode:** When button pressed, GPIO0 goes LOW (GND), ESP32 enters download mode
|
||||||
|
|
||||||
|
**LED Connections:**
|
||||||
|
- LED1 Anode → R1 → U2.GPIO2
|
||||||
|
- LED1 Cathode → GND
|
||||||
|
- LED2 Anode → R2 → U2.GPIO4
|
||||||
|
- LED2 Cathode → GND
|
||||||
|
|
||||||
|
**Decoupling Capacitors (For Module with Only Pin 2 VDD Exposed):**
|
||||||
|
- **C5:** U2 Pin 2 (VDD) → GND (100nF ceramic, 0805 package)
|
||||||
|
- **Purpose:** High-frequency decoupling for VDD pin
|
||||||
|
- **Placement:** As close as possible to Pin 2 (<5mm)
|
||||||
|
- **C6:** U2 Pin 2 (VDD) → GND (10µF ceramic, 0805 package)
|
||||||
|
- **Purpose:** Bulk capacitor for power supply stability
|
||||||
|
- **Placement:** Near ESP32 module, close to Pin 2
|
||||||
|
|
||||||
|
**Note:**
|
||||||
|
- Your ESP32-WROOM-32E module (onboard antenna) only exposes Pin 2 as VDD
|
||||||
|
- Internal VDD pins are handled internally by the module
|
||||||
|
- Only the exposed Pin 2 requires external decoupling capacitors
|
||||||
|
- C5 (100nF) for high-frequency decoupling
|
||||||
|
- C6 (10µF) for bulk power supply filtering
|
||||||
|
|
||||||
|
**PCB Layout Requirements:**
|
||||||
|
- **C5 (100nF):** Place **as close as possible** to Pin 2 (<5mm recommended)
|
||||||
|
- **C6 (10µF):** Place near ESP32 module, close to Pin 2
|
||||||
|
- **Trace width:** Use short, wide traces from Pin 2 to capacitors
|
||||||
|
- **Ground connection:** Connect capacitors to ground plane with short, wide traces
|
||||||
|
- **Power trace:** Use adequate trace width for 500mA peak current (minimum 0.5mm)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Page 3: Level Shifter and AC Interface
|
||||||
|
|
||||||
|
| Ref | Component | Library | Symbol | Value | Notes |
|
||||||
|
|-----|-----------|---------|--------|-------|-------|
|
||||||
|
| U3 | Level Shifter | `Midea_ESP` | `TXB0104PWR` | TXB0104PWR | 4-channel level shifter (TSSOP-14) |
|
||||||
|
| J1 | AC Connector | `Connector_JST` | `JST_XH_B4B-XH-A` | - | 4-pin JST-XH |
|
||||||
|
| C14 | Capacitor | `Device` | `C` | 100nF | VCCA decoupling (U3 Pin 12) |
|
||||||
|
| C15 | Capacitor | `Device` | `C` | 100nF | VCCB decoupling (U3 Pin 11) |
|
||||||
|
|
||||||
|
**TXB0104PWR Pin Connections:**
|
||||||
|
|
||||||
|
**Low Voltage Side (3.3V - ESP32):**
|
||||||
|
- **U3 Pin 1 (A1)** → Net Label: `ESP32_TX` → Connect to Page 2 (U2.GPIO17)
|
||||||
|
- **U3 Pin 2 (A2)** → Net Label: `ESP32_RX` → Connect to Page 2 (U2.GPIO16)
|
||||||
|
- **U3 Pin 3 (A3)** → NC (Not Connected)
|
||||||
|
- **U3 Pin 4 (A4)** → NC (Not Connected)
|
||||||
|
|
||||||
|
**High Voltage Side (5V - AC):**
|
||||||
|
- **U3 Pin 9 (B1)** → Net Label: `AC_RX` → J1 Pin 2
|
||||||
|
- **U3 Pin 8 (B2)** → Net Label: `AC_TX` → J1 Pin 3
|
||||||
|
- **U3 Pin 7 (B3)** → NC (Not Connected)
|
||||||
|
- **U3 Pin 6 (B4)** → NC (Not Connected)
|
||||||
|
|
||||||
|
**Power (Per TXB0104 Datasheet):**
|
||||||
|
- **U3 Pin 12 (VCCA)** → **+3V3 Power Rail** (Low voltage side: 1.2V to 3.6V, we use 3.3V)
|
||||||
|
- **C14 (100nF)** → **U3 Pin 12 (VCCA)** → **+3V3**, **C14 (other terminal)** → **GND** (decoupling capacitor - required by datasheet)
|
||||||
|
- **U3 Pin 11 (VCCB)** → **+5V Power Rail** (High voltage side: 1.65V to 5.5V, we use 5V)
|
||||||
|
- **C15 (100nF)** → **U3 Pin 11 (VCCB)** → **+5V**, **C15 (other terminal)** → **GND** (decoupling capacitor - required by datasheet)
|
||||||
|
- **U3 Pin 10 (OE)** → **+3V3 Power Rail** (Output Enable - referenced to VCCA per datasheet)
|
||||||
|
- **Note:** OE input circuit is referenced to VCCA (not VCCB) per datasheet
|
||||||
|
- **Function:** HIGH (3.3V) = enabled, LOW (GND) = high-impedance state
|
||||||
|
- **U3 Pin 5 (GND)** → GND
|
||||||
|
- **U3 Pin 13 (GND)** → GND
|
||||||
|
- **U3 Pin 14 (GND)** → GND
|
||||||
|
|
||||||
|
**Critical Requirement (Per Datasheet):**
|
||||||
|
- **VCCA must NOT exceed VCCB:** 3.3V ≤ 5V ✓ (correct)
|
||||||
|
- **Decoupling capacitors:** 100nF ceramic capacitors required on both VCCA and VCCB (C14, C15)
|
||||||
|
|
||||||
|
**AC Connector (J1) - JST-XH Connector on PCB:**
|
||||||
|
- **J1 Pin 1** → **+5V Power Rail** → Connect to Page 1 (U1 Pin 3 via capacitors) - **Power input for PCB**
|
||||||
|
- **J1 Pin 2** → Net Label: `AC_RX` → U3 Pin 9 (B1)
|
||||||
|
- **J1 Pin 3** → Net Label: `AC_TX` → U3 Pin 8 (B2)
|
||||||
|
- **J1 Pin 4** → **GND** → Connect to all GND nets
|
||||||
|
|
||||||
|
**Note:** J1 is a JST-XH connector mounted on the PCB. This connector provides:
|
||||||
|
- **Power input** (Pin 1: +5V) - Powers the entire PCB
|
||||||
|
- **AC communication** (Pins 2-3: UART signals)
|
||||||
|
- **Ground** (Pin 4: GND)
|
||||||
|
|
||||||
|
You will connect a cable with a matching JST-XH connector on one end to connect to your AC unit. The other end of the cable connects to J1 on the PCB.
|
||||||
|
|
||||||
|
**Net Labels to Use:**
|
||||||
|
- `ESP32_TX` - ESP32 transmit to level shifter
|
||||||
|
- `ESP32_RX` - ESP32 receive from level shifter
|
||||||
|
- `AC_TX` - AC transmit line
|
||||||
|
- `AC_RX` - AC receive line
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Page 4: Programming Header (Required for Flashing)
|
||||||
|
|
||||||
|
| Ref | Component | Library | Symbol | Value | Notes |
|
||||||
|
|-----|-----------|---------|--------|-------|-------|
|
||||||
|
| J2 | Header | `Connector_PinHeader_2.54mm` | `PinHeader_2x04_P2.54mm_Vertical` | - | 2x4 programming header (8 pins total, 6 used) |
|
||||||
|
| R5 | Resistor | `Device` | `R` | 10kΩ | DTR pull-up (optional but recommended) |
|
||||||
|
| R6 | Resistor | `Device` | `R` | 10kΩ | RTS pull-up (optional but recommended) |
|
||||||
|
|
||||||
|
**Programming Header (J2) Pinout - 2x4 Header (2.54mm pitch):**
|
||||||
|
|
||||||
|
**Pin Layout (Top View):**
|
||||||
|
```
|
||||||
|
┌─────────────┐
|
||||||
|
│ 1 2 3 4 │ ← Top row
|
||||||
|
│ 5 6 7 8 │ ← Bottom row
|
||||||
|
└─────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
| J2 Pin | Signal | ESP32 Connection | Description |
|
||||||
|
|--------|--------|------------------|-------------|
|
||||||
|
| 1 | +3V3 | +3V3 Power Rail | Optional - Power ESP32 from programmer |
|
||||||
|
| 2 | GND | GND | Ground reference (required) |
|
||||||
|
| 3 | UART_TX | U2.GPIO1 (UART0 TX) | ESP32 transmits to programmer |
|
||||||
|
| 4 | UART_RX | U2.GPIO3 (UART0 RX) | ESP32 receives from programmer |
|
||||||
|
| 5 | DTR | U2.GPIO0 | Data Terminal Ready (auto-reset for flashing) |
|
||||||
|
| 6 | RTS | U2.EN | Request To Send (auto-reset for flashing) |
|
||||||
|
| 7 | NC | - | Not connected (spare) |
|
||||||
|
| 8 | NC | - | Not connected (spare) |
|
||||||
|
|
||||||
|
**Connections:**
|
||||||
|
- **J2 Pin 1** → **+3V3 Power Rail** (optional - for powering from programmer)
|
||||||
|
- **J2 Pin 2** → **GND** (required)
|
||||||
|
- **J2 Pin 3** → Net Label: `UART_TX` → Connect to Page 2 (U2.GPIO1) - ESP32 TX
|
||||||
|
- **J2 Pin 4** → Net Label: `UART_RX` → Connect to Page 2 (U2.GPIO3) - ESP32 RX
|
||||||
|
- **J2 Pin 5** → Net Label: `DTR` → Connect to Page 2 (U2.GPIO0) - Auto-reset
|
||||||
|
- **J2 Pin 6** → Net Label: `RTS` → Connect to Page 2 (U2.EN) - Auto-reset
|
||||||
|
- **J2 Pin 7** → **NC** (Not Connected - spare for future use)
|
||||||
|
- **J2 Pin 8** → **NC** (Not Connected - spare for future use)
|
||||||
|
|
||||||
|
**Flashing with 2x4 Header:**
|
||||||
|
- **Automatic** - no buttons needed:
|
||||||
|
- DTR/RTS signals automatically put ESP32 in boot mode
|
||||||
|
- Just run `esptool` or ESPHome - it handles everything
|
||||||
|
- Much easier and faster
|
||||||
|
|
||||||
|
**Note:** Pins 7 and 8 are spare and can be used for future expansion if needed.
|
||||||
|
|
||||||
|
**Auto-Reset Circuit (Optional but Recommended):**
|
||||||
|
- **J2 Pin 5 (DTR)** → R5 → +3V3
|
||||||
|
- **J2 Pin 5 (DTR)** → U2.GPIO0 (Boot mode control)
|
||||||
|
- **J2 Pin 6 (RTS)** → R6 → +3V3
|
||||||
|
- **J2 Pin 6 (RTS)** → U2.EN (Reset control)
|
||||||
|
|
||||||
|
**Note:** The pull-up resistors (R5, R6) are optional. Most USB-to-Serial adapters have built-in pull-ups, but adding them ensures reliable operation.
|
||||||
|
|
||||||
|
**Net Labels:**
|
||||||
|
- `UART_TX` - ESP32 UART TX to programmer
|
||||||
|
- `UART_RX` - ESP32 UART RX from programmer
|
||||||
|
- `DTR` - Data Terminal Ready (auto-reset)
|
||||||
|
- `RTS` - Request To Send (auto-reset)
|
||||||
|
|
||||||
|
**External USB-to-Serial Adapter Connections:**
|
||||||
|
When connecting an external USB-to-Serial adapter (e.g., CP2102, CH340, FT232):
|
||||||
|
- Adapter **VCC** → J2 Pin 1 (optional - only if you want to power ESP32 from adapter)
|
||||||
|
- Adapter **GND** → J2 Pin 2
|
||||||
|
- Adapter **RX** → J2 Pin 3 (UART_TX from ESP32)
|
||||||
|
- Adapter **TX** → J2 Pin 4 (UART_RX to ESP32)
|
||||||
|
- Adapter **DTR** → J2 Pin 5 (auto-reset)
|
||||||
|
- Adapter **RTS** → J2 Pin 6 (auto-reset)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How to Add Components in KiCad
|
||||||
|
|
||||||
|
### Step 1: Add Components
|
||||||
|
1. Press **`A`** (or click "Place Symbol" tool)
|
||||||
|
2. In the symbol chooser, search for the component
|
||||||
|
3. Click to place on schematic
|
||||||
|
4. Press **`E`** to edit properties (set Reference, Value)
|
||||||
|
|
||||||
|
### Step 2: Add Power Symbols
|
||||||
|
1. Press **`P`** (or click "Place Power Port" tool)
|
||||||
|
2. Select power symbol: `+3V3`, `+5V`, or `GND`
|
||||||
|
3. Click to place
|
||||||
|
4. All symbols with the same name are automatically connected
|
||||||
|
|
||||||
|
### Step 3: Add Wires
|
||||||
|
1. Press **`W`** (or click "Place Wire" tool)
|
||||||
|
2. Click on a pin, then click on destination pin
|
||||||
|
3. KiCad will route the wire automatically
|
||||||
|
|
||||||
|
### Step 4: Add Net Labels (for cross-page connections)
|
||||||
|
1. Press **`L`** (or click "Place Net Label" tool)
|
||||||
|
2. Type the net name (e.g., `ESP32_TX`)
|
||||||
|
3. Click on the wire to attach the label
|
||||||
|
4. Use the same label name on other pages to connect them
|
||||||
|
|
||||||
|
### Step 5: Add Hierarchical Sheets (for multiple pages)
|
||||||
|
1. Press **`S`** (or click "Place Hierarchical Sheet" tool)
|
||||||
|
2. Draw a rectangle for the sheet
|
||||||
|
3. Double-click to edit sheet properties
|
||||||
|
4. Set sheet name and file name
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection Summary by Net
|
||||||
|
|
||||||
|
### +3V3 Net (3.3V Power Rail)
|
||||||
|
- U1 Pin 2 (OUT)
|
||||||
|
- U2 All VDD pins (1, 3, 14, 21, 22, 27, 28, 33, 42)
|
||||||
|
- U3 Pin 12 (VCCA)
|
||||||
|
- U3 Pin 10 (OE)
|
||||||
|
- J2 Pin 1 (optional - if powering from programmer)
|
||||||
|
- R1, R2, R3, R4, R5, R6 (one end of pull-up resistors)
|
||||||
|
- LED1, LED2 anodes (via resistors)
|
||||||
|
|
||||||
|
### +5V Net (5V Power Rail)
|
||||||
|
- J1 Pin 1 (Power input from AC connection)
|
||||||
|
- U1 Pin 3 (IN)
|
||||||
|
- U3 Pin 11 (VCCB)
|
||||||
|
|
||||||
|
### GND Net (Ground)
|
||||||
|
- J1 Pin 4 (Ground from AC connection)
|
||||||
|
- U1 Pin 1 and TAB
|
||||||
|
- U2 All GND pins (2, 4, 13, 15, 20, 23, 26, 29, 34, 38, 40)
|
||||||
|
- U3 Pins 5, 13, 14 (GND)
|
||||||
|
- J2 Pin 2 (GND)
|
||||||
|
- All capacitor negative terminals
|
||||||
|
- SW1 Pin 2, SW2 Pin 2
|
||||||
|
- LED1, LED2 cathodes
|
||||||
|
|
||||||
|
### ESP32_TX Net
|
||||||
|
- U2 GPIO17 → U3 Pin 1 (A1)
|
||||||
|
|
||||||
|
### ESP32_RX Net
|
||||||
|
- U2 GPIO16 → U3 Pin 2 (A2)
|
||||||
|
|
||||||
|
### AC_TX Net
|
||||||
|
- U3 Pin 8 (B2) → J1 Pin 3
|
||||||
|
|
||||||
|
### AC_RX Net
|
||||||
|
- U3 Pin 9 (B1) → J1 Pin 2
|
||||||
|
|
||||||
|
### UART_TX Net (if programming header included)
|
||||||
|
- U2 GPIO1 → J2 Pin 3
|
||||||
|
|
||||||
|
### UART_RX Net (if programming header included)
|
||||||
|
- U2 GPIO3 → J2 Pin 4
|
||||||
|
|
||||||
|
### DTR Net (if programming header included)
|
||||||
|
- J2 Pin 5 → U2 GPIO0
|
||||||
|
|
||||||
|
### RTS Net (if programming header included)
|
||||||
|
- J2 Pin 6 → U2 EN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended Schematic Layout
|
||||||
|
|
||||||
|
### Option 1: Single Page (Simple)
|
||||||
|
- Left: Power supply (powered from J1)
|
||||||
|
- Center: ESP32 with peripherals
|
||||||
|
- Right: Level shifter and AC connector (J1 provides power)
|
||||||
|
- Bottom: Programming Header (if included)
|
||||||
|
|
||||||
|
### Option 2: Multiple Pages (Organized)
|
||||||
|
- **Page 1**: Power Supply (USB input, regulator, capacitors)
|
||||||
|
- **Page 2**: ESP32 Main (MCU, buttons, LEDs, decoupling caps)
|
||||||
|
- **Page 3**: Level Shifter & AC Interface
|
||||||
|
- **Page 4**: Programming Header (optional)
|
||||||
|
|
||||||
|
Use hierarchical sheets or net labels to connect between pages.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tips
|
||||||
|
|
||||||
|
1. **Use Net Labels** for cross-page connections instead of wires
|
||||||
|
2. **Group related components** together
|
||||||
|
3. **Place power symbols** near components that need them
|
||||||
|
4. **Use buses** if you have multiple similar signals (not needed here)
|
||||||
|
5. **Add text notes** to document special connections
|
||||||
|
6. **Run ERC** (Electrical Rules Check) after completing: Tools → Electrical Rules Checker
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Component Values Summary
|
||||||
|
|
||||||
|
| Component | Value | Purpose |
|
||||||
|
|-----------|-------|---------|
|
||||||
|
| U1 | AMS1117-3.3 | 5V to 3.3V regulator |
|
||||||
|
| U2 | ESP32-WROOM-32E | Main microcontroller |
|
||||||
|
| U3 | TXB0104PWR | 3.3V ↔ 5V level shifter |
|
||||||
|
| J2 | 6-pin Header | Programming header (optional) |
|
||||||
|
| R1, R2 | 220Ω | LED current limiting |
|
||||||
|
| R3, R4 | 10kΩ | Button pull-up resistors |
|
||||||
|
| R5, R6 | 10kΩ | DTR/RTS pull-up resistors (optional) |
|
||||||
|
| C1, C2 | 10µF | Power supply capacitors |
|
||||||
|
| C3, C4 | 100nF | Decoupling capacitors |
|
||||||
|
| C5-C13 | 100nF | ESP32 decoupling |
|
||||||
|
| C14, C15 | 100nF, 10µF | CP2102N decoupling |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Next Steps After Schematic
|
||||||
|
|
||||||
|
1. **Annotate Components**: Tools → Annotate Schematic
|
||||||
|
2. **Electrical Rules Check**: Tools → Electrical Rules Checker
|
||||||
|
3. **Assign Footprints**: Tools → Assign Footprints
|
||||||
|
4. **Generate Netlist**: Tools → Generate Netlist
|
||||||
|
5. **Open PCB Editor**: Click "Open PCB in Board Editor"
|
||||||
|
|
||||||
149
Midea_ESP/TXB0104_DATASHEET_NOTES.md
Normal file
149
Midea_ESP/TXB0104_DATASHEET_NOTES.md
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
# TXB0104PWR Datasheet Reference
|
||||||
|
|
||||||
|
Based on the official TXB0104 datasheet: [TXB0104 Datasheet](https://www.ti.com/lit/ds/symlink/txb0104.pdf)
|
||||||
|
|
||||||
|
## Key Specifications
|
||||||
|
|
||||||
|
### Power Supply Requirements
|
||||||
|
|
||||||
|
- **VCCA (A Port):** 1.2V to 3.6V
|
||||||
|
- **Our design:** 3.3V (for ESP32)
|
||||||
|
- **Pin:** Pin 12 (VCCA)
|
||||||
|
- **VCCB (B Port):** 1.65V to 5.5V
|
||||||
|
- **Our design:** 5V (for AC communication)
|
||||||
|
- **Pin:** Pin 11 (VCCB)
|
||||||
|
- **Critical:** VCCA must NOT exceed VCCB
|
||||||
|
- **Our design:** 3.3V ≤ 5V ✓ (correct)
|
||||||
|
|
||||||
|
### Pin Configuration (TSSOP-14 Package - TXB0104PW)
|
||||||
|
|
||||||
|
| Pin | Name | Function | Our Connection |
|
||||||
|
|-----|------|----------|----------------|
|
||||||
|
| 1 | A1 | A Port 1 (Low Voltage) | ESP32 GPIO17 (TX) |
|
||||||
|
| 2 | A2 | A Port 2 (Low Voltage) | ESP32 GPIO16 (RX) |
|
||||||
|
| 3 | A3 | A Port 3 (Low Voltage) | NC (Not Connected) |
|
||||||
|
| 4 | A4 | A Port 4 (Low Voltage) | NC (Not Connected) |
|
||||||
|
| 5 | GND | Ground | GND |
|
||||||
|
| 6 | B4 | B Port 4 (High Voltage) | NC (Not Connected) |
|
||||||
|
| 7 | B3 | B Port 3 (High Voltage) | NC (Not Connected) |
|
||||||
|
| 8 | B2 | B Port 2 (High Voltage) | AC TX (J1 Pin 3) |
|
||||||
|
| 9 | B1 | B Port 1 (High Voltage) | AC RX (J1 Pin 2) |
|
||||||
|
| 10 | OE | Output Enable | +3V3 (VCCA) |
|
||||||
|
| 11 | VCCB | B Port Power Supply | +5V |
|
||||||
|
| 12 | VCCA | A Port Power Supply | +3V3 |
|
||||||
|
| 13 | GND | Ground | GND |
|
||||||
|
| 14 | GND | Ground | GND |
|
||||||
|
|
||||||
|
### Critical Design Requirements
|
||||||
|
|
||||||
|
#### 1. Output Enable (OE) Pin
|
||||||
|
|
||||||
|
**Per Datasheet:**
|
||||||
|
- **OE input circuit is referenced to VCCA** (not VCCB)
|
||||||
|
- **When OE is LOW:** All outputs are in high-impedance state
|
||||||
|
- **When OE is HIGH:** Device is enabled
|
||||||
|
- **Power-up/down:** OE must be tied to GND through a pulldown resistor to ensure high-impedance during power transitions
|
||||||
|
|
||||||
|
**Our Design:**
|
||||||
|
- **OE (Pin 10):** Connected to +3V3 (VCCA) ✓
|
||||||
|
- **Note:** We connect OE directly to VCCA (3.3V), which keeps the device always enabled
|
||||||
|
- **Alternative:** Could add pulldown resistor for power-up safety, but direct connection to VCCA is acceptable for always-on operation
|
||||||
|
|
||||||
|
**Recommendation:**
|
||||||
|
- Current design (OE → +3V3) is correct for always-enabled operation
|
||||||
|
- Optional: Add 10kΩ pulldown resistor from OE to GND for power-up safety (not critical if power sequencing is controlled)
|
||||||
|
|
||||||
|
#### 2. Power Supply Sequencing
|
||||||
|
|
||||||
|
**Per Datasheet:**
|
||||||
|
- VCCA must not exceed VCCB
|
||||||
|
- VCC isolation: If either VCC input is at GND, all outputs are in high-impedance state
|
||||||
|
- IOFF supports partial power-down mode
|
||||||
|
|
||||||
|
**Our Design:**
|
||||||
|
- VCCA = 3.3V, VCCB = 5V ✓ (3.3V ≤ 5V, correct)
|
||||||
|
- Both supplies come from same source (J1 Pin 1 = +5V)
|
||||||
|
- 3.3V is derived from 5V via regulator
|
||||||
|
- Power sequencing: 5V comes first, then 3.3V (via regulator) - this is acceptable
|
||||||
|
|
||||||
|
#### 3. Bidirectional Translation
|
||||||
|
|
||||||
|
**Per Datasheet:**
|
||||||
|
- Automatic direction sensing
|
||||||
|
- No direction control needed
|
||||||
|
- Works bidirectionally on A and B ports
|
||||||
|
|
||||||
|
**Our Design:**
|
||||||
|
- A1 (Pin 1) ↔ B1 (Pin 9): ESP32 TX ↔ AC RX ✓
|
||||||
|
- A2 (Pin 2) ↔ B2 (Pin 8): ESP32 RX ↔ AC TX ✓
|
||||||
|
- Automatic direction sensing handles UART communication ✓
|
||||||
|
|
||||||
|
#### 4. Decoupling Capacitors
|
||||||
|
|
||||||
|
**Per Datasheet:**
|
||||||
|
- Recommended: 0.1µF (100nF) ceramic capacitor on VCCA
|
||||||
|
- Recommended: 0.1µF (100nF) ceramic capacitor on VCCB
|
||||||
|
- Place as close as possible to power pins
|
||||||
|
|
||||||
|
**Our Design:**
|
||||||
|
- VCCA (Pin 12): Should have 100nF capacitor to GND
|
||||||
|
- VCCB (Pin 11): Should have 100nF capacitor to GND
|
||||||
|
- **Note:** These are not explicitly listed in our component list - should be added
|
||||||
|
|
||||||
|
**Recommendation:**
|
||||||
|
- Add C14: 100nF from VCCA (Pin 12) to GND
|
||||||
|
- Add C15: 100nF from VCCB (Pin 11) to GND
|
||||||
|
|
||||||
|
### Electrical Characteristics
|
||||||
|
|
||||||
|
- **Low Power Consumption:** 5µA maximum ICC
|
||||||
|
- **ESD Protection:** ±15kV on B port
|
||||||
|
- **Latch-up Performance:** Exceeds 100mA per JESD 78, Class II
|
||||||
|
- **Operating Temperature:** -40°C to +85°C
|
||||||
|
|
||||||
|
### Package Information
|
||||||
|
|
||||||
|
**TXB0104PW (TSSOP-14):**
|
||||||
|
- **Package:** TSSOP (14-pin)
|
||||||
|
- **Body Size:** 5.00mm × 4.40mm
|
||||||
|
- **Height:** 1.2mm max
|
||||||
|
- **Lead Pitch:** 0.65mm (fine pitch)
|
||||||
|
- **Footprint:** `Package_SO:TSSOP-14_4.4x5mm_P0.65mm` ✓
|
||||||
|
|
||||||
|
### PCB Layout Recommendations
|
||||||
|
|
||||||
|
**Per Datasheet:**
|
||||||
|
1. **Decoupling capacitors:** Place 100nF ceramic capacitors as close as possible to VCCA and VCCB pins
|
||||||
|
2. **Ground plane:** Use ground plane for GND pins (5, 13, 14)
|
||||||
|
3. **Trace routing:** Keep A and B port traces short and matched length if possible
|
||||||
|
4. **Thermal:** No special thermal considerations needed (low power device)
|
||||||
|
|
||||||
|
### Design Verification
|
||||||
|
|
||||||
|
**Our Design vs Datasheet:**
|
||||||
|
|
||||||
|
| Requirement | Datasheet | Our Design | Status |
|
||||||
|
|-------------|-----------|------------|--------|
|
||||||
|
| VCCA voltage | 1.2V to 3.6V | 3.3V | ✓ |
|
||||||
|
| VCCB voltage | 1.65V to 5.5V | 5V | ✓ |
|
||||||
|
| VCCA ≤ VCCB | Required | 3.3V ≤ 5V | ✓ |
|
||||||
|
| OE connection | VCCA referenced | +3V3 (VCCA) | ✓ |
|
||||||
|
| Package | TSSOP-14 | TSSOP-14 | ✓ |
|
||||||
|
| Decoupling caps | 100nF on VCCA/VCCB | **Missing** | ⚠️ Should add |
|
||||||
|
|
||||||
|
### Missing Components
|
||||||
|
|
||||||
|
**Should Add:**
|
||||||
|
- **C14:** 100nF ceramic capacitor from VCCA (Pin 12) to GND
|
||||||
|
- **C15:** 100nF ceramic capacitor from VCCB (Pin 11) to GND
|
||||||
|
|
||||||
|
**Optional (for power-up safety):**
|
||||||
|
- **R7:** 10kΩ pulldown resistor from OE (Pin 10) to GND (optional, not critical)
|
||||||
|
|
||||||
|
### References
|
||||||
|
|
||||||
|
- **Official Datasheet:** [TXB0104 Datasheet](https://www.ti.com/lit/ds/symlink/txb0104.pdf)
|
||||||
|
- **Package Information:** TSSOP-14 (TXB0104PW)
|
||||||
|
- **Application Note:** See datasheet section 8 for typical applications
|
||||||
|
|
||||||
|
|
||||||
251
Midea_ESP/USB_TO_SERIAL_ADAPTERS.md
Normal file
251
Midea_ESP/USB_TO_SERIAL_ADAPTERS.md
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
a# USB-to-Serial Adapters for 6-Pin Programming Header
|
||||||
|
|
||||||
|
## What You Need
|
||||||
|
|
||||||
|
For the 6-pin programming header, you need a **USB-to-Serial adapter** that has:
|
||||||
|
- ✅ **VCC** (or 3.3V) - Optional, for powering ESP32
|
||||||
|
- ✅ **GND** - Required
|
||||||
|
- ✅ **TX** (Transmit) - Required
|
||||||
|
- ✅ **RX** (Receive) - Required
|
||||||
|
- ✅ **DTR** (Data Terminal Ready) - Required for auto-reset
|
||||||
|
- ✅ **RTS** (Request To Send) - Required for auto-reset
|
||||||
|
|
||||||
|
**Important:** The adapter **MUST have DTR and RTS pins** for automatic reset to work.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recommended USB-to-Serial Adapters
|
||||||
|
|
||||||
|
### 1. **CP2102** (Recommended) ⭐
|
||||||
|
|
||||||
|
**Why it's good:**
|
||||||
|
- Very common and reliable
|
||||||
|
- Excellent driver support (Windows, Linux, macOS)
|
||||||
|
- Usually has all 6 pins (VCC, GND, TX, RX, DTR, RTS)
|
||||||
|
- Good quality, stable operation
|
||||||
|
- 3.3V logic levels (perfect for ESP32)
|
||||||
|
|
||||||
|
**Common boards:**
|
||||||
|
- CP2102 USB-to-Serial breakout boards
|
||||||
|
- Available from many manufacturers
|
||||||
|
- Usually $2-5 USD
|
||||||
|
|
||||||
|
**Example products:**
|
||||||
|
- Generic CP2102 breakout boards (AliExpress, eBay, Amazon)
|
||||||
|
- SparkFun CP2102 Breakout
|
||||||
|
- Adafruit CP2102 Friend
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. **CH340** (Budget Option)
|
||||||
|
|
||||||
|
**Why it's good:**
|
||||||
|
- Very cheap ($1-2 USD)
|
||||||
|
- Common in China-made boards
|
||||||
|
- Good Linux support
|
||||||
|
- Usually has all 6 pins
|
||||||
|
|
||||||
|
**Common boards:**
|
||||||
|
- CH340G USB-to-Serial modules
|
||||||
|
- Very common on cheap Arduino clones
|
||||||
|
- Available everywhere
|
||||||
|
|
||||||
|
**Note:** May need driver installation on Windows/macOS
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 3. **FT232RL** (Premium Option)
|
||||||
|
|
||||||
|
**Why it's good:**
|
||||||
|
- Premium quality
|
||||||
|
- Excellent driver support
|
||||||
|
- Very reliable
|
||||||
|
- Professional grade
|
||||||
|
- Usually $5-10 USD
|
||||||
|
|
||||||
|
**Common boards:**
|
||||||
|
- FTDI FT232RL breakout boards
|
||||||
|
- SparkFun FT232RL Breakout
|
||||||
|
- Adafruit FT232H (more advanced)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 4. **CH341** (Alternative)
|
||||||
|
|
||||||
|
**Why it's good:**
|
||||||
|
- Similar to CH340
|
||||||
|
- Usually cheaper
|
||||||
|
- Good Linux support
|
||||||
|
- Usually has all 6 pins
|
||||||
|
|
||||||
|
**Note:** May need driver installation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What to Look For
|
||||||
|
|
||||||
|
### Required Features:
|
||||||
|
1. **DTR pin** - Must be present (for auto-reset)
|
||||||
|
2. **RTS pin** - Must be present (for auto-reset)
|
||||||
|
3. **3.3V logic levels** - ESP32 uses 3.3V (not 5V)
|
||||||
|
4. **Standard pinout** - Easy to connect
|
||||||
|
|
||||||
|
### Pin Configuration:
|
||||||
|
Most USB-to-Serial adapters have this pinout:
|
||||||
|
```
|
||||||
|
VCC - Power (3.3V or 5V)
|
||||||
|
GND - Ground
|
||||||
|
TX - Transmit (to ESP32 RX)
|
||||||
|
RX - Receive (from ESP32 TX)
|
||||||
|
DTR - Data Terminal Ready
|
||||||
|
RTS - Request To Send
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Where to Buy
|
||||||
|
|
||||||
|
### Online:
|
||||||
|
- **AliExpress** - Very cheap ($1-3), ships from China
|
||||||
|
- **eBay** - Good prices, various sellers
|
||||||
|
- **Amazon** - Faster shipping, slightly higher prices
|
||||||
|
- **SparkFun** - Quality boards, higher prices
|
||||||
|
- **Adafruit** - Quality boards, higher prices
|
||||||
|
- **Digi-Key/Mouser** - Professional components
|
||||||
|
|
||||||
|
### Local:
|
||||||
|
- Electronics stores
|
||||||
|
- Maker/hacker spaces
|
||||||
|
- Local electronics suppliers
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Price Comparison
|
||||||
|
|
||||||
|
| Adapter | Price (typical) | Quality | Driver Support |
|
||||||
|
|---------|----------------|---------|----------------|
|
||||||
|
| **CH340** | $1-2 | Good | May need drivers |
|
||||||
|
| **CP2102** | $2-5 | Excellent | Excellent |
|
||||||
|
| **FT232RL** | $5-10 | Premium | Excellent |
|
||||||
|
| **CH341** | $1-2 | Good | May need drivers |
|
||||||
|
|
||||||
|
**Recommendation:** CP2102 is the sweet spot - good quality, good price, excellent support.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection Example
|
||||||
|
|
||||||
|
### CP2102 Breakout Board to J2 Header:
|
||||||
|
|
||||||
|
| CP2102 Pin | J2 Pin | Signal |
|
||||||
|
|------------|--------|--------|
|
||||||
|
| VCC (3.3V) | Pin 1 | +3V3 (optional) |
|
||||||
|
| GND | Pin 2 | GND |
|
||||||
|
| RX | Pin 3 | UART_TX (ESP32 TX) |
|
||||||
|
| TX | Pin 4 | UART_RX (ESP32 RX) |
|
||||||
|
| DTR | Pin 5 | DTR (GPIO0) |
|
||||||
|
| RTS | Pin 6 | RTS (EN) |
|
||||||
|
|
||||||
|
**Note:** RX/TX are swapped - CP2102 RX connects to ESP32 TX, and vice versa.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Driver Installation
|
||||||
|
|
||||||
|
### CP2102:
|
||||||
|
- **Windows:** Usually auto-installs, or download from Silicon Labs
|
||||||
|
- **Linux:** Usually works out-of-the-box (built into kernel)
|
||||||
|
- **macOS:** Usually auto-installs, or download from Silicon Labs
|
||||||
|
|
||||||
|
### CH340:
|
||||||
|
- **Windows:** May need driver download
|
||||||
|
- **Linux:** Usually works out-of-the-box
|
||||||
|
- **macOS:** May need driver download
|
||||||
|
|
||||||
|
### FT232RL:
|
||||||
|
- **Windows/Linux/macOS:** Excellent driver support, usually auto-installs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Testing Your Adapter
|
||||||
|
|
||||||
|
After connecting, test with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check if device is detected
|
||||||
|
ls /dev/ttyUSB* # Linux
|
||||||
|
# or
|
||||||
|
ls /dev/cu.* # macOS
|
||||||
|
|
||||||
|
# Test with esptool
|
||||||
|
esptool.py --port /dev/ttyUSB0 chip_id
|
||||||
|
```
|
||||||
|
|
||||||
|
If it works, you'll see the ESP32 chip ID.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Issues
|
||||||
|
|
||||||
|
### Problem: Adapter doesn't have DTR/RTS
|
||||||
|
**Solution:** You'll need to manually press buttons (use 4-pin header instead)
|
||||||
|
|
||||||
|
### Problem: Adapter is 5V logic
|
||||||
|
**Solution:** ESP32 can handle 5V on UART pins (they're 5V tolerant), but 3.3V is safer
|
||||||
|
|
||||||
|
### Problem: Driver not working
|
||||||
|
**Solution:** Download drivers from manufacturer website
|
||||||
|
|
||||||
|
### Problem: Device not detected
|
||||||
|
**Solution:**
|
||||||
|
- Check USB cable (some are power-only)
|
||||||
|
- Try different USB port
|
||||||
|
- Check drivers are installed
|
||||||
|
- On Linux: Check user is in `dialout` group
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## My Recommendation
|
||||||
|
|
||||||
|
**Get a CP2102 USB-to-Serial adapter** because:
|
||||||
|
- ✅ Excellent quality and reliability
|
||||||
|
- ✅ Good price ($2-5)
|
||||||
|
- ✅ Excellent driver support
|
||||||
|
- ✅ Usually has all 6 pins (VCC, GND, TX, RX, DTR, RTS)
|
||||||
|
- ✅ 3.3V logic levels (perfect for ESP32)
|
||||||
|
- ✅ Very common and easy to find
|
||||||
|
|
||||||
|
**Where to buy:**
|
||||||
|
- AliExpress: Search "CP2102 USB to Serial"
|
||||||
|
- Amazon: Search "CP2102 breakout"
|
||||||
|
- eBay: Search "CP2102 module"
|
||||||
|
|
||||||
|
**What to look for:**
|
||||||
|
- Make sure it has DTR and RTS pins
|
||||||
|
- 3.3V logic levels (or jumper-selectable)
|
||||||
|
- Standard pinout
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Alternative: Use Existing Adapter
|
||||||
|
|
||||||
|
If you already have a USB-to-Serial adapter:
|
||||||
|
1. Check if it has DTR and RTS pins
|
||||||
|
2. If yes → Use 6-pin header (automatic reset)
|
||||||
|
3. If no → Use 4-pin header (manual buttons)
|
||||||
|
|
||||||
|
Most modern USB-to-Serial adapters have DTR and RTS, so 6-pin header is usually the better choice.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
**For 6-pin programming header, you need:**
|
||||||
|
- USB-to-Serial adapter with **DTR and RTS pins**
|
||||||
|
- **Recommended:** CP2102 adapter ($2-5)
|
||||||
|
- **Budget option:** CH340 adapter ($1-2)
|
||||||
|
- **Premium option:** FT232RL adapter ($5-10)
|
||||||
|
|
||||||
|
**All of these will work** - CP2102 is the best balance of price and quality.
|
||||||
|
|
||||||
|
|
||||||
3306
Midea_ESP/_autosave-ESP32.kicad_sch
Normal file
3306
Midea_ESP/_autosave-ESP32.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
1300
Midea_ESP/_autosave-level_shifter_and JST.kicad_sch
Normal file
1300
Midea_ESP/_autosave-level_shifter_and JST.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
1387
Midea_ESP/_autosave-power_supply.kicad_sch
Normal file
1387
Midea_ESP/_autosave-power_supply.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
102642
Midea_ESP/fp-info-cache
Normal file
102642
Midea_ESP/fp-info-cache
Normal file
File diff suppressed because it is too large
Load Diff
328
Midea_ESP/level_shifter_and JST.kicad_sch
Normal file
328
Midea_ESP/level_shifter_and JST.kicad_sch
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "ea8a73d6-9851-41a5-a08a-6cb24887010d")
|
||||||
|
(paper "A4")
|
||||||
|
(lib_symbols
|
||||||
|
(symbol "Connector:Conn_01x04_Pin"
|
||||||
|
(pin_names
|
||||||
|
(offset 1.016)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(property "Reference" "J"
|
||||||
|
(at 0 5.08 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "Conn_01x04_Pin"
|
||||||
|
(at 0 -7.62 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Generic connector, single row, 01x04, script generated"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_locked" ""
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_keywords" "connector"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_fp_filters" "Connector*:*_1x??_*"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "Conn_01x04_Pin_1_1"
|
||||||
|
(rectangle
|
||||||
|
(start 0.8636 2.667)
|
||||||
|
(end 0 2.413)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type outline)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rectangle
|
||||||
|
(start 0.8636 0.127)
|
||||||
|
(end 0 -0.127)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type outline)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rectangle
|
||||||
|
(start 0.8636 -2.413)
|
||||||
|
(end 0 -2.667)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type outline)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rectangle
|
||||||
|
(start 0.8636 -4.953)
|
||||||
|
(end 0 -5.207)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type outline)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 1.27 2.54) (xy 0.8636 2.54)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 1.27 0) (xy 0.8636 0)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 1.27 -2.54) (xy 0.8636 -2.54)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 1.27 -5.08) (xy 0.8636 -5.08)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at 5.08 2.54 180)
|
||||||
|
(length 3.81)
|
||||||
|
(name "Pin_1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at 5.08 0 180)
|
||||||
|
(length 3.81)
|
||||||
|
(name "Pin_2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at 5.08 -2.54 180)
|
||||||
|
(length 3.81)
|
||||||
|
(name "Pin_3"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "3"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at 5.08 -5.08 180)
|
||||||
|
(length 3.81)
|
||||||
|
(name "Pin_4"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "4"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(embedded_fonts no)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol
|
||||||
|
(lib_id "Connector:Conn_01x04_Pin")
|
||||||
|
(at 147.32 93.98 0)
|
||||||
|
(unit 1)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(uuid "d2cc109a-bf92-43ec-a901-af895c5de566")
|
||||||
|
(property "Reference" "J1"
|
||||||
|
(at 147.955 86.36 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "Conn_01x04_Pin"
|
||||||
|
(at 147.955 88.9 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 147.32 93.98 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 147.32 93.98 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Generic connector, single row, 01x04, script generated"
|
||||||
|
(at 147.32 93.98 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin "1"
|
||||||
|
(uuid "d6494f1f-8015-406f-81e9-0a1d1ac6a7ea")
|
||||||
|
)
|
||||||
|
(pin "2"
|
||||||
|
(uuid "48d6339b-2e75-4934-ac88-245b0ef73219")
|
||||||
|
)
|
||||||
|
(pin "3"
|
||||||
|
(uuid "1f0a8d9a-9121-4387-96ec-82b1d8b0c319")
|
||||||
|
)
|
||||||
|
(pin "4"
|
||||||
|
(uuid "c1bbe21b-5887-423d-8af6-290e6f6b4a05")
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project ""
|
||||||
|
(path "/f579dd88-b421-4fbc-bd0c-53cb7bf597e7/f8d8d011-8388-4453-9dee-2228ec2b7902"
|
||||||
|
(reference "J1")
|
||||||
|
(unit 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
383
Midea_ESP/libs/Midea_AC_Controller.kicad_sym
Normal file
383
Midea_ESP/libs/Midea_AC_Controller.kicad_sym
Normal file
@@ -0,0 +1,383 @@
|
|||||||
|
(kicad_symbol_lib (version 20241209) (generator kicad_symbol_editor)
|
||||||
|
|
||||||
|
(symbol "ESP32-WROOM-32E" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||||
|
(property "Reference" "U" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Value" "ESP32-WROOM-32E" (at 0 -2.54 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Footprint" "" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(symbol "ESP32-WROOM-32E_0_1"
|
||||||
|
(rectangle (start -25.4 -38.1) (end 25.4 38.1)
|
||||||
|
(stroke (width 0.254) (type default))
|
||||||
|
(fill (type background))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 35.56 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "1" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 33.02 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "2" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 30.48 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "3" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 27.94 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "4" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 25.4 0) (length 2.54)
|
||||||
|
(name "GPIO32" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "5" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 22.86 0) (length 2.54)
|
||||||
|
(name "GPIO33" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "6" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 20.32 0) (length 2.54)
|
||||||
|
(name "GPIO25" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "7" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 17.78 0) (length 2.54)
|
||||||
|
(name "GPIO26" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "8" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 15.24 0) (length 2.54)
|
||||||
|
(name "GPIO27" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "9" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 12.7 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "10" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 10.16 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "11" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 7.62 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "12" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 5.08 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "13" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 2.54 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "14" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 0 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "15" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 -2.54 0) (length 2.54)
|
||||||
|
(name "GPIO14" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "16" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin output line (at -27.94 -5.08 0) (length 2.54)
|
||||||
|
(name "GPIO12" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "17" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -27.94 -7.62 0) (length 2.54)
|
||||||
|
(name "GPIO13" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "18" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 -10.16 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "19" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 -12.7 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "20" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 -15.24 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "21" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 -17.78 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "22" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at -27.94 -20.32 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "23" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 -20.32 0) (length 2.54)
|
||||||
|
(name "GPIO15" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "24" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 -17.78 0) (length 2.54)
|
||||||
|
(name "GPIO2" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "25" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 -15.24 0) (length 2.54)
|
||||||
|
(name "GPIO0" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "26" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 -12.7 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "27" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 -10.16 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "28" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 -7.62 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "29" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 -5.08 0) (length 2.54)
|
||||||
|
(name "GPIO4" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "30" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 -2.54 0) (length 2.54)
|
||||||
|
(name "GPIO16" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "31" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin output line (at 27.94 0 0) (length 2.54)
|
||||||
|
(name "GPIO17" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "32" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 2.54 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "33" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 5.08 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "34" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 7.62 0) (length 2.54)
|
||||||
|
(name "GPIO5" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "35" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 10.16 0) (length 2.54)
|
||||||
|
(name "GPIO18" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "36" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 12.7 0) (length 2.54)
|
||||||
|
(name "GPIO19" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "37" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 15.24 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "38" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 17.78 0) (length 2.54)
|
||||||
|
(name "GPIO21" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "39" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 20.32 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "40" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 22.86 0) (length 2.54)
|
||||||
|
(name "GPIO3" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "41" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin passive line (at 27.94 25.4 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "42" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 27.94 0) (length 2.54)
|
||||||
|
(name "GPIO1" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "43" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 30.48 0) (length 2.54)
|
||||||
|
(name "GPIO22" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "44" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 27.94 33.02 0) (length 2.54)
|
||||||
|
(name "GPIO23" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "45" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 0 -40.64 0) (length 2.54)
|
||||||
|
(name "EN" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "EN" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(symbol "TXB0104PWR" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||||
|
(property "Reference" "U" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Value" "TXB0104PWR" (at 0 -5.08 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Footprint" "Package_SO:TSSOP-14_4.4x5mm_P0.65mm" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "https://www.ti.com/lit/ds/symlink/txb0104.pdf" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(symbol "TXB0104PWR_0_1"
|
||||||
|
(rectangle (start -5.08 -7.62) (end 5.08 7.62)
|
||||||
|
(stroke (width 0.254) (type default))
|
||||||
|
(fill (type background))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at -7.62 5.08 0) (length 2.54)
|
||||||
|
(name "A1" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "1" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at -7.62 2.54 0) (length 2.54)
|
||||||
|
(name "A2" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "2" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at -7.62 0 0) (length 2.54)
|
||||||
|
(name "A3" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "3" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at -7.62 -2.54 0) (length 2.54)
|
||||||
|
(name "A4" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "4" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at -7.62 -5.08 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "5" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at 7.62 -5.08 0) (length 2.54)
|
||||||
|
(name "B4" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "6" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at 7.62 -2.54 0) (length 2.54)
|
||||||
|
(name "B3" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "7" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at 7.62 0 0) (length 2.54)
|
||||||
|
(name "B2" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "8" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin bidirectional line (at 7.62 2.54 0) (length 2.54)
|
||||||
|
(name "B1" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "9" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 7.62 5.08 0) (length 2.54)
|
||||||
|
(name "OE" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "10" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 0 9.652 0) (length 2.54)
|
||||||
|
(name "VCCB" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "11" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 0 -9.652 0) (length 2.54)
|
||||||
|
(name "VCCA" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "12" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at -2.54 7.62 90) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "13" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 2.54 7.62 90) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "14" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "AMS1117-3.3" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||||
|
(property "Reference" "U" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Value" "AMS1117-3.3" (at 0 -5.08 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-223" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "https://www.advanced-monolithic.com/pdf/ds1117.pdf" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(symbol "AMS1117-3.3_0_1"
|
||||||
|
(rectangle (start -5.08 -7.62) (end 5.08 7.62)
|
||||||
|
(stroke (width 0.254) (type default))
|
||||||
|
(fill (type background))
|
||||||
|
)
|
||||||
|
(pin power_in line (at -7.62 5.08 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "1" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at -7.62 -5.08 0) (length 2.54)
|
||||||
|
(name "OUT" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "2" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 7.62 -5.08 0) (length 2.54)
|
||||||
|
(name "IN" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "3" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 0 9.652 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "TAB" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(symbol "CP2102N" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||||
|
(property "Reference" "U" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Value" "CP2102N" (at 0 -5.08 0)
|
||||||
|
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||||
|
)
|
||||||
|
(property "Footprint" "Package_DFN_QFN:SiliconLabs_QFN-24_EP_3x3mm_P0.4mm" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "https://www.silabs.com/documents/public/data-sheets/cp2102n-datasheet.pdf" (at 0 0 0)
|
||||||
|
(effects (font (size 1.27 1.27)) hide)
|
||||||
|
)
|
||||||
|
(symbol "CP2102N_0_1"
|
||||||
|
(rectangle (start -7.62 -7.62) (end 7.62 7.62)
|
||||||
|
(stroke (width 0.254) (type default))
|
||||||
|
(fill (type background))
|
||||||
|
)
|
||||||
|
(pin input line (at -10.16 5.08 0) (length 2.54)
|
||||||
|
(name "VBUS" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "1" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -10.16 2.54 0) (length 2.54)
|
||||||
|
(name "D+" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "2" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at -10.16 0 0) (length 2.54)
|
||||||
|
(name "D-" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "3" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at -10.16 -2.54 0) (length 2.54)
|
||||||
|
(name "VDD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "4" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at -10.16 -5.08 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "5" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin output line (at 10.16 -5.08 0) (length 2.54)
|
||||||
|
(name "TXD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "6" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 10.16 -2.54 0) (length 2.54)
|
||||||
|
(name "RXD" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "7" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 10.16 0 0) (length 2.54)
|
||||||
|
(name "DTR" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "8" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin input line (at 10.16 2.54 0) (length 2.54)
|
||||||
|
(name "RTS" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "9" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin power_in line (at 10.16 5.08 0) (length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "10" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
5
Midea_ESP/libs/Midea_ESP.bak
Normal file
5
Midea_ESP/libs/Midea_ESP.bak
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
(kicad_symbol_lib
|
||||||
|
(version 20241209)
|
||||||
|
(generator "kicad_symbol_editor")
|
||||||
|
(generator_version "9.0")
|
||||||
|
)
|
||||||
387
Midea_ESP/libs/Midea_ESP.kicad_sym
Normal file
387
Midea_ESP/libs/Midea_ESP.kicad_sym
Normal file
@@ -0,0 +1,387 @@
|
|||||||
|
(kicad_symbol_lib
|
||||||
|
(version 20241209)
|
||||||
|
(generator "kicad_symbol_editor")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(symbol "TXB0104PWR"
|
||||||
|
(pin_names
|
||||||
|
(offset 0.254)
|
||||||
|
)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(property "Reference" "U"
|
||||||
|
(at 30.48 10.16 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.524 1.524)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "TXB0104PWR"
|
||||||
|
(at 30.48 7.62 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.524 1.524)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" "PW14"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(italic yes)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "https://www.ti.com/lit/gpn/txb0104"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(italic yes)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" ""
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_locked" ""
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_keywords" "TXB0104PWR"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_fp_filters" "PW14 PW14-M PW14-L"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "TXB0104PWR_0_1"
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 7.62 5.08) (xy 7.62 -20.32)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.127)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 7.62 -20.32) (xy 53.34 -20.32)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.127)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 53.34 5.08) (xy 7.62 5.08)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.127)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy 53.34 -20.32) (xy 53.34 5.08)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.127)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin power_in line
|
||||||
|
(at 0 0 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "VCCA"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 0 -2.54 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "A1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 0 -5.08 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "A2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "3"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 0 -7.62 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "A3"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "4"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 0 -10.16 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "A4"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "5"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 0 -12.7 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "NC"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "6"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin power_in line
|
||||||
|
(at 0 -15.24 0)
|
||||||
|
(length 7.62)
|
||||||
|
(name "GND"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "7"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin power_in line
|
||||||
|
(at 60.96 0 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "VCCB"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "14"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 60.96 -2.54 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "B1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "13"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 60.96 -5.08 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "B2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "12"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 60.96 -7.62 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "B3"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "11"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin bidirectional line
|
||||||
|
(at 60.96 -10.16 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "B4"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "10"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 60.96 -12.7 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "NC"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "9"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin output line
|
||||||
|
(at 60.96 -15.24 180)
|
||||||
|
(length 7.62)
|
||||||
|
(name "OE"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "8"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(embedded_fonts no)
|
||||||
|
)
|
||||||
|
)
|
||||||
634
Midea_ESP/power_supply.kicad_sch
Normal file
634
Midea_ESP/power_supply.kicad_sch
Normal file
@@ -0,0 +1,634 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "4dfabaa5-752e-4f6a-ace2-ff3431003a0e")
|
||||||
|
(paper "A4")
|
||||||
|
(lib_symbols
|
||||||
|
(symbol "Device:C"
|
||||||
|
(pin_numbers
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
(pin_names
|
||||||
|
(offset 0.254)
|
||||||
|
)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(property "Reference" "C"
|
||||||
|
(at 0.635 2.54 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "C"
|
||||||
|
(at 0.635 -2.54 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 0.9652 -3.81 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Unpolarized capacitor"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_keywords" "cap capacitor"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_fp_filters" "C_*"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "C_0_1"
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy -2.032 0.762) (xy 2.032 0.762)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.508)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(polyline
|
||||||
|
(pts
|
||||||
|
(xy -2.032 -0.762) (xy 2.032 -0.762)
|
||||||
|
)
|
||||||
|
(stroke
|
||||||
|
(width 0.508)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "C_1_1"
|
||||||
|
(pin passive line
|
||||||
|
(at 0 3.81 270)
|
||||||
|
(length 2.794)
|
||||||
|
(name "~"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at 0 -3.81 90)
|
||||||
|
(length 2.794)
|
||||||
|
(name "~"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(embedded_fonts no)
|
||||||
|
)
|
||||||
|
(symbol "Regulator_Linear:AMS1117-3.3"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(property "Reference" "U"
|
||||||
|
(at -3.81 3.175 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "AMS1117-3.3"
|
||||||
|
(at 0 3.175 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-223-3_TabPin2"
|
||||||
|
(at 0 5.08 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "http://www.advanced-monolithic.com/pdf/ds1117.pdf"
|
||||||
|
(at 2.54 -6.35 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "1A Low Dropout regulator, positive, 3.3V fixed output, SOT-223"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_keywords" "linear regulator ldo fixed positive"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "ki_fp_filters" "SOT?223*TabPin2*"
|
||||||
|
(at 0 0 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "AMS1117-3.3_0_1"
|
||||||
|
(rectangle
|
||||||
|
(start -5.08 -5.08)
|
||||||
|
(end 5.08 1.905)
|
||||||
|
(stroke
|
||||||
|
(width 0.254)
|
||||||
|
(type default)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type background)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol "AMS1117-3.3_1_1"
|
||||||
|
(pin power_in line
|
||||||
|
(at -7.62 0 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "VI"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "3"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin power_in line
|
||||||
|
(at 0 -7.62 90)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "1"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin power_out line
|
||||||
|
(at 7.62 0 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "VO"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(number "2"
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(embedded_fonts no)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol
|
||||||
|
(lib_id "Device:C")
|
||||||
|
(at 127 63.5 0)
|
||||||
|
(unit 1)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(uuid "0b3358cc-069e-434e-a10d-4ff13ad42e74")
|
||||||
|
(property "Reference" "C2"
|
||||||
|
(at 130.81 62.2299 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "C"
|
||||||
|
(at 130.81 64.7699 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 127.9652 67.31 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 127 63.5 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Unpolarized capacitor"
|
||||||
|
(at 127 63.5 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin "2"
|
||||||
|
(uuid "ec3a1cec-710e-4b64-adae-011b8d276a1d")
|
||||||
|
)
|
||||||
|
(pin "1"
|
||||||
|
(uuid "f3b98695-d18c-4927-b958-1f2dadd7d630")
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project ""
|
||||||
|
(path "/f579dd88-b421-4fbc-bd0c-53cb7bf597e7/a01d76ba-9e94-49f2-aeb3-6c30b509b9b7"
|
||||||
|
(reference "C2")
|
||||||
|
(unit 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol
|
||||||
|
(lib_id "Regulator_Linear:AMS1117-3.3")
|
||||||
|
(at 88.9 62.23 0)
|
||||||
|
(unit 1)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(uuid "2380d301-85a6-4cc5-96d2-d51bf3f37595")
|
||||||
|
(property "Reference" "U1"
|
||||||
|
(at 88.9 55.88 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "AMS1117-3.3"
|
||||||
|
(at 88.9 58.42 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" "Package_TO_SOT_SMD:SOT-223-3_TabPin2"
|
||||||
|
(at 88.9 57.15 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "http://www.advanced-monolithic.com/pdf/ds1117.pdf"
|
||||||
|
(at 91.44 68.58 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "1A Low Dropout regulator, positive, 3.3V fixed output, SOT-223"
|
||||||
|
(at 88.9 62.23 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin "2"
|
||||||
|
(uuid "1ce80bd3-6af9-48a7-8f98-6eeb2461bf3c")
|
||||||
|
)
|
||||||
|
(pin "1"
|
||||||
|
(uuid "cbd19fae-c824-49d5-b4e7-fb620134441c")
|
||||||
|
)
|
||||||
|
(pin "3"
|
||||||
|
(uuid "10382763-59f9-442c-bcdc-bd1463965bf3")
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project ""
|
||||||
|
(path "/f579dd88-b421-4fbc-bd0c-53cb7bf597e7/a01d76ba-9e94-49f2-aeb3-6c30b509b9b7"
|
||||||
|
(reference "U1")
|
||||||
|
(unit 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol
|
||||||
|
(lib_id "Device:C")
|
||||||
|
(at 139.7 63.5 0)
|
||||||
|
(unit 1)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(uuid "a5a20cab-0eae-42ac-84fd-487e51eca11c")
|
||||||
|
(property "Reference" "C3"
|
||||||
|
(at 143.51 62.2299 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "C"
|
||||||
|
(at 143.51 64.7699 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 140.6652 67.31 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 139.7 63.5 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Unpolarized capacitor"
|
||||||
|
(at 139.7 63.5 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin "2"
|
||||||
|
(uuid "bc6c0443-2710-41e3-bb94-81cef26c38b1")
|
||||||
|
)
|
||||||
|
(pin "1"
|
||||||
|
(uuid "a064ec1b-3cda-434c-b503-0598eb8d8495")
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Midea_ESP"
|
||||||
|
(path "/f579dd88-b421-4fbc-bd0c-53cb7bf597e7/a01d76ba-9e94-49f2-aeb3-6c30b509b9b7"
|
||||||
|
(reference "C3")
|
||||||
|
(unit 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol
|
||||||
|
(lib_id "Device:C")
|
||||||
|
(at 152.4 63.5 0)
|
||||||
|
(unit 1)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(uuid "ed438dde-6aaa-4ee5-b8b0-34e01aa1d248")
|
||||||
|
(property "Reference" "C4"
|
||||||
|
(at 156.21 62.2299 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "C"
|
||||||
|
(at 156.21 64.7699 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 153.3652 67.31 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 152.4 63.5 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Unpolarized capacitor"
|
||||||
|
(at 152.4 63.5 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin "2"
|
||||||
|
(uuid "89bab3de-3566-4c7a-aa17-1b7261b99488")
|
||||||
|
)
|
||||||
|
(pin "1"
|
||||||
|
(uuid "b48059a8-8d10-4b63-b615-bcfa5828fcf3")
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Midea_ESP"
|
||||||
|
(path "/f579dd88-b421-4fbc-bd0c-53cb7bf597e7/a01d76ba-9e94-49f2-aeb3-6c30b509b9b7"
|
||||||
|
(reference "C4")
|
||||||
|
(unit 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(symbol
|
||||||
|
(lib_id "Device:C")
|
||||||
|
(at 69.85 62.23 90)
|
||||||
|
(unit 1)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(uuid "ffb9410f-8db1-4bc5-84c4-7ea23eb5e141")
|
||||||
|
(property "Reference" "C1"
|
||||||
|
(at 69.85 54.61 90)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Value" "C"
|
||||||
|
(at 69.85 57.15 90)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Footprint" ""
|
||||||
|
(at 73.66 61.2648 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Datasheet" "~"
|
||||||
|
(at 69.85 62.23 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Description" "Unpolarized capacitor"
|
||||||
|
(at 69.85 62.23 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(hide yes)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin "2"
|
||||||
|
(uuid "64093eb6-d3f5-452e-bd51-1e4ae024ef57")
|
||||||
|
)
|
||||||
|
(pin "1"
|
||||||
|
(uuid "1a8b624a-741c-40f4-b90a-c5600328281c")
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project ""
|
||||||
|
(path "/f579dd88-b421-4fbc-bd0c-53cb7bf597e7/a01d76ba-9e94-49f2-aeb3-6c30b509b9b7"
|
||||||
|
(reference "C1")
|
||||||
|
(unit 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
4
Midea_ESP/sym-lib-table
Normal file
4
Midea_ESP/sym-lib-table
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
(sym_lib_table
|
||||||
|
(version 7)
|
||||||
|
(lib (name "Midea_ESP")(type "KiCad")(uri "${KIPRJMOD}/libs/Midea_ESP.kicad_sym")(options "")(descr ""))
|
||||||
|
)
|
||||||
1
Midea_ESP/~Midea_ESP.kicad_sch.lck
Normal file
1
Midea_ESP/~Midea_ESP.kicad_sch.lck
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"hostname":"nrx-p340","username":"nearxos"}
|
||||||
43
README.md
Normal file
43
README.md
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Midea AC Controller PCB Design
|
||||||
|
|
||||||
|
This folder contains the KiCad project files and documentation for the custom Midea AC Controller PCB with BLE beacon capabilities.
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
PCB_Board/
|
||||||
|
├── Midea_ESP/ # KiCad project folder
|
||||||
|
│ ├── Midea_ESP.kicad_pro # KiCad project file
|
||||||
|
│ ├── Midea_ESP.kicad_sch # Schematic file
|
||||||
|
│ ├── Midea_ESP.kicad_pcb # PCB layout file
|
||||||
|
│ ├── libs/ # Custom component library
|
||||||
|
│ │ └── Midea_AC_Controller.kicad_sym # Custom symbols
|
||||||
|
│ ├── LIBRARY_SETUP.md # How to add libraries
|
||||||
|
│ └── COMPONENT_REFERENCE.md # Component quick reference
|
||||||
|
├── DESIGN_SPEC.md # Complete design specification
|
||||||
|
├── KICAD_GUIDE.md # Step-by-step KiCad guide
|
||||||
|
└── SCHEMATIC_CONNECTIONS.txt # Detailed connection list
|
||||||
|
```
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
1. **Setup Libraries**: See `Midea_ESP/LIBRARY_SETUP.md`
|
||||||
|
2. **Read Design Spec**: See `DESIGN_SPEC.md`
|
||||||
|
3. **Create Schematic**: Follow `KICAD_GUIDE.md`
|
||||||
|
4. **Reference Connections**: Use `SCHEMATIC_CONNECTIONS.txt`
|
||||||
|
|
||||||
|
## Key Components
|
||||||
|
|
||||||
|
- **ESP32-WROOM-32E**: Main microcontroller (WiFi + BLE)
|
||||||
|
- **TXB0104PWR**: Logic level shifter (3.3V ↔ 5V)
|
||||||
|
- **AMS1117-3.3**: Voltage regulator
|
||||||
|
- **JST-XH Connector**: Midea AC interface
|
||||||
|
|
||||||
|
## Documentation Files
|
||||||
|
|
||||||
|
- `DESIGN_SPEC.md`: Complete hardware design specification
|
||||||
|
- `KICAD_GUIDE.md`: Detailed KiCad schematic and PCB guide
|
||||||
|
- `SCHEMATIC_CONNECTIONS.txt`: Pin-to-pin connection reference
|
||||||
|
- `Midea_ESP/LIBRARY_SETUP.md`: Library setup instructions
|
||||||
|
- `Midea_ESP/COMPONENT_REFERENCE.md`: Component quick reference
|
||||||
|
|
||||||
196
SCHEMATIC_CONNECTIONS.txt
Normal file
196
SCHEMATIC_CONNECTIONS.txt
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
===============================================================================
|
||||||
|
KICAD SCHEMATIC CONNECTION LIST - Midea AC Controller with BLE Beacon
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
COMPONENT REFERENCE DESIGNATORS:
|
||||||
|
- U1: AMS1117-3.3 (Voltage Regulator)
|
||||||
|
- U2: ESP32-WROOM-32E (Main MCU)
|
||||||
|
- U3: TXB0104PWR (Logic Level Shifter)
|
||||||
|
- U4: CP2102N (USB-to-Serial, Optional)
|
||||||
|
- USB1: USB Micro-B (Power Input)
|
||||||
|
- USB2: USB Micro-B (Programming, Optional)
|
||||||
|
- J1: JST-XH 4-pin (Midea AC Connector)
|
||||||
|
- LED1: WiFi Status LED
|
||||||
|
- LED2: BLE Status LED
|
||||||
|
- SW1: Reset Button
|
||||||
|
- SW2: Boot Button
|
||||||
|
- R1-R4: Resistors
|
||||||
|
- C1-C10: Capacitors
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
POWER SUPPLY SECTION
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
USB1 (Micro-B Connector):
|
||||||
|
Pin 1 (VCC) → C1+ → U1.IN
|
||||||
|
Pin 1 (VCC) → C3+ → U1.IN
|
||||||
|
Pin 4 (GND) → GND
|
||||||
|
|
||||||
|
U1 (AMS1117-3.3):
|
||||||
|
IN → USB1.VCC (via C1, C3)
|
||||||
|
GND → GND
|
||||||
|
OUT → C2+ → 3V3_POWER_RAIL
|
||||||
|
OUT → C4+ → 3V3_POWER_RAIL
|
||||||
|
|
||||||
|
Power Rails:
|
||||||
|
3V3_POWER_RAIL → U2.VDD (all VDD pins)
|
||||||
|
3V3_POWER_RAIL → U3.VCCA
|
||||||
|
3V3_POWER_RAIL → R1 (LED1 pull-up)
|
||||||
|
3V3_POWER_RAIL → R2 (LED2 pull-up)
|
||||||
|
3V3_POWER_RAIL → R3 (Reset pull-up)
|
||||||
|
3V3_POWER_RAIL → R4 (Boot pull-up)
|
||||||
|
3V3_POWER_RAIL → U4.VDD (if USB-to-Serial included)
|
||||||
|
|
||||||
|
5V_POWER_RAIL → U3.VCCB (Level shifter high voltage side)
|
||||||
|
5V_POWER_RAIL → J1.Pin1 (if AC dongle needs power)
|
||||||
|
|
||||||
|
GND → Common ground (all GND pins connected)
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
ESP32-WROOM-32E CONNECTIONS
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
U2 (ESP32-WROOM-32E):
|
||||||
|
VDD Pins (1,3,14,21,22,27,28,33,42) → 3V3_POWER_RAIL
|
||||||
|
→ Each pin should have 100nF decoupling cap (C5-C13) to GND
|
||||||
|
|
||||||
|
GND Pins (2,4,13,15,20,23,26,29,34,38,40) → GND
|
||||||
|
|
||||||
|
GPIO17 (TX) → U3.A1 (Level Shifter LV1)
|
||||||
|
GPIO16 (RX) → U3.A2 (Level Shifter LV2)
|
||||||
|
|
||||||
|
GPIO2 → R1 → LED1.ANODE (WiFi Status LED)
|
||||||
|
GPIO4 → R2 → LED2.ANODE (BLE Status LED)
|
||||||
|
|
||||||
|
GPIO0 → SW2.Pin1 (Boot Button)
|
||||||
|
GPIO0 → R4 → 3V3_POWER_RAIL (Pull-up)
|
||||||
|
SW2.Pin2 → GND
|
||||||
|
|
||||||
|
EN → SW1.Pin1 (Reset Button)
|
||||||
|
EN → R3 → 3V3_POWER_RAIL (Pull-up)
|
||||||
|
SW1.Pin2 → GND
|
||||||
|
|
||||||
|
GPIO1 (TX) → U4.RXD (if USB-to-Serial included)
|
||||||
|
GPIO3 (RX) → U4.TXD (if USB-to-Serial included)
|
||||||
|
|
||||||
|
Decoupling Capacitors:
|
||||||
|
C5 → U2.VDD_Pin1 → GND (100nF)
|
||||||
|
C6 → U2.VDD_Pin3 → GND (100nF)
|
||||||
|
C7 → U2.VDD_Pin14 → GND (100nF)
|
||||||
|
C8 → U2.VDD_Pin21 → GND (100nF)
|
||||||
|
C9 → U2.VDD_Pin22 → GND (100nF)
|
||||||
|
C10 → U2.VDD_Pin27 → GND (100nF)
|
||||||
|
(Add more as needed for other VDD pins)
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
LOGIC LEVEL SHIFTER (TXB0104PWR)
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
U3 (TXB0104PWR - TSSOP-14):
|
||||||
|
Pin 1 (A1) → U2.GPIO17 (ESP32 TX - Low Voltage)
|
||||||
|
Pin 2 (A2) → U2.GPIO16 (ESP32 RX - Low Voltage)
|
||||||
|
Pin 3 (A3) → NC (Not Connected)
|
||||||
|
Pin 4 (A4) → NC (Not Connected)
|
||||||
|
Pin 5 (GND) → GND
|
||||||
|
Pin 6 (B4) → NC (Not Connected)
|
||||||
|
Pin 7 (B3) → NC (Not Connected)
|
||||||
|
Pin 8 (B2) → J1.Pin3 (AC Dongle TX - High Voltage)
|
||||||
|
Pin 9 (B1) → J1.Pin2 (AC Dongle RX - High Voltage)
|
||||||
|
Pin 10 (OE) → 3V3_POWER_RAIL (Output Enable - Always High)
|
||||||
|
Pin 11 (VCCB) → 5V_POWER_RAIL (High Voltage Side Power)
|
||||||
|
Pin 12 (VCCA) → 3V3_POWER_RAIL (Low Voltage Side Power)
|
||||||
|
Pin 13 (GND) → GND
|
||||||
|
Pin 14 (GND) → GND
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
MIDEA AC CONNECTOR
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
J1 (JST-XH 4-pin or USB Type-A Female):
|
||||||
|
Pin 1 (VCC) → 5V_POWER_RAIL (if AC dongle needs power)
|
||||||
|
Pin 2 (RX) → U3.B1 (Level Shifter HV1)
|
||||||
|
Pin 3 (TX) → U3.B2 (Level Shifter HV2)
|
||||||
|
Pin 4 (GND) → GND
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
USB-TO-SERIAL (OPTIONAL - FOR PROGRAMMING)
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
U4 (CP2102N - QFN-24):
|
||||||
|
VDD → 3V3_POWER_RAIL
|
||||||
|
GND → GND
|
||||||
|
DTR → U2.GPIO0 (Auto-reset for flashing)
|
||||||
|
RXD → U2.GPIO1 (ESP32 TX)
|
||||||
|
TXD → U2.GPIO3 (ESP32 RX)
|
||||||
|
VBUS → USB2.VCC (5V detection)
|
||||||
|
D+ → USB2.D+
|
||||||
|
D- → USB2.D-
|
||||||
|
|
||||||
|
USB2 (Micro-B Connector):
|
||||||
|
VCC → U4.VBUS
|
||||||
|
D+ → U4.D+
|
||||||
|
D- → U4.D-
|
||||||
|
GND → GND
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
STATUS LEDs
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
LED1 (WiFi Status - GPIO2):
|
||||||
|
ANODE → R1 → U2.GPIO2
|
||||||
|
CATHODE → GND
|
||||||
|
(R1 = 220Ω for ~15mA current)
|
||||||
|
|
||||||
|
LED2 (BLE Status - GPIO4):
|
||||||
|
ANODE → R2 → U2.GPIO4
|
||||||
|
CATHODE → GND
|
||||||
|
(R2 = 220Ω for ~15mA current)
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
BUTTONS
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
SW1 (Reset Button):
|
||||||
|
Pin 1 → U2.EN
|
||||||
|
Pin 2 → GND
|
||||||
|
(R3 = 10kΩ pull-up: U2.EN → 3V3_POWER_RAIL)
|
||||||
|
|
||||||
|
SW2 (Boot/Flash Button):
|
||||||
|
Pin 1 → U2.GPIO0
|
||||||
|
Pin 2 → GND
|
||||||
|
(R4 = 10kΩ pull-up: U2.GPIO0 → 3V3_POWER_RAIL)
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
NET NAMES (FOR KICAD)
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
Power Nets:
|
||||||
|
+3V3, +5V, GND
|
||||||
|
|
||||||
|
Signal Nets:
|
||||||
|
ESP32_TX (U2.GPIO17 → U3.A1)
|
||||||
|
ESP32_RX (U2.GPIO16 → U3.A2)
|
||||||
|
AC_TX (U3.B2 → J1.Pin3)
|
||||||
|
AC_RX (U3.B1 → J1.Pin2)
|
||||||
|
ESP32_UART_TX (U2.GPIO1 → U4.RXD) [if USB-to-Serial]
|
||||||
|
ESP32_UART_RX (U2.GPIO3 → U4.TXD) [if USB-to-Serial]
|
||||||
|
WIFI_LED (U2.GPIO2 → R1 → LED1)
|
||||||
|
BLE_LED (U2.GPIO4 → R2 → LED2)
|
||||||
|
RESET_NET (U2.EN → SW1 → R3)
|
||||||
|
BOOT_NET (U2.GPIO0 → SW2 → R4)
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
NOTES:
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
1. All GND pins must be connected to common ground plane
|
||||||
|
2. Decoupling capacitors should be placed within 5mm of power pins
|
||||||
|
3. Level shifter requires both 3.3V (VCCA) and 5V (VCCB) power
|
||||||
|
4. ESP32 antenna area (top-right corner) needs 15mm clearance
|
||||||
|
5. USB-to-Serial section is optional but recommended for easy programming
|
||||||
|
6. If AC dongle doesn't need external power, J1.Pin1 can be left unconnected
|
||||||
|
7. All unused GPIO pins can be left floating or pulled to GND via 10kΩ
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user