Mavic Air 2 Remote Control + DJI Goggles with minimal latency
8621 23 2021-1-16
Uploading and Loding Picture ...(0/1)
o(^-^)o
DIY_Quad
lvl.4
United States
Offline

It's rather sad that DJI did not provide us with goggles to use with MA2.
There have been several attempts to use DJI goggles (or any goggles with a HDMI input) with MA2.
Some uses a WiFi HDMI dongle (aka Miracast) and some uses a tablet with a HDMI output.
I looked at all those solutions and found they all had some serious latency issues.
All tablets with HDMI output lacked processing power to keep up with live video feed through their HDMI ports that people reported latency of more than 1 second.
NVIDIA Shield K1 tablet with a HDMI output would have been a great choice, but unfortunately its processor is only 32-bit and the Fly app unlike the GO app is only written in 64-bit.
The WiFi HDMI dongle solution although snappier, still has overall latency of >0.5 second.
I ruled out the smart controller option (easiest but most expensive) because that controller alone costs almost as much as MA2 itself... I just couldn't justify getting one.


So, here is my attempt at solving this problem.
To run the Fly app, it needs a 64-bit ARM CPU running 64-bit Android 6 or above.
For fast processing, I decided to go with modest CPU cores such as Cortex-A72.
There are several SBCs out there for around $100 that fit that bill.
My choice was Rock Pi 4C equipped with RK3399 processor and dual display output (any two of HDMI, DP or MIPI at the same time).
It can run 64-bit Android 10 in tablet mode.
I picked up a 7" touch screen LCD ($35) to control it like it was a tablet while feeding the same live video to DJI goggles (picked up a pair from eBay for ~$130).
This rig consumes quite a bit of power of around 10W while running the Fly app.
And so I added a portable battery bank with 10Ah capacity ($12).
After putting it all together with some 3D printed parts, it's not the best looking rig you've ever seen, but hey, it works!
Latency wise, it is no different from using your flagship smartphone.
Also, unlike the WiFi HDMI dongle solution, there is no WiFi interference that can seriously reduce your Ocusync range.
Here are some pictures.
















Rig1.jpg
Rig2.jpg
Rig3.jpg
Rig4.jpg
Rig5.jpg
2021-1-16
Use props
DAFlys
Captain
Flight distance : 312090263 ft
  • >>>
United Kingdom
Offline

Got anymore details about the screen?
2021-1-16
Use props
DIY_Quad
lvl.4
United States
Offline

DAFlys Posted at 1-16 01:14
Got anymore details about the screen?

yup, it's this one from Amazon.
https://www.amazon.com/gp/produc ... 0?ie=UTF8&psc=1
It's out of stock atm.
2021-1-16
Use props
DAFlys
Captain
Flight distance : 312090263 ft
  • >>>
United Kingdom
Offline

DIY_Quad Posted at 1-16 01:18
yup, it's this one from Amazon.
https://www.amazon.com/gp/product/B087G97Y6G/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
It's out of stock atm.

thanks,  they seems a good deal at $35.
2021-1-16
Use props
DowntownRDB
Core User of DJI
Flight distance : 1722 ft
  • >>>
United States
Offline

Very innovative!  
2021-1-16
Use props
DIY_Quad
lvl.4
United States
Offline


Thanks Captain!
2021-1-16
Use props
DowntownRDB
Core User of DJI
Flight distance : 1722 ft
  • >>>
United States
Offline


You're very welcome.
2021-1-17
Use props
DIY_Quad
lvl.4
United States
Offline

The latest Fly app has this new attitude view feature.
Unfortunately, it is only half working on my rig because the SBC does not have onboard GPS and compass to know remote controller location and direction it's pointing at.Still let's me fly with great viewing experience.
But it would be better if I could add a local compass to the rig.
I currently have zero knowledge on how to add GPS and compass to a SBC running android, but I would like to think this is doable.
There is always something to learn....
2021-1-18
Use props
bprice876.email
lvl.2
Flight distance : 53248 ft
United States
Offline

DIY_Quad Posted at 1-18 00:47
The latest Fly app has this new attitude view feature.
Unfortunately, it is only half working on my rig because the SBC does not have onboard GPS and compass to know remote controller location and direction it's pointing at.Still let's me fly with great viewing experience.
But it would be better if I could add a local compass to the rig.

Good evening to you.  I am in awe of your ingenuity of setting that up!  You rock!
Feel like setting mine up for a fee?
2021-2-28
Use props
DIY_Quad
lvl.4
United States
Offline

bprice876.email Posted at 2-28 16:30
Good evening to you.  I am in awe of your ingenuity of setting that up!  You rock!
Feel like setting mine up for a fee?

Hey, thanks for your comment!
Unfortunately it's not going to be cheap if I were to build one for you.
Not because I want to make any large sum of money from it, but I would have to set aside quite a bit of time to build one.
But I wouldn't mind helping you or anyone interested in this forum build their own every step of the way.
Cheers!
2021-2-28
Use props
DIY_Quad
lvl.4
United States
Offline

Been receiving PMs from few interested people.
For those interested, let me list few additional items you need to get started.

Active miniDP to HDMI adapter such as this one;
https://www.amazon.com/gp/produc ... 5_s00?ie=UTF8&psc=1
There are cheaper passive adapters out there that relies on video source to do video format conversion.
The SBC I got does not have that capability and so it requires the adapter to do the conversion.
For that, you need an 'active' miniDP to HDMI converter.
I have tried 2 different active adapters and am listing one that worked.

USB type-C OTG cable.
This one is needed to connect the remote controller to the SBC's OTG port.
The remote controller is the master USB device and the SBC is the slave.
I'm sure you could buy one, but I've decided to build my own cable using USB cable pieces lying around and bit of googling.

As for the SBC, I got a dedicated heatsink as well as a 16GB eMMC module.
You can get a combo deal from aliexpress such this this one;
https://www.aliexpress.com/item/ ... .0.0.267c5269nBDn22
You could get away with smaller generic heatsink and a fan, but I didn't like the fan noise.
It's possible to boot Android from an SD card, but an eMMC module make it much faster, and so recommended.

As for the display, the one I got from Amazon is out of stock.
It may not be back any time soon.
The cheapest I found on Amazon right now is;
https://www.amazon.com/Padarsey- ... 15181757amp;sr=8-25
Or if you don't mind waiting few weeks for shipping;
https://www.aliexpress.com/item/ ... b_test=searchweb0_0

The portable battery bank I got is this one from Amazon;
https://www.amazon.com/gp/produc ... 1_s00?ie=UTF8&psc=1

Hope this helps.
Let me know if you need further assistance.
Cheers!





2021-3-7
Use props
hsgreer
lvl.1

United States
Offline

Thanks for sharing.  It looks like a great solution using goggles.  Can you share your STL files?  
2021-3-18
Use props
DIY_Quad
lvl.4
United States
Offline

hsgreer Posted at 3-18 16:26
Thanks for sharing.  It looks like a great solution using goggles.  Can you share your STL files?

Sure, please find attached.
These are printed in ABS without any support and then put together using acetone.
The large LCD faceplate is the only thing printed in PLA to prevent wapring and cracking during print.
The faceplate is not showin the orignal post.
I added it later.




MA2_SBC_mount.zip

199.85 KB, Down times: 15

MA2 SBC mount

2021-3-18
Use props
Bashy
First Officer
Flight distance : 2354357 ft
  • >>>
United Kingdom
Offline

HI, so, in effect we just need a tablet that can output HDMI? much like the Nvidia Shield K1? Its an aging tablet now so it may not be able to keep up with the latest app...
2021-5-13
Use props
DIY_Quad
lvl.4
United States
Offline

Bashy Posted at 5-13 17:12
HI, so, in effect we just need a tablet that can output HDMI? much like the Nvidia Shield K1? Its an aging tablet now so it may not be able to keep up with the latest app...

You need an android device running 64-bit android.
Nvidia Shield isn't one.
2021-6-22
Use props
djiuser_sm0f3GYnuzYv
lvl.1
Brazil
Offline

Hi @DIY_Quad

I need some advice from you. I have a project where I need to connect a DJI Mavic 2 drone to a Raspberry PI4.

I'm using LineageOS, but it doesn't recognize the drone when I connect it to the USB port. I know your SBC is not a Raspberry, but how did you get the USB to identify the drone? Which Android are you using?

We are using:
- Raspberry PI 4
- Drone Mavic 2 Pro
- LineageOS 17 (Android 10)
- Cable USB OTG connected on USB-A

We are using the USB Type C to power supply the Raspberry.

Thank you very much!
2021-8-31
Use props
DIY_Quad
lvl.4
United States
Offline

djiuser_sm0f3GYnuzYv Posted at 8-31 14:13
Hi @DIY_Quad

I need some advice from you. I have a project where I need to connect a DJI Mavic 2 drone to a Raspberry PI4.

I also considered using my Raspberry Pi 4 that I already had but ended up buying a different SBC.
It's been a while and I can't remember exactly what, but I think it was the lack of USB OTG support in the OS for Raspberry Pi.
You need to connect your remote controller to an USB OTG port using an OTG cable.
Remember, your remote controller is the USB host.
2021-9-1
Use props
sommer_05
lvl.1
Flight distance : 8481 ft
Austria
Offline


have the same issue, did you solve it with rpi4 ?
br
2022-2-26
Use props
doglaboi
lvl.4
Flight distance : 766234 ft

Suriname
Offline

I bet the controller has become top heavy now. Need lanyard suspension I suppose?
Got any flight videos?
2022-2-27
Use props
DIY_Quad
lvl.4
United States
Offline

doglaboi Posted at 2-27 02:24
I bet the controller has become top heavy now. Need lanyard suspension I suppose?
Got any flight videos?

Yes, it's definitely top heavy.
A neck strap/lanyard definitely helps.
2022-3-2
Use props
DIY_Quad
lvl.4
United States
Offline

sommer_05 Posted at 2-26 00:17
have the same issue, did you solve it with rpi4 ?
br

I'm curious too.
2022-3-2
Use props
Andrei B
lvl.2

Poland
Offline

djiuser_sm0f3GYnuzYv Posted at 2021-8-31 14:13
Hi @DIY_Quad

I need some advice from you. I have a project where I need to connect a DJI Mavic 2 drone to a Raspberry PI4.

Hello,

I was able to connect DJI Mavic Pro (the 1st revision) to Raspberry PI 4 (lineage-18.1-20220121-UNOFFICIAL-KonstaKANG-rpi4).
I think the key is to connect Remote Controller to USB-C port of Raspberry PI since OTG on the raspberry PI is enabled on USB-C port only - it was not enough power from RC for Raspberry to work - so power is applied to 40pin connector from external battery.

Later I am going to try Cosmostreamer solution - but it looks like  non-free and quite expensive for license (if I understand correctly 150 USD), in the same time at Europe location Rock Pi setup costs more than $150:
  • Rock PI 4C: $192.09
    but I doubt that "C" is required - depends on the setup, HDMI Splitter ($3 - $5) might be a better option (DJI GO 4 does not detect second HDMI on Raspberry PI - so screen mirroring is only supported - the result is the same with cheaper Rock PI 4B + HDMI splitter rather than Rock PI 4C + Display Port Adapter
  • Screen: ~$60 - the mentioned there and with Full HD: $120 https://www.aliexpress.com/item/1005002302427835.html
  • Goggles: price is vary.
    I am going to use: sinlge 1440x1440 screen with driver board from: https://www.aliexpress.com/item/1005003030418025.html - I would like to have "Pirate" eye like setup (one eye - see the drone, another see FPV video)

@DIY_Quad, could you please clarify: do you haves DisplayPort setup in DJI GO 4/Fly app different than HDMI or screen mirroring is also used in your setup based on Rock PI 4C?

Thanks,
2022-3-15
Use props
DIY_Quad
lvl.4
United States
Offline

Andrei B Posted at 3-15 12:46
Hello,

I was able to connect DJI Mavic Pro (the 1st revision) to Raspberry PI 4 (lineage-18.1-20220121-UNOFFICIAL-KonstaKANG-rpi4).

Yes, I used screen mirroring in my Rock Pi 4C setup.
It's set to 1080p for both display outputs.
One is fed to the touchscreen LCD and the other is fed to the DJI goggles.
The toucscreen LCD is lower resolution (1024x600 only) but it can still accept 1080p.
It just downscales it when viewed on the LCD.
This does not affect 1080p fed to the goggles.
I needed it to be screen mirror so that I can use the touchscreen LCD to control the app without requiring a separate pointing device like a mouse.
I also had a RP4 when I started this project.
It's been a while, but I could not get the fly app to work either becuase there was no 64-bit android suppoprt with rapsberry or there was 64-bit android but that OS lacked USB OTG support or something.
That's why I had to buy another SBC that had 64-bit andorid AND USB OTG support.
BTW, a cheaper SBC with a HDMI splitter is a good idea.

2022-7-29
Use props
jimmiez
New

United States
Offline

Andrei B Posted at 2022-3-15 12:46
Hello,

I was able to connect DJI Mavic Pro (the 1st revision) to Raspberry PI 4 (lineage-18.1-20220121-UNOFFICIAL-KonstaKANG-rpi4).

Hi @Andrei B, I'm also working on a project which needs to connect DJI Mavic Air 2 to Raspberry Pi 4. I installed lineage OS on RPI 4 and powered it through GPIO to leave usb c port for DJI RC. I installed DJI fly app apk on RPI 4 as well. But when I plugged in DJI RC (N1) to RPI 4 usb-c port the system seems to not recognize the RC at all and the DJI Fly app always showed "Remote Controller Not Connected". I did some research and some web pages say RPI 4 usb c port needs to be in otg mode to allow dji rc to connect. Can you share any of your settings on RPI 4 to get DJI connected? Thanks!
2023-11-6
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules