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! :)


Views: 293073

Reply to This

Replies to This Discussion

What I am going to do is add a 3dr radio + bluetooth serial+minimosd to the ghettostation, this way I have only 3dr radio connected to the telemetry port of the apm on the copter. this simplifies wiring a lot and should decrease emi. 

Also, even if my video link is down I would still have my OSD  info. adding a bluetooth to  3dr radio enables to pair it with any android device with stock ROM  no hassle with usb- host modes/custom roms.  at the same time when I want to use my PC i would also be able to connect to 3dr via bluetooth. so a completely wireless antenna tracker with directional video and telemetry possible. 

here is the rough schematic  3dr telemetry (tx, rx, vcc, gnd) connected to a serial-to-bluetooth module(rx, tx, vcc, gnd) + minimOSD only (Rx gnd vcc). minim receives video from 1.2 Ghz vRx overlays OSD and sends it to my 5.8ghz transmitter and to the fatsharks.  everything fits inside of the antenna tracker  except 1.2 vRx :) 

for general FPV flying I am planning on using just my android phone with basic telemetry info.  if I need full MP power just pair my laptop to the ghettostation via bluetooth and that's it. (disclaimer there are some kinks when connecting this way from a pc but nothing that couldn't be overcome). 

Well, this is how our panel looked like when we first added HDOP:

/* **************************************************************** */
// Panel : panGPSats
// Needs : X, Y locations
// Output : 1 symbol and number of locked satellites
// Size : 1 x 5 (rows x chars)
// Staus : done
void panGPSats(int first_col, int first_line){
osd.setPanel(first_col, first_line);
byte gps_str = 0x1f;
if(osd_fix_type >= 2)
gps_str = 0x0f;
osd.printf("%c%2i|%2i", gps_str, osd_satellites_visible, (eph / 100));


It is here: Link


Right now, it looks like this:

/* **************************************************************** */
// Panel : panGPSats
// Needs : X, Y locations
// Output : 1 symbol and number of locked satellites
// Size : 1 x 5 (rows x chars)
// Staus : done

void panGPSats(int first_col, int first_line){
osd.setPanel(first_col, first_line);

byte gps_str = 0x2a;
if (osd_fix_type == 2) gps_str = 0x1f;
else if (osd_fix_type == 3) gps_str = 0x0f;

if ((eph >= 200) && blinker)
gps_str = 0x20;

osd.printf("%c%2i", gps_str, osd_satellites_visible);

If you want to display exact HDOP value, change this line: (Only this line)

osd.printf("%c%2i", gps_str, osd_satellites_visible);

To this:

osd.printf("%c%2i|%2i", gps_str, osd_satellites_visible, (eph / 100));

(In OSD_Panels.ino, on panGPSats.)

So it will show HDOP value you have atm, under your original gps sats panel, and its icon will still blink if HDOP is higher than 2. :)


I was to say, that normaly video link is much stronger, or other words more reliable than telemetry. Than i saw you use 5,8 ghz.

Keep us posted! :)

Also if you have pictures or video! ;)


5.8 is only from the aat to my goggles, air to ground is 1.2ghz 

used with a directional antenna and a dipole on the aircraft, telemetry will pawn 1.2 ghz video. especially at 38k bitrate. 

more importantly it is bidirectional. 

p.s. pics/video coming after my tax return :D  the most expensive part is that I am trying to find a broken mfd aat on ebay to re-purpose its body, really like the compactness and professional looks of it. 

That's actually perfect (for me)! Only when HDOP is a problem, I would like to know. I always wondered why GPS is still flashing after 7 satellites ;)

I think MinimOSD Extra should be named minimOSD Perfect :)

Hi...my idea is use only for puré fpv Long range flight..no auto mode...a simplified the airborne equipment...connect a frsky receiver to openlrs in ghettostation for repeater...I think a 1w openlrs it's enought for the job..telemetry in low bauds is better range...maybe 2400bps, the guy of creator ghettostation uses low bauds in lighttelemetry to send the data in audio channel this method explain in website link post in older message. But this protocol only suport taulabs boards, maybe arduino to read mavlink and repack the gps data in lighttelemetry and send trought openlrs in low bauds or maybe in audio channel or boht is a great solution for redundancy. 

I not programmer skill...I only post a idea for implement better equipment for fpv flyers and easy integration

Thanks to all


I believe you want the HDOP to display with a floating-point "#.##" format, like this:

    osd.printf("%c%2i|%.2f", gps_str, osd_satellites_visible, (float(eph)/100));

That line works for me.


correction to my post above:  "as long as video Tx power is in legal power range" 


APM 2.6 + external compass & GPS
3DR power module
Mission Planner 1.2.95 build 1.1.5150.11972
Plane 2.78b

minimosd-extra plane R719

I'm havinga strange issue with improper current being displayed, hoping someone can help. When the plane is sitting idle, it is reporting 88 amps; here's a video:

Voltage is correct and checked via multimeter. I figured maybe it's just a bad power module; nope, second brand new power module tested, and to be sure took a third off a copter that I know works fine and all report this high current while the plane is idle on the bench. The values you see on the OSD reflect what is shown in APM under "battery monitor". 

Any help would be greatly appreciated!

Give me a call.  Funny that I had same issue in the last 24 hours.  Talked to SparkFun about it.

Adam - 808-635-8799

What did rhey tell you?

Well..... I was getting a current draw off the Pixhawk of 154 amps.  Ended up the current output of the power module was shorted to the main power buss and putting 24 volts to the I sense input.


Reply to Discussion


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service