A part of the PX4 team has been working on an open source ESC since late 2013. The objectives we had in mind were roughly as follows:
- BSD licensed codebase.
- CAN bus interface (using UAVCAN as a high level protocol), with specific sub-goals:
- low latency;
- ESC status monitoring, at least health, temperature and RPM;
- automatic and transparent for the user firmware upgrades.
- Better alternative to the popular RCPWM BLDC controllers in terms of reliability and response characteristics.
The project was first known as PX4ESC, later renamed into Sapog for reasons of clarity. After about two and half years of development and experimenting, the first, for-developers-only release was announced at the ELC 2016 (slides here). Now, a few months after that, we're announcing that the project is finally ready for public release, and that the first ESC based on this project - Zubax Orel 20 - is now available from Titan Elite, Inc.
Zubax Orel 20, pictured on the right, is rated for supply voltage 9~18 V (3~4S LiPo) and continuous motor currents up to 20 A. More info can be gathered from the documentation page at the Zubax Docs website.
We welcome all companies that specialize in electric drive systems for UAV to consider extending their product portfolio with UAVCAN enabled solutions. In order to encourage this move, we're planning to release the reference hardware sources under a permissive Creative Commons license.
It should be emphasized that all of the features of Sapog are exposed via UAVCAN, an open and royalty-free protocol standard. We encourage all vendors of UAV avionics to support it, since relying on a common and open ecosystem is beneficial for everyone. For ease of migration we're providing MIT-licensed libraries in C++, C, and Python. Here we have a small collection of demo scripts that demonstrate how to access the capabilities of Sapog, or any other UAVCAN-interfaced ESC, using plain Python from a regular desktop computer: https://docs.zubax.com/sapog/direct_control_via_uavcan.