Skip to content
PyVESC is an easy to use and robust Python implementation of the VESC - Open Source ESC communication protocol
Branch: master
Clone or download
LiamBindle Merge pull request #9 from jk213509/master
Added CAN message forwarding
Latest commit 91c9ed4 Dec 13, 2017


PyVESC Build Status Documentation Status

PyVESC is aimed at being a easy to use and robust python implementation of the communication protocol used by the VESC - Open Source ESC by Benjamin Vedder. Its a great project with a really great community and I'd urge anyone interested in motor controllers to take a look at it.

That being said, if you're here you probably already know about it. This small project was written by Liam Bindle for the University of Saskatchewan Space Design Team as our primary language for non-embedded system is Python. You might wonder why you might need a library to handling packing and parsing VESC messages since Pythons standard struct module is great for almost exaclty this. PyVESC's usefulness comes from the fact that PyVESC is:

  • Well tested
  • Robust in handling corrupt packets in a buffer
  • Messages are easily extensible so that PyVESC can be used as a generic message/codec protocol (ie. at the USST we use PyVESC for sending messages to all of our embedded systems)
  • Implements a number of common-error catching exceptions to speed up your development


For the latest version of PyVESC's documentation Read The Docs


Obviously this is just a quick and dirty project; however, if you have any ideas, critiques or changes just let me know or submit a pull request.


Just like VESC, PyVESC is distributed under a Creative Commons ShareALike 4.0 International License.

You can’t perform that action at this time.