Top view

Orel 20

Low-cost BLDC motor controller for light unmanned aircraft and watercraft.

Orel 20 is an advanced controller of sensorless BLDC motors designed for use in cost sensitive applications. Its primary application domains include propulsion systems of electric unmanned aircraft and watercraft.

Orel 20 runs Sapog – an open source multiplatform BLDC controller firmware developed by Zubax Robotics.


  • Propeller drives for unmanned aerial vehicles.
  • Pump and propeller drives for unmanned watercraft.


  • Excellent dynamic characteristics.
  • Regenerative braking and active freewheeling.
  • Continuous power output up to 350 W.
  • Extremely lightweight, only 10 g.
  • Optional RPM control loop (RPM governor).
  • Embedded self diagnostic routines and health status reporting.
  • Highly configurable.
  • Low noise and low current ripple due to low ESR embedded filtering capacitors and high frequency PWM.
  • Supported interfaces:
    • CAN (UAVCAN), with optional dual redundancy.
    • UART.
    • RCPWM (analog PWM interface widely used in robotics).
  • High quality assurance:
    • Every manufactured unit undergoes a rigorous testing procedure. The testing log for each produced unit is available on the web.
    • Protection against unlicensed (counterfeit) production by means of a digital signature installed on every manufactured unit.
  • Open source firmware – Sapog (3-clause BSD license).

Related announcements and discussions

Sapog critical events

Hello, I have questions regarding motor stall events. Suppose we have a rotor stall for some reason. It raised several questions for me: Does autopilot (in this topic let’s consider ardupilot or px4) have function of detecting error_count messages, and log them? Since Sapog, in case of stall, needs…

Question about Open Loop control mode

Hi there, I’m a bit confused about Orel’s open loop control mode. Is this essentially a current control mode? I ask because I would like to use them with a controller that expects to send a torque command rather than a speed command to the motors–is it possible to use the Orels in this way?…

Evaluating the efficiency of a sensorless propeller drive using UAVCAN GUI Tool

This video shows how the UAVCAN GUI Tool can be applied to evaluate the efficiency of a sensorless propeller drive (or any other kind of drive that can be controlled via UAVCAN). The video features the following products and instruments: UAVCAN GUI Tool version 0.9 Zubax Babel (USB-CAN adapter) …

Maximum speed considerations in Sapog and Telega firmwares

Sapog is an advanced open source sensorless PMSM/BLDC motor controller firmware designed for use in propulsion systems of electric unmanned aircraft (UAV) and watercraft. Telega is more advanced and more efficient motor control firmware, increasing ESC working time from battery. In addition Telega …

Orel ESCs not working

I first apologize for not really knowing what I am doing. With that said… I have setup 4 ESCs, to be used eventually with Arducopter, using UAVCAN GUI. Firmware 2.2 …73 Static addresses assigned 100,101,102,103 esc_index 0,1,2,3 light_index all set to 0, not sure what this is for. all parameter…

How to Enable Orel 20 PWM Control

I’m trying to get an Orel 20 working with PWM control from a motor thrust test stand. I soldered on the PWM connections to the board holes described in the datasheet, but I’m unable to command the motor controller. When I power it on, the controller does a self check and reports a green status. How…

Comparison to DSHOT control?

I’d be curious if we could ever get to this type of buttery smooth control over CAN with the latest firmware , but more importantly just what type of parameters I’d need to tweak, to get to this point. I have been to a couple drone events, where I literally walked up to the operator afterwards and a…

Sapog v2.0 release announcement

Hi everyone, Sapog v2.0 has been released. Abridged change log is provided here; please refer to the release page at for the complete change log. Completely new, much more reliable spin up algorithm Significantly more reliable operation during rapid acc…

Configuring Orel for particular motor

Greetings Pavel! So here is the thing, I would like to use the Orel ESC (or shall I say, Sapog, because I assume Orel is hardware, Sapog is software, right? Btw, very curious, does Sapog name have something to do with russian word sapog, as in shoe? ) with my custom made motor to fly a copter. I'm …

Calcuation of UAVCAN esc_setpoint

Hi Pavel, Can you tell me how esc_setpoint is calculated? It looks like a percentage. Is it just esc_setpoint_raw divided by some maximum value? What is the maximum value? Is it a constant? Thanks!…