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 –


  • Good morning! (East Coast flyer here)

    I wanted to pass along some info that might help out a few people.  I had a heck of a time hooking up my MinimOSD to my APM 2.5 board.  The telemetry port is now a small plug-in type of connection so jumping off those connections is much more difficult.  You CAN use the UART 0 port on the side of the APM board though.  I connected the +5v, GND, and Tx on the APM to the Rx on the OSD and it is working beautifully now.  I have 1.29.1 loaded and a good char set uploaded and I am hoping to get a first flight soon!  Also I noticed that I am having much more success getting a solid char set uploaded when I have the video side powered up while I use the FTDI cable to upload it.

    Big thank you to everyone on here working hard to add features and refine this set up!  You guys rock and I love the work your doing on this.  Thank you all for your hard work! 

  • Hey Guys...I don't like the fact that you default to feet when NTSC is selected.  I think feet/meters should be separate from PAL/NTSC.

    Seems like if I do this, I'll get my meters back.  Is that the case?  I'll try and break out a separate menu item for video vs. measurements.

    if ( == 0){
    // converts = 3.6;
    // converth = 1;
    // spe = 0x81;
    // high = 0x8D;
    converts = 2.23;
    converth = 3.28;
    spe = 0xfb;
    high = 0x66;

    converts = 2.23;
    converth = 3.28;
    spe = 0xfb;
    high = 0x66;


  • Hehe!

    The project came alive!

    I think that i will just sit back and listen a bit. :)

    All the committers have really good ideas, it is good to see them working on this.

    Can't wait to see the result! :)

    I think this little team will make MinimOSD the best OSD! :)

  • Guys,

    I combined Burt's and my changes to the setup panel last night and also rewrote the warnings panel this afternoon. I've put the changes in the pre-release files. Can someone check them out and have a play to make sure they are user friendly.

    Thanks :)

  • With all the information people wish (I see requests for WP and RSSI), we must admit that the MAX7456 is not good enough in the long run - the more you display, the more cluttered the screen gets - and - we are completely missing analog indicators, and the increased readability they provide.

    For really cool graphics, and audio warnings - take a look at this project;

    Fortunately it's open source too - it would be sweet to make that read mavlink...

  • Gábor

    I have added Rssi to the projet from the code in the pre release folder.

    I also found a way to slow down the input in the setup menu to about one unit pre to second.

    My problem is I can't find out how to commit the changes to the area.

    So next best think is show some of the code here.

    in the write panels area this is the code to date.

    delay_setup = 0;
    if(ISd(Setup_BIT)) panSetup(panSetup_XY[0], panSetup_XY[1]);



            if ( delay_setup > 6 ){

              delay_setup = 0;

              if(ISd(Setup_BIT)) panSetup(panSetup_XY[0], panSetup_XY[1]);



    case 1:
    osd.printf_P(PSTR(" Overspeed "));
    osd.printf("%3.0i%c", overspeed, spe);
    uint8_t overspeed_old = overspeed;
    overspeed = overspeed + (chan1_raw - chan1_raw_middle) / 100;
    if(overspeed != overspeed_old) EEPROM.write(202, overspeed);


            case 1:


                stick_time = millis() / 1000; 

                osd.printf_P(PSTR("    Overspeed    "));

                osd.printf("%3.0i%c", overspeed, spe);

                uint8_t overspeed_old = overspeed;

                if ((chan1_raw - 100) > chan1_raw_middle ){

                  overspeed = overspeed - 1;}

                if ((chan1_raw + 100) < chan1_raw_middle ){

                  overspeed = overspeed + 1;}

                if(overspeed != overspeed_old) EEPROM.write(202, overspeed);



    I was able to make over speed, stall, & my RSSI menus work good, but ran out of space for the voltage.

    Will be posting a video in a few minutes, before I call it a night.

    Please if you can, How to I commit the changes?


    Burt Green

  • Hey guys, have a few great flights under my belt with the stock firmware.

    Any chance you could update the top (original) post with a link with the latest config and hex?

    It would help!  Thank you!

  • Moderator

    Is there any way to start showing Wapoints?

  • Pedro: this freaking thread won't let me reply to correct post.

    I am confused about the versions, Gábor uploaded 1.29.1 recently, now I booted your last posting, not knowing what was new and what was really fresh code.

    your latest file, at least what I think is latest, with MD5 03130fa5d12ead4d2ef5f90e6e3936a9  is crashing during voltage config.

    Once I try to adjust voltage, it does not adjust decimals, but only whole volts, one "touch" of the stick makes it start counting 14.1 15.1, 16.1 17.1 and then OSD crashes and reboots.

    The screenshot is from yesterday, even at altitude of 66m , I can't see anything, like ground. - due to humidity/rain.  (battery low warning is false alarm, because I did not configure the voltage threshold - percentage and voltage is reliable)

    Flying on conditions like that - requires a stable OSD. :) - so I'll stop test flights and wait better weather.

    BTW- telemetry using laptop is messy in rain, hoping for the android version soon - THAT will be sweet.


  • Just flew 1.29.0  (thank you)

    I can sonfirm that the overspeed is fiexed.

    however, I had "low-voltage warning" all the time.

    The voltage was fine , and even right after boot with 16.4v , and none of the 4Ah used.

    Please confirm.

This reply was deleted.


DIY Drones via Twitter
Dec 12, 2021
DIY Robocars via Twitter
Dec 12, 2021
DIY Robocars via Twitter
RT @chr1sa: Just a week to go before our next @DIYRobocars race at @circuitlaunch, complete with famous Brazilian BBQ. It's free, fun for k…
Dec 4, 2021
DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training
Nov 28, 2021
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Nov 26, 2021
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Nov 25, 2021
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23, 2021
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord:
Nov 23, 2021
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23, 2021
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20, 2021
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20, 2021
DIY Robocars via Twitter
Incredible training performance with Donkeycar
Nov 9, 2021
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge…
Oct 31, 2021
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29, 2021
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25, 2021
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉…
Oct 23, 2021