Skip to content

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.

  • 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

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:

ModuleNotes
NRF51822Original VESC BLE module, widely available
NRF52832 / NRF52840Improved range and throughput
ESP32 C3Budget-friendly alternative
MakerX / Flipsky BLE modulesPre-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.

The VESC profile in Cyclosonics offers multiple telemetry inputs. You can choose which value drives the Cyclosonics throttle parameter:

InputDescription
Duty CycleVoltage control signal to the motor (0–100%). Responds directly to throttle input.
Motor CurrentActual current draw in amps. Reflects load and torque — changes with terrain, acceleration, and resistance.
RPMMotor 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.

  1. Power on your VESC controller (ensure the BLE module LED is active)
  2. Open Cyclosonics → Setup page
  3. Tap Discover Input Devices
  4. Select the VESC controller from the discovered devices list
  5. Wait for the connection to establish
  6. Choose your preferred telemetry input (Duty Cycle, Motor Current, or RPM)
  • 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.