===============================================================================
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Ω

===============================================================================


