Remzibi OSD + APM Integration

I finally got my mods to a point where I'm comfortable with others testing. I've only been using it with XPlane seen as it is so dang cold and snowy outside. You need to define OSD_PORT and OSD_MODE_CHANNEL. OSD_MODE_CHANNEL will allow you to assign a toggle switch to turn on and off the OSD overlay while in the air.


Some of the features included:

  • Auto-home saving from init_home()
  • Distance and direction to home
  • Artificial horizon
  • Control mode and next waypoint + distance (working on relaying takeoff, land, etc messages)
  • Overlay on/off via Tx switch

Here are the Remzibi Mods:
|  APM_Config.h  |
#define OSD_PORT            3
#define OSD_MODE_CHANNEL    7

|  ArduPilotMega.pde  |
Medium loop, case 3:

Slow loop, case 1:
// Output OSD Data slow loop

// Read OSD Mode Switch

|   defines.h   |
After GPS type defines:
// OSD type codes
#define OSD_PROTOCOL_NONE       -1

|  commands.pde  |
After line 251, bottom of init_home():
// Save Home to OSD
// ----------------


And finally add the following file into your APM folder:

OSD_Remzibi.pde <-Version 1

OSD_Remzibi.pde <-Version 2


And for my Remzibi layout:


E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Blake,

    I have some questions:

    1. Could You tell me how to connect OSD with APM because I don't see any informations about connection type(which port, cable etc) ?

    2. "And finally add the following file into your APM folder:" - APM folder means not modified ArduPlane 2.24 ?

  • Can you supply any names or links to those modifications?  I'm hoping to jump into this project this winter, and I'll be headed straight toward what you've got figured out!  I love what you've got here :)

  • Nothing special needs to GPS, however, my code has been modified by others to work with the new version of APM.

  • Wiki Ninja



    Did you do some special programming for your GPS? I'm using the Mediatek MT3329 but it seemed I cannot make it work; there is no satellite, arrow nor lat/long data displayed on the screen.

  • Link here to Arduino Pro mini processing Mavlink for the Remzibi OSD. Works on ACM and APM.

  • I know there will probably be a mavlink problem.

    It would be worth it to put another Arduino in the chain to decode the mavlink.

    I really want to artificial horizon.  That would be cool to have.  Saving a little weight and space not needing a second GPS is good.  The horizon is a win.

    I appreciate your work.

  • Chuck it hasn't moved, just hasn't seen much momentum lately with my work schedule. Now that 2.x is released I'll probably start looking at it again here soon. Issue is that sharing OSD+TM on Port 3 might be an issue now with using MAVLINK vs raw text for the OSD.
  • Greetings,

    Hows this project going?  Did it move to somewhere else?

  • In reading up on artificial horizons and looking at the blog post for the APM 2.0 release I'll have to put up a fix, we want to take out the * -1 for the roll and add it to the pitch. The AI lines should not correspond with the direction the plane is traveling.
  • Developer

    I use USB port 0 to send GCS_ MAVLINK protocol to HK_GCS on the bench and plan to send TM to Xbee in the field /air.

    Port 3 TM/OSD.  GND, Tx & Rx are split to Remzibi OSD & Xbee Pro, 5v power goes to Xbee only with a Plug-in-to-Fly jumper.

    1.3 Ghz Video TX is on 12v buck boost BEC on a 1400 mAh Lion with OSD & Camera on 7v linear power bus.

    I have all sensors enabled on OSD with 2 lines for any messages

    .Line 1 gets over written with blanks where AH columns are  above. (I need to report this issue to HK)

    Ublox is sending NAV-DOP data, It is setup for 3D/DGPS fix using WAAS.

    Also Camera PAN on CH_5 (gear) and TILT on CH_6 (aux2) and MODE on CH_7 (flaps)

    CH_5 can switch OSD on-off and drop down gear or package.

    CH_6 can force a Fail-Safe when throttle is at 0 and Radio power is on.

    MAVLINK is not sending ArduPilot MODE messages when I switch CH_7 MANUAL, STABILIZE & AUTO

    it reports Manual, Guided, correct ArduPilot modes are sent to OSD.

    New data types: fix_type, dgps_fix, p_dop, & h_dop still need some work to get MAVLINK to see them (hdop is still used for other gps MTK & NEMA)

    I willl get ASCII messages to divert to OSD too. 

This reply was deleted.