neoxic / ESCape32

BLDC motor control firmware for 32-bit ESCs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ESCape32

Firmware for 32-bit BLDC motor electronic speed controllers that aims for simplicity. It is designed to deliver smooth and efficient motor drive, fast transitions from a complete stop to full throttle, robust direction reversals, and maximum hardware support.

Features

  • Servo PWM, Oneshot125, automatic throttle calibration
  • DSHOT 300/600/1200, bidirectional DSHOT, extended telemetry
  • Analog/serial/iBUS/SBUS/SBUS2/CRSF input mode
  • KISS/iBUS/S.Port/CRSF telemetry
  • DSHOT 3D mode, turtle mode, beacon, LED, programming
  • Sine startup mode (crawler mode), brushed mode
  • Proportional brake, drag brake
  • Temperature/voltage/current protection
  • Variable PWM frequency, active freewheeling
  • Customizable startup music

Installation

The list of compatible ESCs can be found here.

The latest release can be downloaded here.

Visit the ESCape32 Wiki for more information.

Dependencies

  • cmake
  • arm-none-eabi-gcc
  • arm-none-eabi-binutils
  • arm-none-eabi-newlib
  • libopencm3
  • stlink

Building from source

Use LIBOPENCM3_DIR to specify a path to LibOpenCM3 if it is not in the system root:

git clone https://github.com/libopencm3/libopencm3.git
make -C libopencm3 TARGETS='stm32/f0 stm32/g0'
cmake -B build -D LIBOPENCM3_DIR=libopencm3

Use CMAKE_INSTALL_PREFIX to specify an alternative system root:

cmake -B build -D CMAKE_INSTALL_PREFIX=~/local

To build all targets, run:

cmake -B build
cd build
make

To flash a particular target using an ST-LINK programmer, run:

make flash-<target>

About

BLDC motor control firmware for 32-bit ESCs

License:GNU General Public License v3.0


Languages

Language:C 96.8%Language:CMake 3.2%