Top view

Orel 20

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

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

Orel 20 runs Sapog – a BSD-licensed open source multiplatform BLDC controller firmware originally developed by Zubax Robotics.


  • Propeller drives for light 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 without wires.
  • Optional RPM control loop (RPM governor).
  • Embedded self diagnostic routines and health status reporting.
  • Highly configurable.
  • Low noise and low current ripple.
  • 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

CAN bus connection options

On Titan Elite’s website it is recommended to daisychain multiple orel 20’s together and directly connect them to the CAN port on the Pixhawk flight controller. On our aircraft, we are utilizing a Pixhawk 4 flight controller and a UAVcan databus. We would like to be able to directly connect the Or…

Why different signature can communication with the same uavcan gui tool?

dear Pavel Kirienko: image.png1202x756 181 KB in publisher tutorial all the data type signature is 64bit , in px4 pasog BootLoader all the data type signature is 16bit. they have the different data signature, Why can they communicate with GUI?both fine. i know that the data signature is Not t…

Orel20 CAN disconnection issue

Hello when connecting the babel to the orel20, applying the 127 local id node and starting the dynamic node allocation server. I could see my orel20 sometimes, but it disappears erratically. the second CAN1 port is connected to a 120ohm resistor. Thanks in advance for your …

Voltage control vs RPM control

Hi Just wanted to ask a quick question with regards to RPM Control on the Zubax Myxa; While running some tests we realised that, unlike what we thought initially was the case of it just being an RPM offset between RPM control and Voltage control for any given PWM input – infact its not a linear offs…

Orel-20 Backwards capability?

Hello, Does the Orel-20 have the capability of spinning in reverse (i.e backwards)? If so, is this done using a third party firmware? Thank you, Bernard…

ESC Ref design issue

Hi, We are trying to make a ref design from Orel ESC and have to use a different device (INA240) current sensing. This has a different gain (20V/V) and the sense resister is also different (0.0002ohm). Where is the firmware i have the option of tuning these values? regards Arun…

Building code on ubuntu16.04.3 problem

I have some problems while building code at ubuntu16.04.3 but it show me some massages please need some help I think my ARM GCC is 7.2 Compiling main.cpp cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ /home/skyyu/sapog/firmware/src/main.cpp:223:3…

Orel 20 with PX4 can only work after using GUI TOOLS

after connected and arm pixhawk , the moter didn‘t work. then i connect the babel and GUI TooL , run dynamic node id allocation server , the moter works. should i use dynamic node id allocation server in GUI TooL everytime?…

RawCommand values range

Hi! I see RawCommand for Orel 20 Sapog fw looks the same as Voltage control mode for Telega fw. And as described in reference for Sapog it supposed to be in range 0% - 100%. Actually I see it varies 0 - 8000 in my setup with Pixhawk (probably full range 0 - 10000 though). Did not found whether this …

UAVCAN ESC respond to RawCommand duration

Hi! Im doing tests on the rig with (several) Orel 20 UAVCAN ESC and motors. And see the response for RawCommand has limited duration in time. After a short spin the motor stops. So I have to send the command periodically. I think this is how it is designed. Could you please explain how can I contro…