Assets 7

Hello world: it's time for another dRonin release, of our "inconceivable" development effort. There's exciting stuff in here, including the first flight-ready LQR control system (no longer are we stuck only with PID!)

As always, please read the release notes, and see the documentation at:

Jump ahead to: Changes / Errata & troubleshooting

Major changes since last release:

As always, there's many small bug and usability fixes. But beyond that:

  • Core controls and functionality improvements:
    • LQG (Linear Quadratic Gaussian) control added as an alternative to PID. To use, autotune and then configure LQG or LQGLeveling flight modes.
    • Increased maximum yaw axis PID limits, as some real crafts with small propellers were hitting them.
    • Introduced ability to limit the maximum speed commanded from individual motors (i.e. artificially limit kV to run 4S motors on 6S)
    • Ability added to specify thrust mode separately for each stabilization bank
    • Improvements made to control input smoothing/interpolation
    • Autotune now calculates hangtime and vertical / altitude hold control constants
    • Flipover mode
      • Drives motors on one "edge" to flip the vehicle back upright
      • "To configure, configure a quad with 3D output thrust, and flight mode FlipReversed. In this flight mode, hold the stick left, right, forward, or back (or other directions, I guess ;) and apply a small pulse of throttle to roll upright."
  • Major rearchitecture of radio telemetry
    • RFM22b "protocol" removed, OpenLRS protocol is now always used
    • Substantial improvement to telemetry throughput
    • Simultaneous telemetry and control is reliable
    • Inter-operable with OpenLRSNG
    • Easier binding from within GCS (new Radio tab on config widget), TauLink gadget and RFM bind wizard removed
  • Target and hardware support:
    • Revolution: support a wider variety of "OmnibusF4" clones, including barometer support.
    • POSIX simulator renamed from sim to flightd
    • Support for various sensors and receiver protocols added to flightd
  • Usability improvements:
    • Default battery voltage ADC ratio changed from 15.7:1 (Attopilot etc.), to 11:1 (MultiWii/Naze32 and later derivatives)
    • FrSky telemetry now uses detected battery cell count
    • Manual buzzer now triggers actuator (motor) beeping as well
    • GCS warns when collective channel is configured on anything other than collective pitch helicopters
  • Code organization and cleanup of deprecated items:
    • Removed FrSky PWM RSSI
    • Python API moved to Python 3 (Python 2 support is not a goal anymore)
    • Substantial improvements to Python API
    • API is now used to run flight scenarios on the simulator (flightd) in CI unit tests
    • Telemetry (UAVTalk) protocol handling improvements on both ground and flight side, including greater consistency with LibrePilot protocol changes.
  • Numerous cleanups and bug fixes
  • Adjustments to make Windows antivirus like the build artifacts more
  • Numerous build system and automated testing improvements

Errata & Troubleshooting

  • No support for F1 flight controllers. Use "Artifice" for these controllers.
  • USB/F4: A long-standing bug prevents reconnecting the flight controller by USB without a FC reset (e.g. when powered by external power). This can worsen communications when using a flaky USB cable. We intend to devote significant effort to fixing this soon.
  • Windows: Windows 7 or later is now required.
  • Windows: If you are on Windows 7 or 8 and receive a message "api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer," please see
  • Windows: If you are unable to communicate with the flight controller after plugging it in, please see this procedure for a possible solution.
  • OS X: OS X Version 10.11 ("Yosemite") or later is required to run GCS.
  • OS X: the application is unsigned; it is necessary to open Applications, right-click on dRonin GCS and select Open on the first launch.
  • Linux: You may have to install .udev rules for the device. The .deb package attempts to do this automatically. To do this manually (e.g. from the tarfile), download the rules and then sudo cp dronin-linux_Release-20180212.udev /etc/udev/rules.d/45-dronin-permissions.rules && sudo udevadm control --reload-rules . Also please ensure your user is in both the plugdev and dialout groups as is appropriate for your distribution.