This project is designed around the open source project ODrive HW and SW (https://github.com/madcowswe/ODrive). The original project's HW can drive 2 BLDC motors and control them using FOC supported by an ABI encoder. This variation cuts down on the size of the board, and supports only a single BLDC motor with the same method of driving them.

At the core of the project is an STM32F405RGT6 microcontroller, which controls the switching mosfets (CSD17576Q5B) using a DRV8301 driver which includes a switching buck regulator to provide power for all the control circuitry.

The PCB was designed in Autodesk Eagle, closely following the v3.5 schematic of the ODrive HW. This design has only 1000uF of bypass capacitance across the power rails to the switching mosfets as compared to the 3760uF on the base ODrive for dual motors plus AUX mosfet (for a brake resistor).

The hardware is capable of 30v with the base components, but switching to alternative mosfets and capacitors allows up to 60v operation (albeit at the cost of bulk capacitance, which means the board may require additional bypass external to the board).

Currently, I am working on figuring out layout for a board with doubled up mosfets, to support even higher currents or rather reduce the steady state temperature of the board by allowing for greater heat dissipation (either through simply additional mosfet packages, or better yet additional heat sinks).

In the next few weeks I will be having the 4 layer PCBs manufactured (at JLCPCB), and start assembly to determine what amount of functionality the board has before continuing development on the dual mosfet version.

To see the eagle files, they're available on my gitlab: https://gitlab.elayne.me/eric/battle-driver/