ESP32 TCP-to-UART bridge for VESC controllers with mDNS support.
- WiFi Client and Access Point modes
- mDNS discovery (accessible as
vesc-bridge.local) - Optimized for real-time data
- HardwareSerial 2 on standard pins (RX: 16, TX: 17)
- Download Arduino IDE
- Install ESP32 board support: Instructions
- Copy
CircularBufferfolder to Arduino libraries:Documents/Arduino/libraries/ - Configure in
vesc_wifi.ino:- Line 12: mDNS hostname (default:
"vesc-bridge") - Line 15-16: WiFi SSID and password
- Line 17: TCP port (default: 65102)
- Line 21: Set
preferAPModetotruefor AP mode (it creates it's own "wifi hotspot"),falsefor client mode (connect to existing network).
- Line 12: mDNS hostname (default:
- Upload to ESP32 (hold EN/RESET button if upload fails)
- VESC RX → ESP32 GPIO 17 (TX)
- VESC TX → ESP32 GPIO 16 (RX)
- VESC 5V → ESP32 VIN
- Optional: 10µF capacitor between V+ and GND for voltage stability
Client Mode (default): Connects to your WiFi network. Falls back to AP mode if connection fails.
Access Point Mode: Creates WiFi network with configured SSID.
Connection:
- Via mDNS:
vesc-bridge.local:65102 - Via IP: Check Serial monitor for assigned IP address
Use detect_vesc_bridge.py to discover the device:
python detect_vesc_bridge.pyWarning: Do not use for firmware updates. Use only for monitoring and configuration.