Adding extra functions to MinimOSD

I have started to add functions to MinimOsd code.

At first i did it for myself only. Added many functions i thought i need. Then opened this thread.

after a while, Pedro and later Miguel came, and things started to happen fast. :D

They have optimised the code and added even more things to it.

They have worked hard on CT, and it became a great tool!

Thank you Bough! :)

By now MinimOSD-Extra got a pretty advanced OSD.

Here it is in action:


- Changeable unit measurement (US, metric)

- Airspeed

- Home alt

- Battery Percent

- Battery used mah

- Current Draw

- Time From Startup (cleared at takeoff to show exact flight time)

- OSD Menu

- Variometer

- Wind horizontal speed and direction, and also the average wind speed of the last few minutes. 

- OSD on/off

- Switchable secound screen

- WP distance

- WP heading

- Crosstrack error

- Warning messages for Lost GPS fix, Stall, Overspeed, battery volt, battery Percent, RSSI

- Efficiency, glide distance & thermic notifier. 3 in one panel

- OSD Brightness

- HAM Call Sign

- After flight summary

- Trip distance

- Temperature

- Smoothened horizon

- Real heading


- Vertical speed

This functions can be turned on and off, and placed on different screens now, by the Config. tool.

Also RSSI, switching mode and channel and unit measurement, Stall speed warning, Overspeed warning, Battery warning volt, Battery percent warning, RSSI warning,  can be set in new Config Tool.

We built in a new way of setting video standards. Now OSD does not guessing anymore :). You can set it fixed from CT. It is in "Video Mode" menu.

Here is how it looks: (This video is a bit outdated, sorry. I will make a new one soon.)

The MinimOSD-Extra project is here: Link

This project is the developing version of the official Arducam OSD located here: Link

The latest stable version is: 2.2

The latest version can be downloaded from here: MinimOSD-Extra R800

Username: MinimOSD_Extra

Password: Top_Secret

CT is included. (The FW for Plane, Copter, Character upload and the character file is in the "FW & Char" directory inside CT directory)

We are sharing it to see videos you make using it! :)


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Hi guys,

    Just thought I'd update with my issue here, in case anyone ever has a similar problem(s):

    My camera failed completely a couple of days after I posted the problems I had with getting the MinimnOSD overlay to appear and stay there... I wonder now if the failing camera created this problem all along, as with a new camera the osd works fine.



  • I have made some changes.

    Added summary that comes up after landing. (THX Virgis for the idea)

    Alos made one panel of wp distance and WP direction to save a bit of space, and added xtrack error to it, so it is 4 in one now. (WP number, WP distance, WP direction, and xtrack)

    Also added max windspeed to WS panel.

    It is only in source now.


  • First video of the Immersion RC EzUHF RSSI & Link Quality on a MinimOSD.

    The RSSI value is from 0-100 with 0 best and 100 worst and Link Quality is in % 100% best and 0% worst. Just like the EzOSD.

    Now I'm using channel 5 and 6 from RX and APM in PPM modus. But today ImmersionRC anounst a new firmware for 12Ch PPM modus. So then I can us channel 9-10 for RSSI and LQ output so I won't lose any channels. I will make a full tutorial + firmware download when all is ready.


  • Pedro, where does one learn (tutorial) to add code like the rssi to the APM. I am not familiar with Arduino programming.


  • Dear Gábor!

    I can't find message where you ask about my modification (to reset Home distance every arming)

    so here it is

    added if 

    if (motor_armed == 0 && osd_got_home == 1) // If we disarmed, let's reset home on the next arm
      osd_got_home = 0; // to set new home when we will be armed again
    and was modified this string

      if(osd_got_home == 0 && osd_fix_type > 1 && motor_armed == 1){ // New home will be set only whith arming

  • How about adding the option of flipping the screen?

    For saving money I bought a car rear view camera. This camera performs a stupid mirroring of the image so that if you look at the display in a car it looks like you're looking to a mirror. Luckyly the screen I bought also features an optional flipping of the screen so I just flipped twice and everything worked fine but when I put the OSD on text are mirrored :(

    The MAX7456 doesn't have a mirror function so this would need the creation of mirrored characters and so on... Is this feasible?

  • Ok, I have the EzUHF RSSI & Linkquality up and running. Everything works exactley like I wanted it. Not bad for a non-coder he? Soon I will test it and make a video.

    Now I use the chan_raw values. If I want to release the code, the chan_raw will be slightly different for the other users.
    Better would be to use the calibrated "chan_scaled" values. But I can't get them to output on the OSD.

    What I did:

    In MAVLink.ino I put:

    chan1_scaled = mavlink_msg_rc_channels_scaled_get_chan1_scaled(&msg);
    chan2_scaled = mavlink_msg_rc_channels_scaled_get_chan2_scaled(&msg);
    chan3_scaled = mavlink_msg_rc_channels_scaled_get_chan3_scaled(&msg);
    chan4_scaled = mavlink_msg_rc_channels_scaled_get_chan4_scaled(&msg);
    chan5_scaled = mavlink_msg_rc_channels_scaled_get_chan5_scaled(&msg);
    chan6_scaled = mavlink_msg_rc_channels_scaled_get_chan6_scaled(&msg);
    chan7_scaled = mavlink_msg_rc_channels_scaled_get_chan7_scaled(&msg);
    chan8_scaled = mavlink_msg_rc_channels_scaled_get_chan8_scaled(&msg);

    in OSD_Vars.h

    static uint16_t ch_scaled = 0;
    static uint16_t chan1_scaled = 0;
    static uint16_t chan2_scaled = 0;
    static uint16_t chan3_scaled = 0;
    static uint16_t chan4_scaled = 0;
    static uint16_t chan5_scaled = 0;
    static uint16_t chan6_scaled = 0;
    static uint16_t chan7_scaled = 0;
    static uint16_t chan8_scaled = 0;

    And in OSD_Panels.ino

    "chan5_scaled" where I wanted it to output

    But I can't get any output.
    Is there something I'm missing here ?

  • Hi

    How many firmware versions exist?

    Is there MiniOSD and MiniOSD Extra (or something like that)?


    Where do I find this firmware?


    Thanks for helping.

  • Good day!

    I have made simply modification, and now Home distance became zero meters after each arming. Very useful.. may be it will be good to include it's feaure to the original firmware?



  • Ok, I am really at a loss to explain this... after uploading your R442 I received the full OSD extra experience on a couple of reboots but today, nothing! Just a screen showing the camera display, but no osd info. I do see the booting image (2.1 R442) but then a burst of static and back to the camera display picture. Twice I did receive the osd data overlaid, so it works, but only sporadically.

    Any help very much appreciated! :)


This reply was deleted.


DIY Drones via Twitter
RT @chr1sa: After more than a year of only virtual races, @DIYRobocars returns to the newly renovated @circuitlaunch on May 22 for the resu…
Apr 11
DIY Drones via Twitter
RT @DAVGtech: By far best race yet! Congratulations to the winner @Heavy02011 🥇🏆🍾👏👏👏 @diyrobocars @donkey_car @NVIDIAEmbedded…
Mar 20
DIY Drones via Twitter
RT @mrpollo: 11 years ago, the pxIMU was announced to the world on @DIYDrones, and it changed the life of many (mine included). The followi…
Mar 18
DIY Drones via Twitter
RT @ishcahealth: This is awesome! ☘️ @DroneDJ @DIYDrones @WorkerDrones @DroneMedia_UK @dublinaviation
Mar 18
DIY Drones via Twitter
Using ArduRover with an RTK GPS
Jan 18
DIY Drones via Twitter
Jan 18
DIY Drones via Twitter
Jan 14
DIY Drones via Twitter
An improved version of the Intel OpenBot
Dec 14, 2020
DIY Drones via Twitter
First impressions of Tinkergen MARK robocar
Nov 16, 2020
DIY Drones via Twitter
First impressions of the Intel OpenBot
Nov 10, 2020
DIY Drones via Twitter
Getting started with Robocars
Nov 1, 2020
DIY Drones via Twitter
RT @chr1sa: The US government just approved 5 US-made drones for purchase, all based on the @Dronecode @PX4Autopilot standard. Great news f…
Aug 20, 2020
DIY Drones via Twitter
RT @MarvelmindMaxim: Extreme precision for 60 swarming robots. #marvelmind #autonomousrobotics #robotics #swarmrobotics #rtls #ips #indoor…
Aug 3, 2020
DIY Drones via Twitter
RT @MarvelmindMaxim: Precise (±2cm) tracking for racing boats and autonomous boats. Works outdoor and indoor. #autonomous #AutonomousVehic…
Aug 3, 2020
DIY Drones via Twitter
RT @MarvelmindMaxim: Helping PixHawk folks to fly autonomous quadcopters using PX4 and ArduPilot. Equally suitab…
Aug 3, 2020
DIY Drones via Twitter
RT @davsca1: Here is the video of the performance. This paper was a huge group effort and more than one year of work, where we combined and…
Jul 16, 2020