2019-01-26 20:11:45 -08:00
|
|
|
# VESC firmware
|
|
|
|
|
|
|
|
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
|
2019-02-19 14:14:54 -08:00
|
|
|
[![Travis CI Status](https://travis-ci.com/vedderb/bldc.svg?branch=master)](https://travis-ci.com/vedderb/bldc)
|
2019-02-19 12:35:03 -08:00
|
|
|
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/75e90ffbd46841a3a7be2a9f7a94c242)](https://www.codacy.com/app/vedderb/bldc?utm_source=github.com&utm_medium=referral&utm_content=vedderb/bldc&utm_campaign=Badge_Grade)
|
2019-01-26 20:11:45 -08:00
|
|
|
[![Contributors](https://img.shields.io/github/contributors/vedderb/bldc.svg)](https://github.com/vedderb/bldc/graphs/contributors)
|
|
|
|
[![Watchers](https://img.shields.io/github/watchers/vedderb/bldc.svg)](https://github.com/vedderb/bldc/watchers)
|
|
|
|
[![Stars](https://img.shields.io/github/stars/vedderb/bldc.svg)](https://github.com/vedderb/bldc/stargazers)
|
|
|
|
[![Forks](https://img.shields.io/github/forks/vedderb/bldc.svg)](https://github.com/vedderb/bldc/network/members)
|
|
|
|
|
|
|
|
An open source motor controller firmware.
|
2019-01-25 15:07:33 -08:00
|
|
|
|
2019-09-21 07:59:26 -07:00
|
|
|
This is the source code for the VESC DC/BLDC/FOC controller. Read more at
|
2019-02-19 09:55:18 -08:00
|
|
|
[https://vesc-project.com/](https://vesc-project.com/)
|
2019-01-26 20:11:45 -08:00
|
|
|
|
|
|
|
## Supported boards
|
|
|
|
|
|
|
|
All of them!
|
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
Check the supported boards by typing `make`
|
2019-01-26 20:11:45 -08:00
|
|
|
|
|
|
|
```
|
2022-03-06 07:32:02 -08:00
|
|
|
[Firmware]
|
|
|
|
fw - Build firmware for default target
|
|
|
|
supported boards are: 100_250 100_250_no_limits 100_500...
|
|
|
|
```
|
2019-01-26 20:11:45 -08:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
There are also many other options that can be changed in [conf_general.h](conf_general.h).
|
2019-01-26 20:11:45 -08:00
|
|
|
|
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
## Prerequisites
|
2021-04-11 21:01:30 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
### On Ubuntu (Linux)/macOS
|
2022-03-07 06:35:41 -08:00
|
|
|
- Tools: `git`, `wget, and `make`
|
2022-03-06 07:32:02 -08:00
|
|
|
- Additional Linux requirements: `libgl-dev` and `libxcb-xinerama0`
|
|
|
|
- Helpful macOS tools:
|
2021-04-11 21:01:30 -07:00
|
|
|
|
2019-01-26 20:11:45 -08:00
|
|
|
```bash
|
2022-03-06 07:32:02 -08:00
|
|
|
brew install stlink
|
|
|
|
brew install openocd
|
2019-01-26 20:11:45 -08:00
|
|
|
```
|
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
### On Windows
|
|
|
|
- MS Visual Compiler
|
|
|
|
- Chocolately: https://chocolatey.org/install
|
|
|
|
- Powershell: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows
|
|
|
|
- Git: https://git-scm.com/download/win. Make sure to click any boxes to add Git to your Environment (aka PATH)
|
2019-01-26 20:11:45 -08:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
## Install Dev environment and build
|
2019-01-26 20:11:45 -08:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
### On Ubuntu (Linux)/MacOS
|
|
|
|
Open up a terminal
|
|
|
|
5. `git clone http://github.com/vedderb/bldc.git`
|
|
|
|
6. `cd bldc`
|
|
|
|
6. Continue with [On all platforms](#on-all-platforms)
|
2019-09-21 07:59:26 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
### On Windows
|
2019-09-21 07:59:26 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
3. Open up a Powershell terminal (Resist the urger to run Powershell as administrator, that will break things)
|
|
|
|
4. Type `choco install make`
|
|
|
|
5. `git clone http://github.com/vedderb/vesc_tool`
|
|
|
|
6. `cd bldc`
|
|
|
|
6. Unzip the file at https://discordapp.com/channels/904830990319485030/910181652192448532/917451210791989248 into this directory
|
|
|
|
6. Continue with [On all platforms](#on-all-platforms)
|
2019-09-21 07:59:26 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
### On all platforms
|
2019-09-21 07:59:26 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
7. `git checkout origin/master`
|
|
|
|
8. `make arm_sdk_install`
|
|
|
|
10. `make` <-- 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_250`
|
|
|
|
11. `make 100_250` <-- This will build the **VESC 100/250** firmware and place it into the `bldc/builds/100_250/` directory
|
2019-09-21 07:59:26 -07:00
|
|
|
|
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
## Other tools
|
2019-01-26 20:11:45 -08:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
**Linux Optional - Add udev rules to use the stlink v2 programmer without being root**
|
2019-09-21 07:59:26 -07:00
|
|
|
```bash
|
2022-03-06 07:32:02 -08:00
|
|
|
wget vedder.se/Temp/49-stlinkv2.rules
|
|
|
|
sudo mv 49-stlinkv2.rules /etc/udev/rules.d/
|
|
|
|
sudo udevadm trigger
|
2019-09-21 07:59:26 -07:00
|
|
|
```
|
2019-01-26 20:11:45 -08:00
|
|
|
|
|
|
|
|
2022-03-07 06:35:41 -08:00
|
|
|
## IDE
|
|
|
|
### Prerequisites
|
|
|
|
#### On macOS/Linux
|
|
|
|
|
|
|
|
- `python3`, and `pip`
|
|
|
|
|
|
|
|
#### On Windows
|
|
|
|
- Python 3: https://www.python.org/downloads/. Make sure to click the box to add Python3 to your Environment.
|
|
|
|
|
|
|
|
### All platforms
|
|
|
|
|
|
|
|
1. `pip install aqtinstall`
|
|
|
|
9. `make qt_install`
|
2020-06-03 10:44:12 -07:00
|
|
|
|
|
|
|
## Upload to VESC
|
|
|
|
### Method 1 - Flash it using an STLink SWD debugger
|
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
1. Build and flash the [bootloader](https://github.com/vedderb/bldc-bootloader) first
|
|
|
|
2. Then `_flash` to the target of your choice. So for instance, for the VESC 100/250:
|
2019-01-26 20:11:45 -08:00
|
|
|
```bash
|
2022-03-06 07:32:02 -08:00
|
|
|
make 100_250_flash
|
2019-01-26 20:11:45 -08:00
|
|
|
```
|
2020-06-03 10:44:12 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
### Method 2 - Upload Firmware via VESC tool through USB
|
2020-06-03 10:44:12 -07:00
|
|
|
|
2022-03-06 07:32:02 -08:00
|
|
|
1. Clone and build the firmware in **.bin** format as in the above Build instructions
|
2020-06-03 10:44:12 -07:00
|
|
|
|
|
|
|
In VESC tool
|
|
|
|
|
|
|
|
2. Connect to the VESC
|
|
|
|
3. Navigate to the Firmware tab on the left side menu
|
|
|
|
4. Click on Custom file tab
|
2022-03-06 07:32:02 -08:00
|
|
|
5. Click on the folder icon to select the built firmware in .bin format (e.g. `build/100_250/100_250.bin`)
|
2020-06-03 10:44:12 -07:00
|
|
|
|
|
|
|
##### [ Reminder : It is normal to see VESC disconnects during the firmware upload process ]
|
|
|
|
##### **[ Warning : DO NOT DISCONNECT POWER/USB to VESC during the upload process, or you will risk bricking your VESC ]**
|
|
|
|
##### **[ Warning : ONLY DISCONNECT your VESC 10s after the upload loading bar completed and "FW Upload DONE" ]**
|
|
|
|
|
|
|
|
6. Press the upload firmware button (downward arrow) on the bottom right to start upload the selected firmware.
|
|
|
|
7. Wait for **10s** after the loading bar completed (Warning: unplug sooner will risk bricking your VESC)
|
|
|
|
8. The VESC will disconnect itself after new firmware is uploaded.
|
|
|
|
|
|
|
|
## In case you bricked your VESC
|
|
|
|
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.
|
|
|
|
|
2019-01-26 20:11:45 -08:00
|
|
|
|
|
|
|
## Contribute
|
|
|
|
|
|
|
|
Head to the [forums](https://vesc-project.com/forum) to get involved and improve this project.
|
2022-03-06 07:32:02 -08:00
|
|
|
Join the [Discord](https://discord.gg/JgvV5NwYts) for real-time support and chat
|
2019-01-26 20:11:45 -08:00
|
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
The software is released under the GNU General Public License version 3.0
|