14 KiB
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
Recommended Breadboard Sections
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
Maximum Recommended Lengths
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
Power Related
❌ 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
Signal Related
❌ 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!