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 developing version of copter is here: Link to Copter FW

And the latest Plane is here: Link to Plane FW

In bough version, the CT is included. (The FW and the character file is in the root directory)

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


Views: 148058

Reply to This

Replies to This Discussion

Hello everyone,

For those who wants to read a second battery Voltage and show it on OSD...

I have a Remzibi OSD with MinimOSD software ported to real C+, so next explanation is not exactly the same for an Arduino based device like MinimOSD, but it must works. Just you have to do is implement in your code a "case" to read MSG_ID_BATTERY2 from Mavlink datastream.

On first, update your Mavlink libraries from code repository on GitHUB.

Then add this to MAVLINK.ino:
        osd_vbat_B = (mavlink_msg_battery2_get_voltage(msg)/1000.0f);
        osd_curr_B = (mavlink_msg_battery2_get_current_battery(msg)/100.0f);

Next you have to do is define in OSD_Vars.h the new variables and panel coordinate holders:

   static float      osd_vbat_B = 0;               // voltage in milivolt
   static int16_t      osd_curr_B = 0;           // Battery B current

   byte panBatt_B_XY[2]; // = { 23,3 };
   byte panCur_B_XY[2]; // = { 23,4 };

And finally, add a new OSD panel in OSD_Panels.ino:

   if(ISa(panel,BatB_BIT)) panBatt_B(panBatt_B_XY[0], panBatt_B_XY[1][panel]); //7x1
/* **************************************************************** */
// Panel  : panBattery B (Voltage 2)
// Needs  : X, Y locations
// Output : Voltage value as in XX.X and symbol of over all battery status
// Size   : 1 x 8  (rows x chars)
// Staus  : done
void panBatt_B(int first_col, int first_line){
    osd.setPanel(first_col, first_line);
    osd.printf("%5.2f%c", (double)osd_vbat_B, 0x0d);

Remember to assign unused coordinates to the new panel...
This is not plug and play code... you need to modify it for your conveniences.

Of course you have to activate and config BATTERY2 readings in Ardupilot with APM Planner or Mission Planner GCS Software.

Regards from Spain,



Thats great.

Are you missing some code?  I don't see where 'mavlink_msg_battery2_get_voltage'  is defined anywhere?


Also, is 'CT tools' utility closed source?  I'd like to modify this to include 'BatteryB' so I can place the text graphically on screen, and not have to hard code MinimOSD Extra if possible.

 Hello everyone,


Take a look at this...

Battery2 Mavlink message definition

There you can see how battery2 readings are implemented through Mavlink datastreams. Remember update your libraries to the last version in order to make it works.

CT tools is Open Source. You can find the files here:

MinimOSD Extra repository 

Hope I help you.

Regards from Spain,


Please give me the link to the latest developing version of copter minimosd extra (HEX file for r795)


© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service