An open source motor controller firmware.
This is the source code for the VESC DC/BLDC/FOC controller. Read more at https://vesc-project.com/
All of them!
Check the supported boards by typing make
[Firmware]
fw - Build firmware for default target
supported boards are: 100_250 100_250_no_limits 100_500...
There are also many other options that can be changed in conf_general.h.
git, wget, and makelibgl-dev and libxcb-xinerama0sudo apt install git build-essential libgl-dev libxcb-xinerama0 wget git-gui
brew install stlink
brew install openocd
Open up a terminal
git clone http://github.com/vedderb/bldc.gitcd bldcchoco install makegit clone http://github.com/vedderb/bldccd bldcgit checkout origin/mastermake arm_sdk_installmake <-- Pick out the name of your target device from the supported boards list. For instance, I have a Trampa VESC 100/250, so my target is 100_250make 100_250 <-- This will build the VESC 100/250 firmware and place it into the bldc/builds/100_250/ directoryNix is a build tool which manages all dependencies. With Nix flakes enabled, build the general-purpose firmware package from the repository root.
nix build .#bldc-fw
The packaged firmware and res_fw.qrc are available under result/.
All boards are built by default. make *_flash helpers are not supported with nix.
Linux Optional - Add udev rules to use the stlink v2 programmer without being root
wget vedder.se/Temp/49-stlinkv2.rules
sudo mv 49-stlinkv2.rules /etc/udev/rules.d/
sudo udevadm trigger
python3, and pippip install aqtinstallmake qt_installtools/Qt/Tools/QtCreator/bin/qtcreatorProject/Qt Creator/vesc.pro_flash to the target of your choice. So for instance, for the VESC 100/250:make 100_250_flash
In VESC tool
build/100_250/100_250.bin)you will need to upload a new working firmware to the VESC.
However, to upload a firmware to a bricked VESC, you have to use a SWD Debugger.
Head to the forums to get involved and improve this project. Join the Discord for real-time support and chat
Every firmware release has a tag. They are created as follows:
git tag -a [version] [commit] -m "VESC Firmware Version [version]"
git push --tags
The software is released under the GNU General Public License version 3.0
(top 30 of 97)
C
78.5%
C++
8.5%
Common Lisp
4.6%
NewLisp
2.2%
Assembly
1.3%
QML
1.1%
An open source motor controller firmware.
This is the source code for the VESC DC/BLDC/FOC controller. Read more at https://vesc-project.com/
All of them!
Check the supported boards by typing make
[Firmware]
fw - Build firmware for default target
supported boards are: 100_250 100_250_no_limits 100_500...
There are also many other options that can be changed in conf_general.h.
git, wget, and makelibgl-dev and libxcb-xinerama0sudo apt install git build-essential libgl-dev libxcb-xinerama0 wget git-gui
brew install stlink
brew install openocd
Open up a terminal
git clone http://github.com/vedderb/bldc.gitcd bldcchoco install makegit clone http://github.com/vedderb/bldccd bldcgit checkout origin/mastermake arm_sdk_installmake <-- Pick out the name of your target device from the supported boards list. For instance, I have a Trampa VESC 100/250, so my target is 100_250make 100_250 <-- This will build the VESC 100/250 firmware and place it into the bldc/builds/100_250/ directoryNix is a build tool which manages all dependencies. With Nix flakes enabled, build the general-purpose firmware package from the repository root.
nix build .#bldc-fw
The packaged firmware and res_fw.qrc are available under result/.
All boards are built by default. make *_flash helpers are not supported with nix.
Linux Optional - Add udev rules to use the stlink v2 programmer without being root
wget vedder.se/Temp/49-stlinkv2.rules
sudo mv 49-stlinkv2.rules /etc/udev/rules.d/
sudo udevadm trigger
python3, and pippip install aqtinstallmake qt_installtools/Qt/Tools/QtCreator/bin/qtcreatorProject/Qt Creator/vesc.pro_flash to the target of your choice. So for instance, for the VESC 100/250:make 100_250_flash
In VESC tool
build/100_250/100_250.bin)you will need to upload a new working firmware to the VESC.
However, to upload a firmware to a bricked VESC, you have to use a SWD Debugger.
Head to the forums to get involved and improve this project. Join the Discord for real-time support and chat
Every firmware release has a tag. They are created as follows:
git tag -a [version] [commit] -m "VESC Firmware Version [version]"
git push --tags
The software is released under the GNU General Public License version 3.0
(top 30 of 97)
C
78.5%
C++
8.5%
Common Lisp
4.6%
NewLisp
2.2%
Assembly
1.3%
QML
1.1%