The xESC is an easy to use, low cost electronic speed controller (ESC) design for sensored brushless DC (BLDC) motors.

License: CC BY-NC-SA 4.0 Discord

Join the Discord server for xESC discussion: HERE

If you want to be notified about updates and availability, star ⭐ and watch πŸ‘€ this repository!

Looking for xESC2040? It was moved to its own repo HERE.

xESC2

The xESC2 is an easy to use, low cost electronic speed controller (ESC) design for brushless DC (BLDC) motors. It can drive BLDC motors in sensored and sensorless modes. The controller supports FOC control mode. The firmware is based on the open source VESC firmware and implements torque, speed and position control. The current state of the motor controller (current, voltage, speed, position) can be read back through a serial interface.

This ESC was designed from ground up to be suited for robotics use:

  • It has pin headers to make it easy to integrate into existing designs.
  • It is small compared to a VESC
  • It is much cheaper than a VESC
  • It is much lower power than a VESC (but enough to drive robots)

I also have a customized ROS driver for this ESC.

xESC front

To-Do

  • [ ] Add an emergency shutdown pin to the design.
  • [ ] Add pinout to the silkscreen if enough space

Comparison

But how does the xESC compare to other brushless ESCs on the market? Is it the right ESC for your current needs?

xESC2 mini
(this repo)
xESC xESC2 VESC 6 Cheap Hobby ESCs
Technical Data
Intended Use Robotics Robotics Robotics Electromobility RC Cars / Planes
Max Current
(continuous)
10A / 40V 10A / 40V 10A / 40V >80A / 60V Depends on Model
Size 50x30 mm 60x30 mm 85x42 mm 75x70mm Depends on Model
Supported Firmware xESC2 firmware (VESC based) xESC firmware (SimpleFOC based) xESC2 firmware (VESC based) VESC firmware /
Open Source HW+SW HW+SW HW+SW SW /
Features
Interfaces USB, UART, CAN, PWM, Analog UART, PWM USB, UART, CAN, PWM, Analog USB, UART, CAN, PWM, Analog and more PWM only
Motor Commutation FOC BLDC FOC FOC BLDC
Control Modes Current, Position, Speed Current Current, Position, Speed Current, Position, Speed None
Sensored βœ… βœ… βœ… βœ… Some
Feedback Channel βœ… βœ… βœ… βœ… ❌
Low Cost Design βœ… βœ… βœ… ❌ βœ…
BEC (internal 5V regulator) ❌ βœ… βœ… βœ… βœ…
Pin headers for easy connection to PCBs βœ… ❌ ❌ ❌ ❌
Status Working Prototypes Obsolete Working Prototypes Mass Production Mass Production

PCB Design

Front Back
xESC front xESC back

Firmware Features

The xESC2 firmware is based off the current version of the VESC firmware. Therefore it is able to do everything you’d wish your brushless ESC had. Including: FOC, speed control, current limiting, …

Where can I buy one?

The xESC2 mini is officially not for sale (yet), since I don’t really have the capabilities to produce larger quantities right now (I’m making some for my own robotics projects at the moment). However if you really like to get your hands on them, just message me (e.g. open an issue or something).

You can, of course build your own ESCs (that’s kind of the idea to open source it πŸ˜‰), but please don’t mass produce the design and sell them without my permission.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Feel free to use the design in your projects, but don’t try to sell the design or products based on it without getting my consent first.