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
This branch is 70 commits ahead of LiamBindle:master.

Latest commit

Latest commit fba9f0e Oct 16, 2018


Type Name Latest commit message Commit time
Failed to load latest commit information.
pyvesc float to int Oct 15, 2018
.gitignore updates for release 1.0.0 Feb 1, 2017
LICENSE.txt added pypi setup files Jan 29, 2017
README.MD Update README.MD Oct 15, 2018
motor1.xml Create motor1.xml Oct 14, 2018
requirements.txt readding requirements.txt Feb 1, 2017
setup.cfg added pypi setup files Jan 29, 2017 updated unit tests to not conflict with real message classes Apr 16, 2017


PyVESC Build Status Documentation Status

PyVESC (updated for modified Vesc Firmware 3.33 ( 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.