• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

Super VESC Display – Advanced Telemetry Display for VESC-based EV Projects

payalne

New here
Joined
Jan 20, 2025
Messages
10
Location
Krakow
Hi everyone!
I’d like to share a project that might be useful for many people here building e-bikes, e-scooters or other VESC-based vehicles. It’s called Super VESC Displayand it provides a powerful, modern telemetry interface for any VESC controller.

1764678791390.png

What it is

Super VESC Display is a touchscreen graphical dashboard based on the ESP32-S3 Touch LCD 4” (480×480) module.
Repo: GitHub - payalneg/Super_VESC_DIsplay: A LCD Display for VESC controllers

The display communicates with VESC via CAN bus and can also act as a BLE bridge for VESC Tool. It shows real-time telemetry and stores useful ride statistics.

Key Features

  • Real-time telemetry:
    Speed, battery voltage, current, power, motor/controller temperature, watt-hours used, amp-hours used, and more.
  • Accurate battery management:
    Supports setting battery capacity and uses actual consumption (Ah/Wh) to calculate state-of-charge and remaining range instead of relying only on voltage.
  • CAN bus support:
    Reliable wired communication with proper termination (120-ohm resistor). Works with standard VESC CAN setup.
  • Bluetooth LE (optional):
    Display can work as a BLE bridge for VESC Tool if needed.
  • Ride statistics:
    Tracks distance, energy consumption, average values, etc. Useful for frequent riders.
  • Touchscreen interface:
    Clean, modern UI with 4-inch IPS LCD. Easy to interact with, easy to expand.

Hardware

  • ESP32-S3 Touch LCD 4” (Waveshare) or a compatible board
  • CAN transceiver (if using CAN)
  • 120-ohm termination resistors where required
  • Optional BLE enabled in firmware

Firmware & Setup

  • Code is built with PlatformIO in VS Code.
  • Upload the firmware to the ESP32-S3 using USB.
  • Configure CAN bus or BLE depending on your setup.
  • Set battery parameters (capacity, number of cells, etc.) in the menu.

Why it’s useful

Compared to common DIY displays, Super VESC Display offers:
  • Higher-resolution UI
  • A more complete set of VESC telemetry
  • Accurate battery estimation
  • Touch controls and clean UX
  • CAN + BLE flexibility
  • Trip statistics that persist between rides
Ideal for high-performance builds or anyone who wants a dashboard that feels closer to something found in real vehicles.




Features not implemented yet

A few things are on the roadmap but not implemented at this stage:
  • Throttle and brake control
    Direct control of throttle and brake signals from the display is not supported yet.
  • Cadence-based throttle (pedal assist control)
    PAS-style throttle control based on pedal cadence is planned but currently not implemented.

Partially implemented

  • Phone notifications forwarding
    The display can technically receive and show phone notifications, but this feature is only partially implemented and not reliable enough to consider “finished”. Work in progress.
 
Hi everyone!
I’d like to share a project that might be useful for many people here building e-bikes, e-scooters or other VESC-based vehicles. It’s called Super VESC Displayand it provides a powerful, modern telemetry interface for any VESC controller.
Wow, nice work!

And open source!

Thanks for sharing, I may have to get an LCD touch dev module and try it out.
 
Nice! I'll check it out for sure, thank you for opening the firmware!
 
Looks great, will order the waveshare esp32 to try it out. I think this is the first home made display I've seen for the vesc that uses can.
 
I make some changes and updates to my bikes VESC
1. Added lisp code for the cruise control and show it's parameters on the display
2. Fixed bug with Bluetooth connection and updating LISP code
3. Added 3d model (STEP + STL)

Enjoy!

1767627631409.png
 

Features not implemented yet

A few things are on the roadmap but not implemented at this stage:
  • Throttle and brake control
    Direct control of throttle and brake signals from the display is not supported yet.
  • Cadence-based throttle (pedal assist control)
    PAS-style throttle control based on pedal cadence is planned but currently not implemented.
Very interesting project. I think it would be useful to also implement torque sensor support, in addition to PASS algorithms.
 
Very interesting project. I think it would be useful to also implement torque sensor support, in addition to PASS algorithms.
I just did this for my tsdz8 a few days ago. Using original controller with a custom fw build just to read torque sensor and send it through UART. Made my own vesc display prototype like op but with the 7" inch touch instead. Torque sensor at 2000 watts feels like you're superman hahaha.
@payalne UI looks sexy btw 😎 how's your performance? Do you use lvgl? My 800x480 res is a bit too hard on my poor S3 I have to use a small dma buffer to feed frame buffer is psram that's fast scrolling menus and my diagnostic line graphs but my dashboard still drops FPS when my duty hits a certain threshold idk if I need to work more on buffers or just bad choices for graphics lol
 
Back
Top