252 lines
8.2 KiB
Markdown
252 lines
8.2 KiB
Markdown
# WiFiX-Enhanced Complete Pin Chart
|
|
|
|
## 📋 Quick Reference Table
|
|
|
|
### ESP32 DevKit Pin Assignments
|
|
|
|
| Function | GPIO | Physical Pin | Description | Connected To |
|
|
|----------|------|--------------|-------------|---------------|
|
|
| **I2C OLED Display** |
|
|
| OLED SDA | 21 | D21 | I2C Data | OLED SDA |
|
|
| OLED SCL | 22 | D22 | I2C Clock | OLED SCL |
|
|
| OLED VCC | 3.3V | 3V3 | 3.3V Power | OLED VCC |
|
|
| OLED GND | GND | GND | Ground | OLED GND |
|
|
| **SPI SD Card Module** |
|
|
| SD MOSI | 23 | D23 | SPI Master Out | SD MOSI |
|
|
| SD MISO | 19 | D19 | SPI Master In | SD MISO |
|
|
| SD CLK | 18 | D18 | SPI Clock | SD CLK |
|
|
| SD CS | 5 | D5 | Chip Select | SD CS |
|
|
| SD VCC | 3.3V | 3V3 | 3.3V Power | SD VCC |
|
|
| SD GND | GND | GND | Ground | SD GND |
|
|
| **BW16 Module UART** |
|
|
| BW16 TX | 17 | TX2 | UART Transmit | BW16 RX |
|
|
| BW16 RX | 16 | RX2 | UART Receive | BW16 TX |
|
|
| BW16 GND | GND | GND | Common Ground | BW16 GND |
|
|
| **Status LED (Optional)** |
|
|
| STATUS LED | 2 | D2 | Built-in LED | Onboard LED |
|
|
| **Power & Ground** |
|
|
| 3.3V Power | 3.3V | 3V3 | 3.3V Output | Modules |
|
|
| Ground | GND | GND | Ground | Common Ground |
|
|
|
|
## 🔧 Detailed Wiring Diagrams
|
|
|
|
### ESP32 DevKit V1 (30-pin) Layout
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ ESP32 DevKit V1 │
|
|
├─────────────────────────────────────┤
|
|
│ 3.3V [●] [ ] VIN │
|
|
│ GND [●] [ ] GND │
|
|
│ D35 [ ] [ ] D23 → SD MOSI │
|
|
│ D32 [ ] [ ] D22 → OLED SCL │
|
|
│ D33 [ ] [ ] D21 → OLED SDA │
|
|
│ D25 [ ] [ ] D19 → SD MISO │
|
|
│ D26 [ ] [ ] D18 → SD CLK │
|
|
│ D27 [ ] [ ] D5 → SD CS │
|
|
│ D14 [ ] [ ] D17 → BW16 TX │
|
|
│ D12 ] [ ] [ ] D16 → BW16 RX │
|
|
│ GND [●] [ ] D4 │
|
|
│ D13 [ ] [●] D2 → STATUS LED │
|
|
│ D9 [ ] [ ] D15 │
|
|
│ D10 [ ] [ ] D8 │
|
|
│ D11 [ ] [ ] D7 │
|
|
│ 3.3V [●] [ ] GND │
|
|
│ EN [●] [ ] 5V │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
### OLED Display (128x64 I2C SSD1306)
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ OLED Display │
|
|
├─────────────────────────────────────┤
|
|
│ VCC [●] ──→ 3.3V (ESP32) │
|
|
│ GND [●] ──→ GND (ESP32) │
|
|
│ SCL [●] ──→ GPIO22 (ESP32) │
|
|
│ SDA [●] ──→ GPIO21 (ESP32) │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
### SD Card Module (SPI)
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ SD Card Module │
|
|
├─────────────────────────────────────┤
|
|
│ VCC [●] ──→ 3.3V (ESP32) │
|
|
│ GND [●] ──→ GND (ESP32) │
|
|
│ MISO [●] ←── GPIO19 (ESP32) │
|
|
│ MOSI [●] ──→ GPIO23 (ESP32) │
|
|
│ SCK [●] ──→ GPIO18 (ESP32) │
|
|
│ CS [●] ──→ GPIO5 (ESP32) │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
### BW16 Module Pinout
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ BW16 Module │
|
|
├─────────────────────────────────────┤
|
|
│ 3.3V [●] ──→ 3.3V (ESP32) │
|
|
│ GND [●] ──→ GND (ESP32) │
|
|
│ TX [●] ──→ GPIO16 (ESP32 RX) │
|
|
│ RX [●] ←── GPIO17 (ESP32 TX) │
|
|
│ EN [●] ──→ 3.3V (Pull-high) │
|
|
│ RST [●] ──→ NC (Optional) │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
## 🎯 Step-by-Step Wiring Instructions
|
|
|
|
### Phase 1: Power Connections
|
|
1. **ESP32 Power**
|
|
- Connect ESP32 3.3V to breadboard positive rail
|
|
- Connect ESP32 GND to breadboard negative rail
|
|
|
|
2. **Common Ground**
|
|
- Ensure all modules share common ground with ESP32
|
|
|
|
### Phase 2: I2C OLED Display
|
|
1. **OLED VCC** → ESP32 3.3V
|
|
2. **OLED GND** → ESP32 GND
|
|
3. **OLED SDA** → ESP32 GPIO21 (Pin 21)
|
|
4. **OLED SCL** → ESP32 GPIO22 (Pin 22)
|
|
|
|
### Phase 3: SPI SD Card Module
|
|
1. **SD VCC** → ESP32 3.3V
|
|
2. **SD GND** → ESP32 GND
|
|
3. **SD MOSI** → ESP32 GPIO23 (Pin 23)
|
|
4. **SD MISO** → ESP32 GPIO19 (Pin 19)
|
|
5. **SD CLK** → ESP32 GPIO18 (Pin 18)
|
|
6. **SD CS** → ESP32 GPIO5 (Pin 5)
|
|
|
|
### Phase 4: BW16 UART Connection
|
|
1. **BW16 VCC** → ESP32 3.3V
|
|
2. **BW16 GND** → ESP32 GND
|
|
3. **BW16 TX** → ESP32 GPIO16 (Pin 16)
|
|
4. **BW16 RX** → ESP32 GPIO17 (Pin 17)
|
|
|
|
### Phase 5: Optional Components
|
|
1. **Status LED**: Already on ESP32 GPIO2 (built-in)
|
|
2. **External Antenna**: Connect to BW16 antenna connector
|
|
3. **Reset Button**: Optional connection to ESP32 EN pin
|
|
|
|
## 🔍 Verification Steps
|
|
|
|
### 1. Continuity Test
|
|
```
|
|
Test with multimeter:
|
|
✓ ESP32 GND to all module GNDs
|
|
✓ ESP32 3.3V to all module VCCs
|
|
✓ Individual signal connections
|
|
```
|
|
|
|
### 2. Power-On Test
|
|
```
|
|
1. Connect USB to ESP32
|
|
2. Check 3.3V rail with multimeter
|
|
3. Verify no short circuits
|
|
4. Check current draw (<200mA normal)
|
|
```
|
|
|
|
### 3. Communication Test
|
|
```
|
|
# Serial Monitor Commands
|
|
help # Should show system info
|
|
status # Should show all modules detected
|
|
oled test # Should display test pattern
|
|
sd test # Should detect SD card
|
|
```
|
|
|
|
## ⚠️ Important Notes
|
|
|
|
### Power Supply Requirements
|
|
- **ESP32**: 3.3V @ 500mA minimum
|
|
- **BW16**: 3.3V @ 300mA peak
|
|
- **OLED**: 3.3V @ 20mA
|
|
- **SD Card**: 3.3V @ 100mA peak
|
|
- **Total**: 3.3V @ 1A recommended
|
|
|
|
### Signal Level Compatibility
|
|
- All modules are 3.3V logic level
|
|
- **DO NOT** connect 5V directly to ESP32 pins
|
|
- Use level shifters if interfacing with 5V devices
|
|
|
|
### Cable Length Considerations
|
|
- **I2C (OLED)**: Max 30cm at 100kHz
|
|
- **SPI (SD Card)**: Max 10cm at 8MHz
|
|
- **UART (BW16)**: Max 50cm at 115200 baud
|
|
|
|
### Troubleshooting Connections
|
|
|
|
#### OLED Not Displaying
|
|
```
|
|
1. Check I2C address (usually 0x3C)
|
|
2. Verify SDA/SCL not swapped
|
|
3. Test with I2C scanner sketch
|
|
4. Check pull-up resistors (4.7kΩ if needed)
|
|
```
|
|
|
|
#### SD Card Not Detected
|
|
```
|
|
1. Verify SPI connections
|
|
2. Check CS pin configuration
|
|
3. Test with different SD card
|
|
4. Format SD card as FAT32
|
|
5. Check power supply stability
|
|
```
|
|
|
|
#### BW16 Not Responding
|
|
```
|
|
1. Verify UART connections (TX→RX, RX→TX)
|
|
2. Check baud rate (115200)
|
|
3. Test with serial loopback
|
|
4. Verify BW16 firmware is loaded
|
|
5. Check antenna connection
|
|
```
|
|
|
|
## 📊 Pin Usage Summary
|
|
|
|
### Used GPIOs (ESP32)
|
|
- **GPIO5**: SD Card CS
|
|
- **GPIO16**: BW16 UART RX
|
|
- **GPIO17**: BW16 UART TX
|
|
- **GPIO18**: SD Card CLK
|
|
- **GPIO19**: SD Card MISO
|
|
- **GPIO21**: OLED SDA
|
|
- **GPIO22**: OLED SCL
|
|
- **GPIO23**: SD Card MOSI
|
|
|
|
### Available GPIOs (Free)
|
|
- **GPIO0-4, 12-15, 25-27, 32-33**: Available for expansion
|
|
|
|
### Special Pins
|
|
- **GPIO2**: Built-in LED (status indicator)
|
|
- **GPIO6-11**: Connected to flash (avoid using)
|
|
- **GPIO34-39**: Input only (no output capability)
|
|
|
|
## 🔧 Expansion Options
|
|
|
|
### Additional Modules (Free Pins)
|
|
```
|
|
GPIO0 → Button (boot mode)
|
|
GPIO4 → Sensor input
|
|
GPIO13 → Additional LED
|
|
GPIO15 → Buzzer
|
|
GPIO25 → Relay control
|
|
GPIO26 → PWM output
|
|
GPIO27 → Additional UART
|
|
GPIO32 → Capacitive touch
|
|
GPIO33 → Analog input
|
|
```
|
|
|
|
### I2C Expansion
|
|
```
|
|
Current: OLED on GPIO21/22
|
|
Available addresses: 0x20-0x27 (GPIO expander)
|
|
Available addresses: 0x40-0x4F (PWM driver)
|
|
Available addresses: 0x48-0x57 (ADC/DAC)
|
|
```
|
|
|
|
---
|
|
|
|
**Remember**: Double-check all connections before powering on. Use a multimeter to verify continuity and proper voltage levels. |