The OSD (On Screen Display) enables useful information to be superimposed on a video signal to an FPV pilot.

MWOSD can be used since the 16.09 - Black Rhino support the MSP protocol.

Latest sources can be downloaded from the Github repo.

Connection diagram

In this page

Hardware connections

All boards

Communication between flight controller and OSD is done using a MSP serial telemetry

JST connector

Main / Flexi port

Connector pin (board)




Please note Tx/Rx lines are crossed

Go to the Hardware page and configure one port with MSP telemetry, can be MainPort or FlexiPort.
Reboot the board to apply changes.

Connect the OSD to the board using a JST SH 1.0mm according to the schematic.

Revolution only

Revolution board can provide extra telemetry on FlexiIO port (receiver port), for normal operation no need the DTR pin wired.

JST connector

Revolution FlexiIO

Connector pin (board)



9 (for programming)DTRGRN or DTR

Two options are available for telemetry output on FlexiIO (receiver) port, can be MSP or PPM+MSP.


Programming Setup

Using the Revolution board

With the Revolution board you can use the FlexiIO port for telemetry. With the optional DTR pin wired with minimOSD the board can be flashed with firmware.  This feature offers the major convenience of being able to program the minimOSD without disconnecting it from the Revolution board. This is an alternative to using the FTDI breakout board as described below. To use this option, follow these steps: 

Connect the receiver port with the minimOSD board. Please note the programming cannot be done without DTR pin wired.

Setup Revolution board as follows :

1 - Connect Revolution board to the computer.

2 - Go to the Configuration Tab and Hardware tab.

3 - For USB VCP function, select ComBridge.

4 - In Receiver Port (FlexiIO), select ComBridge.

5 - Save and reboot board.

Be sure the revolution board is powered with 5V.

When programming of the minimOSD board is completed, open Librepilot and reconnect to the Revolution board. Restore the settings to the USB VCP function port and the Receiver Port (FlexiIO) port. Save and reboot the Revolution board.

Using FTDI device

Connect FTDI device with MinimOSD as follow

Flash firmware

For MWOSD versions above 1.6.8 will need to use the new Google extension (not free) to configure osd settings.

Two options can be used for flash the firmware:

  • Using Arduino and latest sources from MWOSD project.
  • Using the ConfigTool from the previous MiniOPOSD project and use .hex file.

First you need to download the last sources and GUI config tool from MWOSD Github repository

  • Click the button and click the "Download ZIP" link

  • Extract the archive to a location of your choice.

Using Arduino

Download and install Arduino

  • Connect the OSD to the FTDI adapter, and that to the PC.
  • Start Arduino IDE.
  • Select File > Open and Browse to the MW_OSD folder where you extracted the Github archive.
  • Select the 'MW_OSD.ino' file
  • A new Arduino IDE will appear. Close the other window as it it no longer needed.
  • If you have not already done so, make sure to do the following: From the MW_OSD Arduino window, choose the appropriate board.
    For most MinimOSDs go to menu Tools > Board > Arduino Pro or Pro Mini 5V, 16MHz, w/ ATmega328.
    Select the proper serial port in menu Tools > Serial Port.
  • Switch tabs in the Arduino IDE to "Config.h"
    • Choose your hardware and uncomment what you need, can be minimOSD, microMinimOSD or others
    • Search for //#define LIBREPLOT and uncomment it (remove // in front), be sure this is the only controller software uncommented.

  • Click on the "Upload" button and observe the serial console at the bottom of arduino.
    Success is noted as white text on black background stating just the binary sketch size.
    If messages in red letters appear, something went wrong.

Using ConfigTool

Here is Hex files already compiled that can be flashed using the ConfigTool.

MWOSD firmware

(version 1.6.8, use for configuration)

HardwareFirmware file

Download and extract archive:

This is a standalone application and so doesn't require further installation.

Start the config tool:

1 - Select the right port, like COM1, the one used by FTDI or Revo-ComBridge

2 - Go to Options menu and Update Firmware...

3 - Select the firmware set file where you saved it on your hard drive and click the "Open" button

4 - Wait the process is complete, MWOSD firmware is flashed now.

Configure MWOSD


Go to the folder where you extracted the GitHub archive browse to the MW_OSD_GUI and choose your operating system.
If you used the ConfigTool method for flashing firmware, the matching MWOSD Gui can be downloaded here:

  • Start the MW_OSD_GUI executable
  • Click the Com port used to connect the OSD (this assumes the OSD still connected using FTDI or Revo-ComBridge)

Now you can now choose the options you want displayed in the OSD screen.

Start with a default settings configuration:

Click the

DEFAULT button


WRITE button

For a Revo or Sparky board with current sensor connected to the controller board, this options can be useful:

  • Use FC main voltage
  • Use FC amperage
  • Use FC RSSI (receiver quality or OPLink Rssi if used for control)

To apply the changes, click the WRITE button before disconnect.

Configuration can be loaded or saved, here is the config file used in this example:

For more information about MWOSD configuration and usage please take a look at:

Update font / charset

If you previously used the MiniOPOSD firmware, you need to update the charset using the "Font Tools"

Click the UPLOAD button and wait the charset update

RC sticks

Most MWOSD settings can be set using the sticks from the RC radio, be sure the rates uses fast refresh (see next part)

To enter the Setup screen:

  • Throttle middle
  • Yaw right
  • Pitch full

Sticks allow browsing between pages and various settings:

  • Pitch: Move cursor Up/Down
  • Roll: Move cursor Left/Right
  • Yaw: Increase/Decrease value or validate

MWOSD allow changing the onboard PID settings using RC sticks, please do not use yet with 16.09 because the "D" term will be zeroed. (issue LP-462)

Refresh rates

Refresh rates should be fine for normal (flight) use. For setup screen changes and easy stick response you should modify ManualControlCommand refresh rate.

1 - Go to System tab

2 - In UAVOBrowser click View options button and check Show Metadata

3 - Browse the the "Data" part and find ManualControlCommand UAVO. (or use the search tool)

4 - Click the little arrow close to the Meta Data field

5 - Change Flight Telemetry Update Period to something lower, like 250ms

6 - Save changes

Others UAVObject rates can be modified and lowered as well, for smooth position and velocity changes:

  • GPSPositionSensor
  • GPSVelocitySensor


Enjoy !