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 everyone,

    since my MinimOSD should arrive any minute now I also thought I should jump into the discussion :)

    About the coding: are you guys using some git repository like the rest of the Ardu{Plane, Copter, Station, etc.} code? That would make life a lot easier, compared to uploading zip files and cut&paste code parts. I don't want to come across negatively, it's just a fact. Especially if people like to have their own modifications, which seems to be the case. The config tool is nice of course but more fundamental changes (PAL vs NTSC, etc.) would need to be done in code anyway (if autoselect doesn't work for example). Just a thought.

    Cheers, Andre

  • Neat, - VERY nice, basically, all I requested, hope this will be standard part of the firmware, will fly it as soon weather gets better.

  • Hello!

    Can you add such parameter as "Altitude above launch position"? It looks very useful.



  • Gábor

    I moved all may changes to your code and changed that a little. I am uploading for you to look at.

    In it's present form it will change pages only with the RC transmitter. You will if you watch the display see for a split second that there is a change. I know the reason is I set the osd_off depending on the transmitter slider. It uses channel 6, any channel from your transmitter, but that input to 6 of the APM.

    If you comment out the first 9 or 10 lines at the start of the OSD_panal, it works with your code, and gives 3 screens.

    No how to do a user interface to choose what they want on screen 1 & 2. Leave 3 blank.

    let me know if you can find a way to get the screen change codes to work together.




  • Someone please post a video of this firmware Flying! 

    A "tlog" would also be nice. :)

  • I just had a thought about multiple screens without using an extra channel. Currently Gabor uses a mode toggle to turn the screen on and off, what if the mode toggle caused the next screen to display.

    Instead of <On-Off-On> it could step through <Screen1-Screen2-Screen3-Off-Screen1>.

    Also, any chance of splitting the Longitude and Latitude so that they can be displayed separately?

  • Great initiative! Please note below another thread with some nice features (including the RSSI stuff). Maybe you can incorporate some of them in your nice firmware.

    To solve the Charset Update problem (not the permanent solution), you can comment the charset update line in the program (I did in mine and works fine, but if you need to update the charset you need to go back to the old firmware, update charset, and then flash the new firmware again).

    I was thinking in maybe adding a delay(4000) 4 seconds in the startup of the OSD. Maybe this can solve the problem because the OSD will start later than Ardupilot. Can someone maybe test this?

    Continue with the nice work!



  • Hi Gabor,

    I installed your 1.25 revision in to my OSD this evening. It's raining outside so I can't go out and get a GPS lock, but so far I can report that everything seems to be working.

    My only critical observation is that the bottom rows of the OSD don't appear on my screen. I set the config program to NTSC, but it looks like it's still showing in PAL mode. I squashed everything in to the top 2 3rds of the rows and it all appears ok. The home arrow and distance doesn't show up but I assume that's because I don't have a GPS lock.

    The toggling of the OSD seems to work, it switches back on again straight away because of the warnings but that just means the warnings are working correctly too.

    Advice would be appreciated re the NTSC rows not displaying correctly. The only other clue I have here is that I put airspeed in the middle of the left hand side with ground speed on the row below it. On the FPV screen it looks like there's two or three rows between air and ground speeds. Let me know if you want a screen shot.

    Thanks for all your great work,


  • Developer

    Hello everyone,

    I have posted a new enhancement request in the arduplane repository/wiki. It is about include native support from Arduplane code for RSSI and secondary battery voltage readings:


    I hope that they take account of this request. I see we are many in the community those would like to see the RSSI and the voltage of a second battery.


    Regards from Spain,


  • I have made a new function.

    It is OSD on/off

    At the moment it works this way;

    If you switch between stabilized, and manual mode faster than 1,5s but slower than 1s than it will turn off/on.

    It is not the best solution of this function, but i did not have better idea. Not yet.

    Also i think that my code on this function is a bit too circumstantial.

    So, if you know a better way, please write it down! ;)

    If warnings function is on, and any warning is present than it will turn osd on automatically, and osd can't be turned off, till warning is off.

This reply was deleted.