I've been looking for a good brushless ESC for robotics projects and the only one I really liked was the VESC motor controller. This is, because it has FOC commutation, automatic motor detection and a digital interface for reading back the current state of the motor (current, voltage, position, speed, ...).
In spite of its perfect software and great hardware, the VESC had a few issues that bothered me for this application:
- The large VESC is too overpowered for most (small) robot applications. For example I'm currently working on an open source lawn mower robot (https://github.com/ClemensElflein/OpenMower). The motors I'm using are geared brushless motors and they are running at about 1 A at 32V under load.
- The VESC motor controllers are hard to put on PCBs. This is, because they aren't really meant to. The VESC is designed for electro mobility and therefore it has solder pads for wires. If you want to have multiple in a small robot, things get messy quick.
Therefore, I took the time to design my own, lower power version of the VESC which also aims to be cheaper. And yesterday I finished the first boards I'm happy with!
The boards are 50x30mm and can handle up to 10A and 40V. Maybe someone will find these useful.
Due to the ongoing chip shortage, I had to work with another non-TI gate driver. I used Trinamic's TMC6200, since it also includes three in-line shunt amplifiers. I have already adapted the VESC firmware and I have created a pull request in GitHub. Hopefully, the code will be included in the official firmware someday.
You can find the KiCAD project here: https://github.com/ClemensElflein/xESC
Here is a picture of the first two boards I assembled yesterday: