Skip to content

MAVLINK installation

ShikOfTheRa edited this page Aug 8, 2023 · 48 revisions

Supported Mavlink configurations

This page describes some of the methods for configuring and using MWOSD with Mavlink based Flight Controllers running the following firmware:

  • Ardupilot (e.g. ArduPlane/ArduCopter)
  • PX4

Read here to help determine the correct choice

If you are not sure – if you use Qgroundcontrol select PX4 otherwise select Ardupilot


Installing and configuring OSD firmware

  • Purchase and download the PC GUI configurator.
  • Connect OSD via USB and install any drivers necessary.
  • Select Com port.
  • Click "Flash" Icon, Select firmware from drop down list and click ""Load online hex firmware".
  • Click "Flash FW" button.
  • Select correct baud rate.
  • TAKE NOTE: Default MWOSD baud is 115200. For default Ardupilot/PX4 set it to 57600.
  • Click "Connect" icon and amend settings as you require.
  • OSD will require fonts to be uploaded from GUI.

Important notes

  • OSD are normally connected to TELEM2 on Pixhawk. Others may/will vary.
  • 57600 is default serial baud rate for Ardupilot/PX4.
  • Baud rate in OSD and Ardupilot/PX4 must match.
  • Set port to be Mavlink V1
  • MWOSD GUI emulator currently only supports MSP - not MAVLINK.
  • Video voltage requires a direct connection to the OSD currently.

Common GUI settings

  • For Voltage from Flight Controller set "Use Flight Controller" on GUI voltage tab.
  • For Amperage from Flight Controller set "Use Flight Controller" on GUI amperage tab.
  • NOTE: RSSI from Flight Controller is not always implemented correctly in many MAVLINK FC.
  • NOTE: If using RSSI from FC, recommend using 2600 as starting upper calibration value.
  • If RSSI from FC does not work, use direct or via FC RC channel.
  • For RC menu or Throttle data set Transmitter type on GUI other tab.(1.8 onwards). Guide
  • If required, reverse channels as necessary on GUI other tab.(1.8 onwards). Guide
  • Set MAVLINK SYS ID. Default is 1.(1.8 onwards).

ARDUPILOT (ARDUPLANE/ARDUCOPTER) - Configuring the MAVLINK settings

  • Connect to Mission Planner.
  • Go to config/tuning.
  • Locate serial parameters in parameter list.
  • Enable serial telemetry - SERIALX_BAUD, 57 (telemetry output at 57600 of serial port X).

On the MWOSD GUI, as of version 1.8.2, there is now an option which attempts to autoconfigure OSD default mavlink settings. Alternatively, enter the following parameters and save:

  • SERIALX_BAUD, 57 (telemetry output at 57600)
  • SRX_EXT_STAT, 3 ( 3hz for waypoints, GPS raw, fence data, current waypoint, etc)
  • SRX_EXTRA1, 10 ( 10hz for attitude and simulation state)
  • SRX_EXTRA2, 5 ( 5hz for VFR_Hud data )
  • SRX_EXTRA3, 3 ( 3hz for AHRS, Hardware Status, Wind )
  • SRX_POSITION, 3 ( 3hz for location data )
  • SRX_RAW_SENS, 3 ( 3hz for raw imu sensor data )
  • SRX_RC_CHAN, 3 ( 3hz for radio input or radio output data )

PX4 - Configuring the MAVLINK settings

  • Connect to QGroundControl.
  • Set SYS_COMPANION to OSD mode (157600) to enable OSD data stream.
  • Ste port to Mavlink v1
  • A reboot is required after changing SYS_COMPANION.
  • PX4 documentation.

Default PX4 OSD refresh speed is quite low. If this is an issue, for improved screen refresh speeds, edit (or create) extras.txt on SD card in the "etc" folder. i.e. "/etc/extras.txt". The following should be included (note example is for serial 2 - ttyS2):

  • mavlink start -d /dev/ttyS2 -b 57600-m custom
  • mavlink stream -d /dev/ttyS2 -s RC_CHANNELS -r 3
  • mavlink stream -d /dev/ttyS2 -s HEARTBEAT -r 1
  • mavlink stream -d /dev/ttyS2 -s SYS_STATUS -r 3
  • mavlink stream -d /dev/ttyS2 -s VFR_HUD -r 10
  • mavlink stream -d /dev/ttyS2 -s ATTITUDE -r 15
  • mavlink stream -d /dev/ttyS2 -s GPS_RAW_INT -r 3
  • mavlink stream -d /dev/ttyS2 -s SYSTEM_TIME -r 3
  • mavlink stream -d /dev/ttyS2 -s STATUSTEXT -r 3
Clone this wiki locally