# Simplified Wiring Diagram ## The Key Insight: One Driver for Everything! 🎯 **You only need ONE LM18200 H-Bridge driver** - it handles both DC and DCC modes. The ESP32 just sends different signals to the same pins depending on which mode you select: ``` ESP32-2432S028R β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ GPIO 18 ──PWM / DCC_A │───┐ GPIO 19 ──DIR / DCC_B │──── GPIO 23 ──BRAKE │──── GPIO 4 ──RELAY │───┼──→ To Relay Module GND ── │──── 5V ── │──── β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ ↓ LM18200 H-Bridge β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” GPIO 18 ──── PWM Input β”‚ GPIO 19 ──── DIR Input β”‚ GPIO 23 ──── BRAKE β”‚ GND ──── GND β”‚ 5V ──── VCC (logic) β”‚ 12-18V ──── VS (power) β”‚ β”‚ β”‚ β”‚ OUT1 OUT2 β”‚ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”˜ β”‚ β”‚ ↓ ↓ Track Rail 1 & 2 ``` ## How It Works ### DC Analog Mode When you select **DC Analog** mode in the UI: - GPIO 18 outputs **20kHz PWM** (0-100% duty cycle for speed) - GPIO 19 outputs **HIGH or LOW** (sets direction: FWD or REV) - LM18200 amplifies this to create variable DC voltage on the track - Your DC locomotive responds to the voltage ### DCC Digital Mode When you select **DCC** mode in the UI: - GPIO 18 outputs **DCC Signal A** (square wave: 58ΞΌs or 100ΞΌs pulses) - GPIO 19 outputs **DCC Signal B** (inverted version of Signal A) - LM18200 amplifies these to create DCC waveform on the track - Your DCC decoder locomotive responds to the digital commands ## Complete Connection List ### LM18200 to ESP32 | LM18200 Pin | ESP32 GPIO | Purpose | |-------------|------------|---------| | PWM Input | 18 | Speed (DC) / DCC Signal A (DCC) | | Direction Input | 19 | Direction (DC) / DCC Signal B (DCC) | | Brake Input | 23 | Emergency stop | | GND | GND | Ground reference | | VCC (logic) | 5V | Control logic power | ### LM18200 Power & Outputs | LM18200 Pin | Connection | Purpose | |-------------|------------|---------| | VS (motor power) | 12-18V supply + | High current power | | GND (power) | 12-18V supply - | Power ground | | OUT1 | Track Rail 1 | Amplified output | | OUT2 | Track Rail 2 | Amplified output | ### Relay Module (2-rail/3-rail switching) | Relay Pin | ESP32 GPIO | Purpose | |-----------|------------|---------| | Signal IN | 4 | Relay control | | VCC | 5V | Relay power | | GND | GND | Ground | ### Power Supply Connections ``` 12-18V Power Supply β”œβ”€β†’ LM18200 VS (motor power) β”œβ”€β†’ DC-DC Buck Converter β†’ 5V β†’ ESP32 + Relay + LM18200 VCC └─→ GND (common ground) ``` ## Why This Works The LM18200 is just an amplifier. It doesn't care if you're feeding it: - PWM signals (for DC speed control) - DCC square waves (for digital commands) It simply takes the 3.3V logic signals from the ESP32 and amplifies them to track voltage (12-18V). **In DC mode**: The amplified PWM creates variable DC voltage **In DCC mode**: The amplified square waves create the DCC signal ## Safety Notes βœ… **Always power OFF before switching modes** (automatic in the UI) βœ… **Common ground** - All GND connections must be tied together βœ… **Heat sink** - LM18200 can get hot, use appropriate heat sinking βœ… **Fusing** - Add fuse on track output for overcurrent protection ## No Separate DCC Booster Needed! You do **NOT** need: - ❌ Separate DCC booster circuit - ❌ Different outputs for DC vs DCC - ❌ Mode selection switches in hardware Everything is handled in software by the ESP32 touchscreen UI. --- **Bottom Line**: Wire up ONE LM18200, and you're done. The ESP32 software handles the rest!