VESC Setup
VESC Setup
Section titled “VESC Setup”VESC (Vedder Electronic Speed Controller) is an open-source motor controller created by Benjamin Vedder. It’s widely used across e-bikes, electric skateboards, scooters, e-foils, and all kinds of DIY electric vehicle builds. Because the firmware and protocol are open source, VESC has become one of the most versatile and well-documented ESC platforms available.
Cyclosonics supports VESC controllers via BLE, with multiple telemetry input options that let you choose which data drives your sound.
Requirements
Section titled “Requirements”- VESC controller (any hardware version running VESC firmware)
- BLE UART module connected to the VESC’s UART port — typically an NRF51/52-based module or an ESP32 BLE bridge
- UART enabled on the VESC at 115200 baud (configured via VESC Tool)
- Controller powered on and within BLE range
BLE Module
Section titled “BLE Module”VESC controllers do not include built-in Bluetooth. An external BLE module is required, connected to the VESC’s UART port. The module acts as a BLE-UART bridge, making the VESC’s telemetry data available wirelessly.
Common BLE modules that work with VESC:
| Module | Notes |
|---|---|
| NRF51822 | Original VESC BLE module, widely available |
| NRF52832 / NRF52840 | Improved range and throughput |
| ESP32 C3 | Budget-friendly alternative |
| MakerX / Flipsky BLE modules | Pre-built, plug-and-play options for VESC hardware |
If you already use VESC Tool over Bluetooth to configure your controller, your BLE module is compatible with Cyclosonics.
Telemetry Input Options
Section titled “Telemetry Input Options”The VESC profile in Cyclosonics offers multiple telemetry inputs. You can choose which value drives the Cyclosonics throttle parameter:
| Input | Description |
|---|---|
| Duty Cycle | Voltage control signal to the motor (0–100%). Responds directly to throttle input. |
| Motor Current | Actual current draw in amps. Reflects load and torque — changes with terrain, acceleration, and resistance. |
| RPM | Motor speed. Provides a direct relationship between wheel speed and sound. |
Select your preferred input on the Setup page after connecting. Each input produces a different relationship between your riding and your sound — experiment to find what feels right for your build and riding style.
Connecting
Section titled “Connecting”- Power on your VESC controller (ensure the BLE module LED is active)
- Open Cyclosonics → Setup page
- Tap Discover Input Devices
- Select the VESC controller from the discovered devices list
- Wait for the connection to establish
- Choose your preferred telemetry input (Duty Cycle, Motor Current, or RPM)
Troubleshooting
Section titled “Troubleshooting”- Can’t find the controller: Verify that your BLE module is properly connected to the VESC’s UART port and receiving power. The module’s LED should be illuminated. Ensure UART is enabled in VESC Tool at 115200 baud.
- Connection drops: Some BLE modules have limited range. Try moving your phone closer to the controller. NRF52-based modules generally offer better range than NRF51.
- Telemetry feels unresponsive: Try switching between Duty Cycle, Motor Current, and RPM inputs on the Setup page. Different inputs respond differently depending on your motor, gearing, and riding conditions.
- Already using VESC Tool over BLE: Only one BLE connection can be active at a time. Disconnect VESC Tool before connecting with Cyclosonics.
Resources
Section titled “Resources”- VESC Project — Official project site, documentation, and VESC Tool downloads
- VESC Firmware (GitHub) — Open-source firmware repository
- NRF52 BLE Module (GitHub) — BLE bridge firmware for NRF52 modules