VESC Express
The VESC Express is the WiFi and Bluetooth module for VESC, and it also handles logging and IO. It sits on the same CAN bus as your motor controller, so an app connected to the Express can reach the controller and other CAN devices through it.
Key facts
- Chips: the firmware runs on ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-S31 and ESP32-P4. Several commercial products ship this firmware under their own names, including VESC BMS boards such as the VBMS32.
- Firmware updates: through VESC Tool's bootloader page, like a controller.
- WiFi modes: WiFi Disabled, Station (joins your network) and Access Point (makes its own network, called "VESC WiFi" by default).
The settings that matter for Remote Connect
These are the setting names VESC Tool shows in the Express's configuration:
| Setting | Set it to | Default |
|---|---|---|
| WiFi Mode | Station | depends on hardware (often disabled) |
| Station Mode SSID / Key | your WiFi or phone-hotspot name and password | empty |
| Enable TCP Hub | on | off |
| TCP Hub URL | vesc.tools | veschub.vedder.se |
| TCP Hub Port | 65101 | 65101 |
| TCP Hub ID | the ID from Share my board | express1 |
| TCP Hub Password | the password from Share my board | empty |
Source: comm_wifi.c and the hardware settings XML files in vesc_express. The hub client sends VESC:<id>:<password> and relays packets until the connection drops.
Gotchas
- Change the default ID. Hub IDs are shared by everyone on a hub, and a second board with the same ID kicks the first one off. Use the random ID that Share my board generates.
- Use 2.4 GHz. Most ESP32 chips only support 2.4 GHz WiFi. On an iPhone hotspot, turn on Maximize Compatibility so the hotspot uses 2.4 GHz.
- Hub mode needs internet. It needs Station mode on a network with internet access. In Access Point mode the Express has no route to the hub.
- It's a plain TCP link. The upstream hub protocol isn't encrypted, so treat the password as a short-lived share code and turn the hub off when you're done.