Servers by jDrones

MSP protocol support


Will test this on Friday when flying…
I will let you know how does it work. :wink:

Same, I will build some firmwares tonight and test this weekend.

Hay all.

First of all I want to thank Alex for taking this one on, when I was bugging the dev team on this as others have Tridge pointed me in his direction and I have to say Alex has been amazingly fast and has been hitting it out the park with this one. The second we had a chat he got on with it and send me over some builds to try.

I had been trying to collate as much info as i could and I also had reached out to Divimath on the Byte Frost side as well and got some helpful info from them too.

It’s also nice to find someone who sleeps as little as I do :sunglasses:

On the tests.

I had been trying to collate as much info as i could and I also had reached out to Divimath on the Byte Frost side as well and got some helpful info from them too.

On my end of things first of all of the tests were done on a Cube Orange on the bench attached to an F550 with my race quad having open surgery and very bodged cable between them. In what felt like no time at all Alex had some builds getting basic data working.

Next it has been time for the field tests so I did a frankly messy build to test this on as my race quad controller is not supported. This ended up being an F450 with the CUAV V5+.

As I only had one air unit at the moment it meant stripping the race quad and in the process one of the MMCX antenna connections decided to let go :man_facepalming:. After some surgery then it was back in action and ready to test with a spare antenna.

I have been doing some flight tests over the last few days with the laptops and Google’s to make sure things look correct and feeding that back to Alex to tie down some of the more tricky parts of the OSD. Rain has held me back a bit but we are getting there. Something that has become very apparent for me is how hard it is to record what I’m seeing as it’s just a nightmare to get a camera into the Google’s face mask area, sadly the onboard recording does not record what o see so it’s GoPro or phone while trying to fly as well.

Overall it’s amazing how close this is now in such a short period of time. It’s also great that there are some really nice features like the scrolling warning info and flashing icons.

Overall I want to thank Alex for his hard work on this so far.

I will sty and share some video shortly but here are some pics


A little of black magic on SITL : add an osd object backend in SITL like for vision or rangefinder, feed it with your lib,m and make it update the current SITL osd lib… A little of development, but it could be nice!

Anyways, we could do the test later and SITL stuff later
For testing the osd, we could definitely use NASA way : make picture of the output we want, run test and compare pixel by pixel that the output is conform ! Travis will die of overload. People (and github) will complain that our repo weight 1Tb. Everything will be fine !

1 Like

Hi Alex
If you don’t mind to add pixracer binare I would be glad to test too.

1 Like

Thanks to Ian @MadRC we made some progresses and fixed the home direction issue and hopefully the ground speed issue as well :slight_smile:

I updated the binaries to version 0.3

verified working OSD items:

  • average cell voltage
  • battery voltage
  • battery consumed mAh
  • battery usage bar %
  • battery current
  • gps sat count
  • gps coordinates
  • home distance
  • home direction
  • altitude
  • flight modes
  • status text messages
  • roll
  • pitch
  • heading
  • rssi
  • arming status

version 0.3 test binaries are here


Thanks so much; Really nice to have this feature. I will test on Matek-F405 wing. Which setup must be use for telemetry 57k ou 115k like MSP in general ?

Yes baud 115 and protocol 30

1 Like

I flash 0.3 binary for arduplane and I have no display, even after arming. Is there anything special to configure for activate the display? I previsously using the Mavlink to MSP converter from RCGroup thread.

I finally have this working. Some setup not-sync between DJI google power from air unit and goggle - my fault. No I can test.

I wondering why there is ‘ACRO’ just below sat icon (Betaflight trick?)
For now, what I seen is a simple bug with RSSI but have the same on Mission planner with crossfire (as often with ardupilot, the confusion between RSSI/RXRSSI)

I tried to test the the Matek 3901-L0X on Serial6 as “29”.
I used version 0.3

On the stack the red led is on, blue led is flashing.
Unfortunately Ardupilot did not recognize the stack.

Ok good, that ACRO is the DJI specific flightmode that should be hidden unless you have a failsafe or RTL. At least this is what I’m trying, please ignore it for the moment :slight_smile:

can you be more specific?

Hi Tobias,
my fault didn’t write it anywhere, should be



Dear Alex,


Used following parameters.

I got following data:

Thanks Alex.
Without your support I would have never…

Question: what is the way forward to integrate this in the regular code?
I will equip all my airplanes with the lidar, its much easier for landing.

thanks for the feedback Tobias, congrats you are the 1st ever user of the matek lidar :slight_smile:

Hi Tobias,
well after this public testing phase I will have to submit my code for review by the dev team, and once approved it will land in master. Once in master it might be back ported to stable releases only if the feature is considered worth the effort (which would be minimal in this very case).


Dang it. I am still waiting for DJI AU x 2 to come back from repair…Both units failed to talk with kakute HDV F7 UART1 communication. I will test it with Orange cube as requested.


I digg a little more on RSSI and solve it. Another bug in Crossfire RSSI when using PPM and Failsafe Cut position (I use crossfire 3.72 firmware). With crossfire, we choose ‘Failsafe position’ instead of ‘Cut’ and now it’s work I mean RSSI is correct in RSSI OSD panel of DJI.
Is there a way to change imperial/metrics ? Thanks for such great project (like your Frsky Telemetry screen!)


  • MSP_OSD_UNITS = 0 is imperial
  • MSP_OSD_UNITS = 1 is metric

Note: we have no control on the actual conversions used, we always send metric and the air unit does all the math (except for the MSP_OSD_ASPD item which being a “hack” needs proper conversions done on our side)

1 Like

this is so awesome, thankyou
i would love to try this, is there a build for the airbot nano f4 v6,
Cheers and thanks for the invite here to follow progress

Servers by jDrones