Files
bw16-research/WiFiX-Enhanced/WIRING_DIAGRAM.md

14 KiB

WiFiX-Enhanced Wiring Diagram

🔌 Complete Connection Map

Visual Wiring Layout

┌─────────────────────────────────────────────────────────────────────┐
│                    BREADBOARD LAYOUT                               │
├─────────────────────────────────────────────────────────────────────┤
│  Top Rail: 3.3V Power                                              │
│  Bottom Rail: GND                                                 │
└─────────────────────────────────────────────────────────────────────┘

┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   ESP32     │    │    OLED     │    │   SD CARD   │    │    BW16     │
│   DevKit    │    │  Display    │    │   Module    │    │   Module    │
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘

┌─────────────────────────────────────────────────────────────────────┐
│                    CONNECTION DETAILS                              │
├─────────────────────────────────────────────────────────────────────┤
│ Power Connections:                                                  │
│ ├─ ESP32 3.3V → Top Rail (+)                                       │
│ ├─ ESP32 GND → Bottom Rail (-)                                     │
│ ├─ Top Rail → OLED VCC, SD VCC, BW16 VCC                           │
│ └─ Bottom Rail → OLED GND, SD GND, BW16 GND                        │
│                                                                     │
│ Signal Connections:                                                 │
│ ├─ ESP32 GPIO21 → OLED SDA (Blue Wire)                            │
│ ├─ ESP32 GPIO22 → OLED SCL (Yellow Wire)                           │
│ ├─ ESP32 GPIO23 → SD MOSI (Green Wire)                             │
│ ├─ ESP32 GPIO19 → SD MISO (Orange Wire)                            │
│ ├─ ESP32 GPIO18 → SD CLK (Purple Wire)                             │
│ ├─ ESP32 GPIO5 → SD CS (White Wire)                                 │
│ ├─ ESP32 GPIO16 → BW16 TX (Gray Wire)                              │
│ └─ ESP32 GPIO17 → BW16 RX (Brown Wire)                             │
└─────────────────────────────────────────────────────────────────────┘

🎨 Color-Coded Wiring Scheme

Wire Color Standards

🔴 Red: Power (3.3V)
⚫ Black: Ground (GND)
🔵 Blue: I2C SDA
🟡 Yellow: I2C SCL
🟢 Green: SPI MOSI
🟠 Orange: SPI MISO
🟣 Purple: SPI CLK
⚪ White: SPI CS
🔘 Gray: UART TX
🟤 Brown: UART RX

Physical Wiring Map

ESP32 DevKit (30-pin) Layout:
┌─────────────────────────────────────────────────────────────────────┐
│ 3.3V [●]──────────────────────────────┐                            │
│ GND  [●]──────────────────────────────┼──┐                         │
│      [ ] [ ] D23 (MOSI) ────────┐     │  │                         │
│      [ ] [ ] D22 (SCL) ─────────┼──┐  │  │                         │
│      [ ] [ ] D21 (SDA) ─────────┼──┼──┤  │                         │
│      [ ] [ ] D19 (MISO) ────────┼──┤  │  │                         │
│      [ ] [ ] D18 (CLK) ─────────┼──┼──┤  │                         │
│      [ ] [ ] D5 (CS) ───────────┼──┼──┼──┤                        │
│      [ ] [ ] D17 (TX) ──────────┼──┼──┼──┼──┐                     │
│      [ ] [ ] D16 (RX) ──────────┼──┼──┼──┼──┼──┐                  │
│ GND  [●]──────────────────────────┼──┼──┼──┼──┼──┐               │
│      [ ] [●] D2 (LED)             │  │  │  │  │  │               │
│      [ ] [ ]                       │  │  │  │  │  │               │
│      [ ] [ ]                       │  │  │  │  │  │               │
│      [ ] [ ]                       │  │  │  │  │  │               │
│ 3.3V [●]──────────────────────────┼──┼──┼──┼──┼──┘               │
│ EN   [●]                             │  │  │  │  │                 │
└──────────────────────────────────────┼──┼──┼──┼──┘                 │
                                       │  │  │  │                    │
                                       ▼  ▼  ▼  ▼                    ▼
OLED Connections:                    SD Card:                    BW16:
┌─────────────┐                     ┌─────────────┐            ┌─────────────┐
│ VCC [●]─────┼─── Red Wire         │ VCC [●]─────┼─── Red     │ VCC [●]─────┼─── Red
to 3.3V Rail  │                     │ to 3.3V Rail│            │ to 3.3V Rail│
│ GND [●]─────┼─── Black Wire       │ GND [●]─────┼─── Black   │ GND [●]─────┼─── Black
to GND Rail   │                     │ to GND Rail │            │ to GND Rail │
│ SDA [●]─────┼─── Blue Wire        │ MOSI[●]─────┼─── Green   │ TX  [●]─────┼─── Gray
to GPIO21     │                     │ to GPIO23   │            │ to GPIO16   │
│ SCL [●]─────┼─── Yellow Wire      │ MISO[●]─────┼─── Orange  │ RX  [●]─────┼─── Brown
to GPIO22     │                     │ to GPIO19   │            │ to GPIO17   │
└─────────────┘                     │ CLK [●]─────┼─── Purple  └─────────────┘
                                      │ to GPIO18   │
                                      │ CS  [●]─────┼─── White
                                      │ to GPIO5    │
                                      └─────────────┘

🔧 Breadboard Layout

Full-Size Breadboard (830 tie-points):
┌─────────────────────────────────────────────────────────────────────┐
│ A1-A30: ESP32 DevKit                                                │
│ B1-B30: Power distribution                                          │
│ C1-C30: OLED Display connections                                    │
│ D1-D30: SD Card connections                                         │
│ E1-E30: BW16 connections                                            │
│ F1-F30: Spare/Expansion                                             │
│ G1-G30: Spare/Expansion                                             │
│ H1-H30: Spare/Expansion                                             │
│ I1-I30: Spare/Expansion                                             │
│ J1-J30: Spare/Expansion                                             │
└─────────────────────────────────────────────────────────────────────┘

Specific Layout:
┌─────────────────────────────────────────────────────────────────────┐
│ Row 1-5: Power rails (3.3V top, GND bottom)                        │
│ Row 6-10: ESP32 main placement                                      │
│ Row 11-15: OLED display area                                        │
│ Row 16-20: SD card module area                                      │
│ Row 21-25: BW16 module area                                         │
│ Row 26-30: Status LEDs/Expansion                                   │
└─────────────────────────────────────────────────────────────────────┘

📏 Wire Length Guidelines

I2C Connections (OLED):
├─ SDA: ≤30cm (12 inches)
├─ SCL: ≤30cm (12 inches)
└─ Use twisted pairs for longer runs

SPI Connections (SD Card):
├─ MOSI: ≤15cm (6 inches)
├─ MISO: ≤15cm (6 inches)
├─ CLK: ≤15cm (6 inches)
├─ CS: ≤15cm (6 inches)
└─ Keep all SPI wires same length

UART Connections (BW16):
├─ TX: ≤50cm (20 inches)
├─ RX: ≤50cm (20 inches)
└─ Use shielded cable for long runs

Power Connections:
├─ 3.3V: ≤10cm (4 inches) recommended
├─ GND: As short as possible
└─ Use thicker wire for power (22-24 AWG)

Power Distribution

Current Requirements by Module

ESP32 DevKit:
├─ Normal operation: 80-120mA
├─ WiFi active: 160-260mA
└─ Peak current: 500mA

BW16 Module:
├─ Normal operation: 60-100mA
├─ WiFi active: 120-200mA
└─ Peak current: 300mA

OLED Display:
├─ Normal operation: 15-25mA
└─ All pixels on: 40mA

SD Card Module:
├─ Idle: 5-10mA
├─ Active: 50-100mA
└─ Peak current: 150mA

Total System:
├─ Average current: 200-300mA
├─ Peak current: 800-1000mA
└─ Recommended supply: 3.3V @ 1.5A

🔍 Testing Connections

Visual Inspection Checklist

✓ All power connections correct (3.3V, not 5V)
✓ Common ground established between all modules
✓ Signal wire colors match standard
✓ No loose connections or stray wire strands
✓ No short circuits between adjacent pins
✓ Wire insulation not damaged
✓ Breadboard connections firm

Continuity Testing

Use multimeter continuity mode:
1. ESP32 3.3V → each module VCC
2. ESP32 GND → each module GND
3. ESP32 GPIO21 → OLED SDA
4. ESP32 GPIO22 → OLED SCL
5. ESP32 GPIO23 → SD MOSI
6. ESP32 GPIO19 → SD MISO
7. ESP32 GPIO18 → SD CLK
8. ESP32 GPIO5 → SD CS
9. ESP32 GPIO16 → BW16 TX
10. ESP32 GPIO17 → BW16 RX

Power-On Test Sequence

Step 1: Power supply test
├─ Connect USB to ESP32
├─ Measure 3.3V rail: 3.2-3.4V expected
├─ Measure total current: <100mA expected
└─ Check for hot components

Step 2: Module detection
├─ Upload test sketch
├─ Check serial output
├─ Verify OLED display
├─ Test SD card detection
└─ Confirm BW16 communication

Step 3: Full system test
├─ Upload main firmware
├─ Check WiFi network appears
├─ Test captive portal
├─ Verify credential storage
└─ Confirm all features working

🚨 Common Wiring Mistakes

❌ Using 5V instead of 3.3V → WILL DAMAGE MODULES
❌ Insufficient power supply → Unstable operation
❌ Missing common ground → Communication failures
❌ Long power wires → Voltage drop issues
❌ Swapped TX/RX connections → No communication
❌ I2C pull-up resistors missing → Unreliable operation
❌ SPI wires too long → Data corruption
❌ Crossed signal wires → Interference

Mechanical

❌ Loose breadboard connections → Intermittent faults
❌ Wire strands touching → Short circuits
❌ Insufficient wire gauge → Voltage drop
❌ Poor strain relief → Broken connections

🔧 Troubleshooting Wiring Issues

System Won't Power On

1. Check power supply voltage (3.3V ±5%)
2. Verify polarity (no reversed connections)
3. Test for short circuits (multimeter)
4. Check current draw (should be <100mA idle)
5. Inspect for damaged components

OLED Display Not Working

1. Verify I2C connections (SDA/SCL not swapped)
2. Check I2C address (usually 0x3C)
3. Test with I2C scanner sketch
4. Add pull-up resistors (4.7kΩ) if needed
5. Check power supply stability

SD Card Not Detected

1. Verify all SPI connections
2. Check CS pin configuration
3. Test with different SD card
4. Format card as FAT32
5. Check SPI speed (try slower)

BW16 Not Communicating

1. Verify TX/RX connections (crossover)
2. Check baud rate (115200)
3. Test with serial loopback
4. Verify BW16 firmware loaded
5. Check antenna connection

Remember: Measure twice, cut once. Double-check all connections before powering on!