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 –


  • To use the rotation screen feature you need to use the Trainer Switch.


    • AlbeEagle, I'm lacking context here. Are you talking about switch OSD rotation or flight mode based rotation?

      And I don't understand what you mean by "you have to use a trainer swtich". On my Taranis, I can assign any switch I want to any channel I want.

      • I think he is making reference to the Trainer Switch as it is a non latched switch and will return automatically when you let it go.  You really do not have to use this switch and as you say on the Taranis you can assign any channel to any switch or pot,  I think he is talking about simplicity of use here.  Unfortunatly for me I don't have any spare channel capacity on the receiver and I have to use the Mode Switch method :-(

        • Got it, he was telling me how to use the original code that burns an entire channel just for OSD rotation.

          Indeed that's great if you have spare channels, I don't (I use 14 for that matter, and channels below 8 are premium, so I only have one spare with 7 channel motor glider with crow flaps). I can now use channel 8 for OSD rotation, turning my cameras on/off, and activating geofencing with ardupilot, all on the same channel with the same switch (obviously you couldn't do that with the old code).

  • I just spent time adding a switch double flip OSD rotation function.

    This allows you to reuse any switch (flaps, gear, lights, whatever) and flip it to any position and back within 1 second. If you do, this will rotate the OSD screen. This is available in Version 807 with precompiled binary for plane. Anyone with copter can easily port my code and test it (I don't want to maintain a branch I'm not testing).

    In turn, this makes the mode switch rotation code redundant (and it never worked right for me anyway), so I was able to delete it in version 808, where I made other cleanups.

    My repo is here:

    The tree I added code in:

    Firmware with new rotation code:

    Firmware with code cleanups and mode switch rotation removed (please test this if you can, and go back to R807 if it doesn't work for you):

    (I was able to free up 188 bytes)

    I sent this for merging in the main repo, but for now you can report problems to me:

    MinimOSD-Extra. Contribute to marcmerlin/MinimOSD-Extra development by creating an account on GitHub.
    • My version already does this or am I missing something here??

      • What does your version do?

        rotation switching with a switch will rotate the OSD forever (once a second) if your switch is on anything but down

        this means you can't use your switch for anything else.

        My version switches the OSD only if you move the switch to any other position and back within 1 second. This allows the switch to be used for anything else and you can even use mode switch (APM 6 position switch) for this.

        The APM mode switch rotation code does exist, but

        1) it doesn't work for any switch, just the mode switch

        2) it just didn't work well when I tried it. Sometimes it would rotate when I didn't want, and other times, I really wanted it to rotate and I couldn't get it to.

        • My version does this with the mode switch same as you state by moving it back and forth in one second will change the OSD display to 1, 2 or off.  It is settable in the configurator as to how you have it function.


          • Yes, I know about the mode switch feature. It did not work reliably for me, that's all I can say.

            Sometimes it would rotate, and sometimes it would get stuck

            My code allows to do this reliably with either the mode switch, or a 2-3 position toggle switch (it combines and improves the 2 separate code paths that tried to do this into a single smaller one, saving program space for more functionality)

  • Hi,

    I was wondering if you had a version of this that speaks UAVTalk for Open/Libre pilot?

    I found and used the libraries from and fixed it to build on Arduino 1.6.5 and it seems OK but it would be nice to merge the code in so I can take advantage of your improvements :)

    Is your code available somewhere? If so I can try merging it in myself.

This reply was deleted.


DIY Robocars via Twitter
RT @DanielChiaJH: Great racing against @a1k0n today at @diyrobocars! Pretty cool to both break sun-9s at the track today I think I got very…
DIY Robocars via Twitter
Broadcasting the @circuitlaunch race live now at Races begin around 2:00pm PT
DIY Robocars via Twitter
RT @a1k0n: ran a huge number of hyperparameter tuning experiments yesterday; now I can train a new policy, far with better quality, in 15 m…
DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Sep 26
DIY Robocars via Twitter
Sep 24
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car
Aug 28