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 –


  • I have a 'possible feature' request.  Using MinimOSD with the APM 2.5, I'd like to have a mAh Consumed display.  I'm not sure if the APM calculates this for the MinimOSD to extract and display.  If it does, and it can, I think it'd be a nice addition.

  • Hey guys, I just got the MinimOSD working yesterday. I've updated the firmware and characterset using the OSD Configurator software (great job, folks!).

    However, the panels spill off the HUD. That is, the dimensions of the panel seem much bigger than the video stream dimensions. Is there a setting for video resolution, or some other way I can solve this problem? I can only see about half of the indicators on the panel. For reference, I'm using an APM2.5 with ArduCopter 2.9, a Lawmate 1.3Ghz Rx/Tx pair, and this Iftron NTSC camera. I had the video Rx output to a projector because that's all I could find with composite input on short notice.

    Thanks in advance, Josh.

  • Hi,

    reading the discussion about radar, I found it a good idea and coded a little yesterday.

    The GPS data in the test video is only simulated, because currently I have no time to fly.

    The quad comes out of the middle at about 00:09:

    If you like a plane icon more, you can change the icon in the mcm file.
    We could also code that the quad or plane is shown with different heading directions, but for that we had less chars free in the mcm file (when using the artificial horizon with the better resolution).
    But I will take another look for 8 free chars.

    The used grid for the radar is currently configured to 14x9 chars, but this is changeable easily by defines.

    And there is an auto scaling, currently set to 250m, which is also changeable easily by defines.

    If you like, the code is at the same place where my artificial horizon with the better resolution is located.

    The code is as follows:

    // Panel  : panUAVPosition
    // Needs  : X, Y locations of center
    // Needs  : globals: osd_home_lat, osd_lat, osd_home_lon, osd_lon
    // Output : shows the UAV position in a radar like style
    // Status : do flight test

    #define    STEP_WIDTH    250            // every STEP_WIDTH in [m] it is down-scaled
    #define    SCALE_X        ( 7.0 / STEP_WIDTH)    // SCALE_X * 2 chars grid in which the uav is drawed
    #define    SCALE_Y        ( 4.5 / STEP_WIDTH)    // SCALE_Y * 2 chars grid in which the uav is drawed

    void panUAVPosition(int center_col, int center_line) {
        static int last_x = 0;
        static int last_y = 0;
        // distances from home in lat (y) and lon (x) direction in [m]
        int dy = (int)(111319.5 * (osd_home_lat - osd_lat));
        int dx = (int)(111319.5 * (osd_home_lon - osd_lon) * cos(fabs(osd_home_lat) * 0.0174532925));
        // display offset in y and x direction
        int y = (int)(dy / (((int)(abs(dy) / STEP_WIDTH) + 1) / SCALE_Y));
        int x = (int)(dx / (((int)(abs(dx) / STEP_WIDTH) + 1) / SCALE_X));
        // clear UAV
        osd.openSingle(center_col - last_x, center_line + last_y);
        osd.printf_P(PSTR(" "));
        last_x = x;
        last_y = y;
        // print UAV
        osd.openSingle(center_col - x, center_line + y);
        // print home
        osd.setPanel(center_col, center_line);

    Have fun, bye

  • Well, it is possible.

    Can you send me pictures?

    I would like to take a look.


  • Hi,

    Saturday I was able to test MinimOSD Extra 2.1.5 Copter Pre Release Version r479.

    To keep my notebook inside my car, I had my video receiver antenna near my car (<1m).

    Worst decision ever: I thought I knew what multipath interference was...

    ( please don't look at the video too much time :S )

    So, temperature is ok.

    Vertical Landing Aid seems to be ok.

    Efficiency has to have a little more copter custom work.



  • Thursday flight with 2.68 ArduPlane and r458 MinimOSD extra firmware.

    Going to send today flight video with ArduPlane v.2.70 and firmware r462 MinimOSD extra.

  • I just got my minimOSD1.1 and have some slight problem. I have minimosd set to PAL but the characters are off the screen on the left and right. As I understand it, I only need to set minimosd to PAL or do I need to set something else also to PAL?

    I downloaded both from here and uploaded the hex.

    If necessary, I can post a picture of the display.

  • Hi, i m not getting C/R values on minimosd and all other values are showing properly. C/R values are showing properly in Mission Planner. i am using 2.1.5 r463. 

  • Hi,

    Some APM code is plane/copter specific.

    Furthermore there are specific flight aid needs for planes/copters.

    That said, there is the need to develop plane/copter specific "minimOSD" FW


    The good news: There is a custom firmware for copters! :D


    I'm working with Gábor so we can mantain the code as much similar and share code improvements.

    I would like to ask copter guys to test this pre-release (attached hex).

    Hopefully bad weather will give me some time window to try it this weekend.


    Changes done:

    1 - Temperature bug fixed.

         No more hundreds of Celsius degrees (if so it's because there is really something wrong :S )

    2 - Copter specific efficiency panel:    

         Here is how it works:

         While in a hover it shows estimated remaining flight time. It is based on battery % consumed and elapsed time.        

         Moving around shows number of mAh needed to flight a Km (same as plane, may need some copter customization).

    3 - Vertical Landing Aid:

         Is an horizontal mark in the Horizon panel that moves up and down.

         This mark represents ground level.

         When copter is on land it is in the center of the panel.

         As copter climbs mark moves down.

         As copter descends mark moves up.

         The mark movement range is between -5m and 5m.

         The goal of this mark is to aid people make smooth landings.


    Hope you like it!

    Waiting for your comments :)




  • I uploaded recent ArduPlane firmware 2.7.0 and uploaded recent MinimOSD firmware r462. Just ground tested. Not sure what causes throttle amount to not to be displayed correctly. It shows 100% when it is 0. If I try to move it, it shows 0%, but it is not at top. It shows just two values only 100% and 0%. Could you please tell me what could cause this. The throttle works and propeller is spinning normally.

This reply was deleted.


Santiago Perez liked Santiago Perez's profile