I’m currently using a Durandal H7 flight controller with the DJI digital FPV goggles and a DJI Air Unit vtx. I have been trying to use D3ngit’s Arduino MSP to MAVLink translation solution with limited success.
As I was digging into troubleshooting, I noticed that @yaapu appears to have incorporated MSP directly into Ardupilot. I don’t see any details on the conversations posted to discuss but if I’m reading Github correctly, Yaapu’s branch was merged back into the main codebase on 9/1/20. I don’t see any references to MSP telem on the instructional website and I haven’t dug into the code enough to figure out how to try and use it. Before I go to all that trouble, can anyone confirm that MSP has indeed been merged into the mainstream ardupilot releases?
If the answer about Yaapu’s changes are other than positive, then I’ll need some help with @D3ngit 's solution. I suspect I’ve got a hardware/wiring issue, but I’ll get to that.
I loaded up an arduino nano with the v2 translation code, wired it up to my drone, and I get an OSD in the DJI goggles. Unfortunately, the only telemetry that seems to be accurately passed is the flight mode.
I followed the instructions here: https://github.com/ukmook/qUark/tree/master/Mav-To-MSP#quark-flight-electronics which were fairly comprehensive although they glossed over a few points regarding the hardware connections. I think I’ve got things figured out.
Arducopter SERIAL2_PROTOCOL=2 (mavlink2) SERIAL2_BAUD=57 (57600)
I’ve tried protocol=1 (mavlink1) but that did not change the results
Air Unit white (UART RX) -> Arduino D0 (TX) [SCOPE CH2]
FC Telem2 Pin2 (TX) -> Arduino D8 [SCOPE CH3]
FC Telem2 Pin3 (RX) -> Arduino D9 [SCOPE CH1]
FC Telem2 Pin6 (GND) -> Arduino GND
5vBuck Converter POS -> Arduino +5V
5vBuck Converter GND -> Arduino GND
9vBuck Converter GND -> AirUnit Black
9vBuck Converter Red -> AirUnit Red
I get no data on FC Telem2 Pin2 (TX) -> Arduino D8. Not sure what’s going on there (see oscilloscope output).
Arduino serial monitor output:
Sorry, it’s a screenshot of text. I couldn’t get it to cut/paste correctly. Notice that some data comes through plain text such as flight mode - the only OSD item that is working.
All the noise is coming from a little DC fan I’ve got sitting on the air unit for cooling. Removing the fan does not change the results.
So… any suggestions on where to go? I’m stumped at the moment. I’ve got two buck converters so I can run the Air Unit at 9v and Arduino at 5v. Possibly the ground level isn’t correctly matching? I may try running the Air Unit from 5v and see where that gets me.
If MSP has been implemented directly, I’ll need some help with that. Especially SERIAL2_PROTOCOL and other settings needed for MSP. I presume Air Unit TX -> Serial2 RX and Air Unit RX -> Serial2 TX would be about it.