Informal OpenHD project roadmap

This is a general roadmap for the near future, a non-exhaustive list of things we’re working on. Aside from new features, the project is being gradually cleaned up and modernized under-the-hood to make things more reliable and easy to work with.

OpenHD 2.1

  • Packaging and in-place upgrades, you won’t have to rewrite images all the time. You will be able to upgrade the ground and air side even if neither of them have direct internet access
  • Multi-platform support, initially a few of the NanoPi models, as well as the Nvidia Jetson and test images for x86 PC hardware
  • Record-on-arm, instead of recording all the time, to prevent wasting limited recording space
  • Expanded RC channel support in the OpenHD RC system (currently hardwired for 8 axis channels and 10 buttons)

OpenHD 2.2

  • A comprehensive camera service, able to autodetect any connected cameras as well as detect the resolutions and frame rates they support. You will not have to edit files and guess which USBCamera line changes will work (though you will still be able to manually set things if you want to)
  • Live camera setting changes (not during flight unless you want to, but no need to reboot)
  • Insta360 camera bitrate control (reverse engineering work already done, will be part of camera service), the default bitrate is too low for FPV as only a small percentage of it is “spent” on the part of the video seen during flight
  • Air-side recording, based on the new camera service
  • Air-side settings. When you turn on and connect your ground station to one of your drones, the ground side will auto-configure itself to match the hardware/camera/settings on that drone. This will make it unnecessary to run SmartSync all the time

OpenHD 2.3 (tentative, may be moved earlier)

  • Realtime band monitoring/display, to help users pick a free channel and avoid interference as much as possible. Might show a warning if the chosen frequency looks crowded or noisy
  • Air-side 3D camera rendering for “virtual gimbal” (RC control or head-tracking), also allows us to use the available video bitrate smarter by only sending the visible part of the viewport (this will be optional, you can always send the 360 video as-is too)

Image building

  • The image builder is quickly transitioning from a full source code building system, to a set of packages to preinstall on images for different platforms. This reduces the image building time from 1-2 hours down to about 10 minutes, allowing new contributors to get involved quickly and test their changes without waiting for hours
  • The components that we preinstall on images can be cached on the build machine, allowing rapid rebuilds and even offline builds
  • Fully automated releases on CI infrastructure, both the packaged components and full images

I will chime in here with a few things I am working on. Right now my primary interest is in general usability and data displayed in the qopenhd app.

  • more widgets to display telemetry data
  • bug fixes to said widgets and usability improvements

Almost complete:

  • display adsb traffic on the map. Data is retrieved from the opensky network via their api and then displayed with altitude, speed, heading, and callsign. Requires a data connection

  • “blackbox” almost all telemetry from the osd is stored in a qt model. There is a simple scrub/play/pause control to essentially replay your past telemetry

  • unrelated to the qopenhd app is experimental Lte modem support for the airpi. Plug in an Lte dongle to the airpi, the dongle sends video only to a zerotier account, the zerotier account can be accessed by any internet connected device and play the video (essentially eliminating a groundpi)

Future plans/ideas: (in no particular order as my interests shift around :smile: )

  • adsb compatible sdr allowing live adsb data to be captured on the pi
  • adsb traffic alerts like aircraft tcas
  • blackbox data synced with video for playback
  • better battery/range “point of no return” calculation
  • flight path vector conformal and non-conformal modes
  • bank angle indicator
  • info/tooltips for osd widgets
  • telemetry/osd animation tweening
  • battery volts show one more decimal point
  • experimental wind widget improvements
  • rolling average for card stats
  • post flight report
  • declutter options similar to old osd
  • rssi for regular rc
  • fc temperature widget
  • live weather data from api
  • groundpi lte support
  • drone trails (breadcrumbs) on map and “find my drone”