MSP_OSD code changes to support OpenIPC, DJI O3, and other digital VTX OSD

There are many questions about the unavailability of MSP_OSD. I had same
problems.

After some research and code reading, I found that the MSP_OSD rendering process of PX4 is very different from the latest Betaflight and Ardupilot

After comparing the Betaflight and OpenIPC MSPOSD code, I modified the code of PX4 MSP_OSD, and the OSD now can be rendered.

The current code are only examples and have not been completed. Full support may take some time.

My testing equipment is OpenIPC and O3/O4 Air unit.
It has already been tested in OpenIPC. I will test it on O3/O4 in the future

Thanks for looking into this. If you get it fixed up and working can you submit a PR?

1 Like

Definitely I will. :smiling_face_with_three_hearts:

1 Like

Tested on DJI O3 Airunit and it’s OK (2025-04-07)

I have completed the modification of MSPOSD function
The final rendering effect is as bellow:

The current OSD can already cover a lot usage scenarios. So, I have opened PR.
If there have any suggestions or modifications, I would be like to continue following up :smiling_face_with_three_hearts:

3 Likes

Awesome thank you! I will check it out

2 Likes

Thank you very much @Li-Tianming,

You did a nice work for the community.

I’m also working by porting Audupilot msp osd to PX4 by creating a new protocol for osd devices instead of modifying the existing PX4 code. There are 107 osd symbols instead of 22 for PX4 for now. Your work help me to simplify the porting.

Thanks again :wink:

2 Likes

Thanks @Li-Tianming ! This is an issue I’ve been waiting to see updated.
I tried adding your changes on 1.15.3 with some minor changes.
The camera system is CADDX Walksnail.
I do see the OSD, but parameter changes don’t change anything at all.
I am trying to separate the tests - testing the PX4 side, and then the VTX side.
Can you recommend a way to render the output from PX4 msp_osd module on pc (windows or ubuntu)?

Still having issues after building the main branch. (Reference related bug for setup details: Recording PX4 MSP OSD Ā· Issue #143 Ā· fpv-wtf/msp-osd Ā· GitHub) .

Seems like your issue is unrelated to the driver as it does run but communication with the VTX doesn’t work (or it works but VTX is not configured, idk).
Anyways we used the updated driver with an Avatar VTX (not sure which model exactly), and it worked OK.
Make sure your Tx/Rx cables are properly connected and maybe configure the VTX to MSP OSD if that’s a thing.