Zubax Robotics's Posts (10)

Sort by

UAV Electric Propulsion System Survey

3689731131?profile=originalGreetings everyone,

We at Zubax Robotics conduct research, design, and manufacturing of highly energy-efficient motor controllers and integrated drives for aerospace applications. One of our primary goals is to deliver better motor controllers for the UAV industry. To advance our research, we created a survey that will help us capture some of the needs of the industry.

The obtained data will be used to optimize our solutions for the current and future needs of the industry and help us alleviate one of the most significant issues of battery-powered UAV, limited endurance. Results of the survey will be shared via email with everyone interested.

Please fill out the survey at https://goo.gl/forms/HEkLMA5eoMQzTZLF3.

Thank you!

Read more…

So we were testing certain stuff in our lab yesterday, and I thought, why don't we share our approach? That would be such a great way to show off the capabilities of the UAVCAN GUI Tool. Check this out:

The video features the following products and instruments:

  • UAVCAN GUI Tool version 0.9
  • Zubax Babel (USB-CAN adapter)
  • Zubax Orel 20 (the ESC)
  • Tarot MT4008 motor with Tarot 1555 high strength plastic propeller
  • MASTECH HY5030 DC power supply
  • RCbenchmark 1520 testing rig (optional)

The motor is controlled by the UAVCAN GUI Tool by virtue of this simple snippet in Python that runs in the interactive console: https://gist.github.com/pavel-kirienko/d4a59581af26aa359bc86d5d7ed6d3e0. The X-Y plotting feature of the UAVCAN GUI Tool allows us to directly plot the relationship between the electrical power and the mechanical RPM of the propeller. The UAVCAN GUI tool is a powerful one-size-fits-all instrument that can be used to easily analyze and demonstrate the behavior of various UAVCAN-enabled systems.

This post is actually a repost from our blog. The blog is so new and shiny, people hardly ever read it. But if you find this relevant, you probably should either register here or subscribe to the RSS, or something.

Read more…

PX4 Sapog and friends

30%203D%20printed%20enclosure.jpg?width=300Quite some time has passed since our last post on the topic, so it's time to make another one.


For those uninitiated, PX4 Sapog is an open source ESC design which you can get familiar with right here: kb.zubax.com/x/cYAh. Over the last months, the following noteworthy things happened to the project:

  • Proper documentation has finally been written: meet the Sapog Reference Manual. Feel free to contribute on Github.
  • The firmware has obtained a much more advanced spin-up algorithm (the new one is now documented in the Reference Manual).
  • After a brief interruption, Zubax Orel 20, which are Sapog-based ESC (pictured), are back in stock at Titan Elite.

I'd like to use this opportunity to remind users about the vices of believing the current capability characteristics stated in marketing materials of certain vendors of low-cost ESC. The issue was somewhat explained in our older post here, and here's a TL;DR: many of the widely used low-cost ESC tend to be unable to achieve the stated performance characteristics. Not ours, no sir.

What's next?

2%20Top%20view%20from%20the%20interface%20connectors.jpg?width=300The past few years have been spent working on a brand-new motor control solution which is intended to go much further than a simple ESC for a light UAV. Meet Télega - a completely new PMSM controller which incorporates several groundbreaking improvements which open new horizons for low-cost electric drives. Télega allows you to take virtually any existing low-cost electric drive, replace the existing legacy ESC in it with a Telega-based one, and gain 15% to 30% longer flight time as a result.

The teaser pic on the right shows the first motor controller design that is based on Telega, which we call Myxa. While the project is not really market-ready yet, we're looking for testers who are willing to work with us to weed out the remaining corner cases in exchange for certain benefits. Those who might be interested, please write us (or stop by our new lab in Tallinn, we have cookies).

Speaking of UAVs

logo.png?width=300The UAVCAN project has received an unexpected development: a new implementation has appeared, this time in Rust. Check out the project here on Github, and read the background discussion here.

Read more…


This post announces recent noteworthy developments in some of our projects.

The observations we made since the announcement of Zubax Orel 20 (a Sapog-driven ESC) led us to believe that people tend to have serious misconceptions about power capabilities of ESC. A possible reason for that is the abundance of Chinese low-quality ESC that tend to have much lower actual power capability than advertised. Here at Zubax we termed it power capability inflation. In order to prevent our customers from having incorrect understanding of the true power capabilities of Zubax Orel 20 (pictured on the right), we strongly suggest to model and verify your application using ECalc: http://www.ecalc.ch/xcoptercalc.php.

As was promised a couple months back, the reference hardware design for PX4 Sapog has been released under CC BY SA 3.0. The design files (in Eagle format) are available in the official PX4 Hardware repository on GitHub. We're encouraging third parties to develop their own hardware ESC designs based on this reference. Feel free to stop by our brand new Gitter channel if you have questions.

Besides the above, Sapog had another development: we've released a number of important improvements, mostly concerning stability of the spinup algorithms. The release binaries can be downloaded from files.zubax.com and installed via UAVCAN or DroneCode Probe.3689703507?profile=original

Zubax GNSS 2 has received a firmware upgrade too. A few users reported that they're having difficulties calibrating the compass with PX4 or APM. An investigation uncovered that the difficulties were caused by 2 factors:

1. The measurement range was not sufficiently wide to account for all valid use cases. This was fixed in the firmware.

2. APM and PX4 somewhat mishandle external compasses by making invalid assumptions about their measurement ranges. We added a configurable scaling coefficient that allows to reduce the magnitude of the output magnetic field vector, silencing the warning from the autopilot. Learn more from the docs at docs.zubax.com.

The fix is available in firmware version 3.1, you can get it from files.zubax.com. If you're not using the compass, there's no need to upgrade.

Useful links:


Read more…

UAVCAN status update

Greetings, my fellow humans.3689700315?profile=original

In this update I will briefly review the current state and the near future of UAVCAN. For those unfamiliar, UAVCAN is a lightweight CAN bus protocol designed for reliable communication in aerospace and robotic applications. It aims to provide standardized and unified communications at the application level by means of defining a fixed set of messages and RPC services, at the same time maintaining flexibility by virtue of vendor-specific (custom) message and service definitions. I will not focus on the technical details here - those interested can learn more directly from the specification at uavcan.org.

The first release-candidate version of the protocol was announced almost a year ago; since then, no significant changes were introduced, and therefore the specification can be considered almost mature enough for the first release. There certainly will not be any significant breaking changes. The current pre-release version is implemented in the following three official implementations:


  • Libuavcan - this is the reference implementation in C++, mostly targeted at embedded systems and Linux. Being the reference implementation, Libuavcan is the most feature complete library and it sports the best documentation with elaborate tutorials.
  • Pyuavcan - a Python 2.7/3.x package, primarily targeted for testing, scripting, development of GUI tools, etc. This package is compatible with Linux, Windows, and OSX. The UAVCAN GUI Tool (more on it later) is based on Pyuavcan.
  • Libcanard - an alternative for Libuavcan for extremely resource constrained microcontrollers. Libcanard is a minimal implementation in pure C99 with no third party dependencies that works anywhere from low-end 8-bit AVR up to desktop Linux systems. This library is still sort of under development - it is generally feature-complete, but there's no comprehensive documentation published yet. We compensate the lack of documentation by this neat demo.

3689700320?profile=originalAnother interesting thing that we made is the UAVCAN GUI Tool - a neat open source cross-platform application for bus management and diagnostics that runs on Windows, Linux, and (sort of) OSX (the project could use help from an OSX guru to resolve some packaging issues). The screenshots on the right are intended to demonstrate just how neat it is. It supports a bunch of use cases:

  • Bus sniffing with transfer dissection.
  • Plotting values from the bus in real time.
  • Node reconfiguration and firmware upgrade over the bus.
  • Python scripting with interactive IPython console.
  • Support for different CAN hardware backends.

3689699136?profile=originalSpeaking about tools, it is also worth noting Zubax Babel - a Swiss knife of a CAN adapter. Zubax Babel is a USB-CAN and UART-CAN adapter that can also be used as a UAVCAN dev board. The full specs are here, orderable from TitanElite, Inc.

As for other hardware, I put together a brief list of some of the most notable projects and products that leverage UAVCAN:

  • Zubax Robotics - GNSS 2 (advanced GNSS module), Orel (ESC based on the PX4 Sapog firmware), and already mentioned Babel.
  • OpenGrab EPM from NicaDrone (electropermanent magnet). This device is based on an interesting MCU - LPC11C24, a true single-chip CAN solution - a low cost MCU with embedded CAN controller and a CAN transceiverin the same package. This MCU is supported by Libuavcan (and soon will be supported by Libcanard too).
  • Projects from Thiemar. Sadly, the hardware doesn't seem to be available at the moment.
  • MAPIR Kernel camera for aerial imagery.
  • The Paparazzi project appears to be in the process of integration with UAVCAN (by means of Libcanard). There's a video showing some kind of PoC.
  • Obviously, PX4 and APM, including the official and derivative hardware designs.

We believe that the new tools and commercially available hardware should further incentivize UAV vendors, integrators and researchers to abandon inherently flawed interfaces (especially I2C and PWM) in favor of UAVCAN. There is a Gitter channel and a mailing list for those who have questions or just want to stay in the loop; furthermore, we at Zubax Robotics can provide assistance for companies and projects that are willing to adopt UAVCAN but lack relevant expertise. Also remember that with UAVCAN, everything is open source and licensed under MIT or in the public domain; as such, all specifications are completely free to use or distribute, and the reference implementations can be used in closed source commercial projects with no strings attached. Go have a look at our GitHub profile to learn more.


Read more…

Hi everyone,3689699136?profile=original

We're announcing Zubax Babel - an advanced USB-CAN and UART-CAN adapter designed for use with UAVCAN and other CAN bus protocols. It can be used either as a complete standalone tool, as a development platform for UAVCAN-centered applications, or as an OEM component in larger systems.

The adapter has a number of important features that are rarely seen in competing designs:

  • Low latency - cumulative latency between the USB CDC ACM interface on the host system and the CAN bus is under 1 millisecond.
  • High throughput - the device handles over 5000 frames per second in either direction continuously.
  • Standard DroneCode connectors.
  • Proper prioritization of outgoing CAN frames. The adapter schedules outgoing frames properly, avoiding inner priority inversion in the transmission queue.
  • Large RX buffer allows the device to handle short-term traffic bursts without frame losses when interfaced via low-speed UART.
  • Software-controlled 120 Ohm termination resistor.
  • The CAN bus can be powered from USB via a software-controlled power switch. This enables, among other things, easy testing and configuration of UAVCAN-interfaced peripherals.
  • Quasi-standard SLCAN interface (a.k.a. LAWICEL) to the host system makes the adapter compatible with a variety of software products available on the market.
  • No drivers needed for Windows 10+, OSX, Linux.

Zubax Babel is primarily intended for UAVCAN applications, although other CAN bus protocols are supported equally well. We recommend the UAVCAN GUI Tool for use with Zubax Babel; however, there is a wide selection of software products that can talk with SLCAN adapters and therefore are compatible with Zubax Babel too.3689699161?profile=original

UAVCAN GUI Tool is a cross-platform open source (sources here) application for UAVCAN bus management and diagnostics. It runs on Windows, OSX, and Linux; read the installation instructions here.

We are currently preparing a tutorial that will show how to develop a simple servo controller interfaced via UAVCAN using Zubax Babel. Stay tuned!


Read more…

Hi everyone,3689698321?profile=original

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.

More information:

Read more…

Hi everyone,

3689685346?profile=originalWe're proud to announce that Zubax GNSS 2 is now available. Zubax GNSS 2 is a compact multipurpose high-performance positioning module interfaced via redundant CAN bus, USB, and UART. It includes a state-of-the-art multi-system GPS/GLONASS receiver, a high-precision barometric altimeter, and a 3-axis compass with thermal compensation. Zubax GNSS 2 supports variety of standard protocols, which ensures compatibility with most of existing software and hardware: UAVCAN (over CAN bus), NMEA 0183 (over USB and UART), and u-Blox M8 protocol.

Zubax GNSS 2 is the successor of well-received Zubax GNSS v1; it features an upgraded GNSS receiver (latest u-Blox M8Q), smaller form-factor (55x55 mm), and a higher gain antenna. Like it's predecessor, Zubax GNSS 2 features high noise resilience thanks to the RF shielding and good PCB design.

Our website contains tutorials that demonstrate how to use Zubax GNSS 2 with Pixhawk (PX4, ArduPlane 3.5.1, ArcuCopter master), with GIS software, and with non-UAVCAN enabled systems (e.g. lower-end autopilots).



  • Operating temperature: -30 to +60 °C


  • State-of-the-art concurrent GPS/GLONASS receiver u-blox MAX-M8Q
    • Full RF shielding of the GNSS circuits ensures reliable operation in high-EMI environments
    • 35 mm high gain patch antenna with large ground plane for reliable reception even in urban canyons
    • Analog front end with LNA and SAW ensures high noise resilience
    • Backup supercap enables low time-to-first-fix (a few seconds)
    • Up to 15 Hz update rate
  • High precision digital barometer Measurement Specialties MS5611
    • Altitude resolution 10 cm
  • 3-axis digital compass with thermal compensation


  • Doubly redundant UAVCAN
    • Continuous self diagnostic and failure detection outputs
    • Configuration
    • Can be used in non-redundant mode as well (one interface will be inactive)
    • Firmware update
  • USB
    • NMEA output for all sensors
    • Direct access to the u-blox module
    • Diagnostics and configuration via command-line interface
  • UART
    • NMEA output for all sensors


Zubax GNSS 2 can be purchased from Titan Elite, Inc. Please follow this link to place an order: http://titaneliteinc.com/titanoc/index.php?route=product/product&product_id=987.


Read more…



Since UAVCAN is now supported in the most recent versions of APM, it is now possible to use Zubax GNSS with ArduCopter and ArduPlane. We prepared a tutorial at docs.zubax.com that explains how to configure APM to make it use UAVCAN-interfaced sensors; hopefully, this article will be included into APM wiki soon as well.


For those unaware, Zubax GNSS is a high performance positioning module that includes a state-of-the-art GNSS receiver with RF shielding, huge patch antenna, compass, barometer, and a UAVCAN interface. You can learn more about it here, you're encouraged to ask questions here, and it can be ordered from here and here. Over the last half a year we were delighted to find a number of discussion posts around the internets praising its performance, so we're convinced that Zubax GNSS deserves its price tag. ;)

As of UAVCAN - as was stated in a presentation on the recent ELC conference, last RFC will be released in a couple of weeks, but comments and feedback concerning the specification are already (always) welcome on the UAVCAN mailing list.

That's it for a spontaneous news post. Stay tuned for updates (say, why not subscribe to our forum?), as we're going to release something cool soon.

Read more…

Hi everyone,3689619101?profile=original

Today we present our first product - Zubax GNSS. It is a high-performance open source positioning module for outdoor environments with doubly redundant UAVCAN bus interface. It's the right choice for any UAV or robotic application where safety, positioning accuracy and cost efficiency are paramount.

Being UAVCAN-interfaced, Zubax GNSS can be used out of the box with any UAVCAN-enabled controller, such as Pixhawk. Detailed instructions about how to configure Pixhawk for use with Zubax GNSS can be found at our documentation portal (see the links below). At the moment, the native PX4 stack already has complete UAVCAN support implemented in the stable branch. The APM stack doesn't have support for UAVCAN at the moment, but there were some successful experiments with it earlier so it will be there soon as well. By the way, any cooperation from the APM developer community is highly welcome!



  • High performance concurrent GPS/GLONASS receiver u-blox MAX-M83689619120?profile=original
    • Full RF shielding of the GNSS circuits ensures reliable operation in high-EMI environments
    • 35 mm high gain patch antenna with large ground plane for reliable reception even in urban canyons
    • Analog front end with LNA and SAW ensures high noise resilience
    • Rechargeable backup battery enables low time-to-first-fix (a few seconds)
    • Up to 15 Hz update rate
  • High precision digital barometer Measurement Specialties MS5611
    • Altitude resolution 10 cm
  • 3-axis digital compass Honeywell HMC5883L


  • Doubly redundant UAVCAN with standard connectors
    • Sensor measurements at configurable rates
    • Continuous self diagnostic and failure detection outputs
    • Configuration
    • CAN bus bitrate up to 1 Mbps
    • Can be used in non-redundant mode as well (one interface will be inactive)
  • Auxiliary serial port
    • Direct access to the u-blox module
    • Firmware update
    • Diagnostics and configuration via command-line interface


  • 3689619043?profile=originalExtensive, continuous self diagnostics and failure detection make Zubax GNSS a favorable choice for safety-critical applications
  • Multiple redundant units can be used concurrently on the same UAVCAN bus
  • Sources are open and freely available for everyone:
    • Firmware sources
    • Schematics
    • 3D printable models of protective case and mounts
  • Low cost


The image below shows the performance of Zubax GNSS in comparison with another popular GPS receiver (u-blox LEA-6H with 25 mm patch antenna). Notice the deviation map, position accuracy estimates and SNR. This was captured in a shallow urban canyon of a large city. Zubax GNSS is on the left (click to enlarge):


This video features a highly precise, fully automatic landing of a Pixhawk-powered quadrotor with Zubax GNSS:


P.S. Stay tuned for more UAVCAN-interfaced avionics. UAVCAN-enabled ESC and a UAVCAN-enabled something-quite-important are on their way to the market. Developers, please consider moving towards UAVCAN-centered ecosystem by supporting this protocol in your projects - learn more at uavcan.org.

Read more…