DJI RC Controller (non-pro) - Side-Loading Apps

Hello Post Festive People :slight_smile: :grin:

I am going to invest in one of the new DJI RC Controllers with the built in screen. This will not be the “Pro” version as my GP has advised that I am not actually capable of living with no kidneys. :hospital:

What I would like to do is install Litchi (which seems to need to be side-loaded via the Amazon App Store??) and then try and install the AirData app.

The general consensus is that the “standard” RC Controller and the “Pro” controller are based off the same flavor of Android, the “Pro” is just opened up to third party apps more than the “standard” RC Controller.

But a side-loaded .apk should work on both controllers.

The next problem is how I get to the file system to run the .apk. While the “pro” controller seems to have a file browser, there isn’t any such beast on the standard RC Controller. So I don’t see how to access an uploaded file.

There is some suggestion that files may appear in the “Notifications” section, but I can’t find enough corroborating evidence to suggest that this correct :frowning:

Home

So, I guess this still leaves me with questions.

1. Will side loading apk files work on the RC Controller (non-“Pro”) version ?
2. Can I access the file system on this device?
3. Does the “only install from trusted sources” feature come into play as an issue here?
4. What part does the Amazon Store play in all this. I would have just expected to download directly from the source publisher.
5. If all this is possible, how does it present on the Home screen. It looks to me that DJI’s Fly app auto-loads and that will stop me accessing other apps.

It may be that after all this it is not possible to side-load apps on the “standard” version of the RC Controller. That’s fine if somewhat annoying, I will still use the new controller to unify around a single controller (now that my Air2S will also work with it). Other than that its only a matter of time before someone more gifted than I hacks the Android OS and opens it up to the masses.

Has anyone gone down this route and if so could you take 5 minutes to explain how it all goes together please? :pray:

I can answer some of your questions, I’m sure other members will pitch in soon with answers to the other parts.

You’ll need to install the Amazon App Store app if you want to install Litchi:

https://www.amazon.com/gp/mas/get-appstore/android

The reason for this is because DJI don’t include any Google Play services in their cut down version of the Android OS. This includes the CrystalSky, the original Smart Controller, the RC, the Pro, and pretty much every screen and controller device they’ve ever made.

The lack of Google Play services means you can’t use the Google Play App Store, because the required background Google services are missing from the operating system.

So if you want Litchi, your only option is to install a third party App Store app (such as Amazon’s), which is not dependent on Google Play services being present in the device operating system.

Another potential “gotcha” there is that you’ll need to buy the Litchi app from Amazon. If you’ve already bought it from Google in the past, you’ll need to pay again to buy it from Amazon. The only saving grace is that if you buy it from Amazon first, you can then install the Amazon App Store on your phone or any other android device and you can download Litchi again from Amazon, without further charge.

1 Like

This one?

The DJI RC is locked down and none of the above will work, and there is talk that it will never work as the controller is the bare minimum to run the fly app

1 Like

You’ll be better off using the old Smart Controller, you can put Litchi on it and it’ll control both the M2 Zoom and the Air 2S (don’t know about the Mini 1 but I’m thinking not). If you load the Amazon app onto it, you’ll be able to buy Litchi straight from Amazon (and put it on all of your android machines if you’ve got any).

2 Likes

Confirmed not.

Litchi runs fine on the OG Smart Controller though :slight_smile:

Or you could use a CrystalSky monitor with the RCN1 for the Air 2S, with the normal controller for the M2 Zoom and I suppose you could use it with the Mini 1 controller aswell. The 5.5" CS is now about £275 new from DJI which is a little more than the DJI RC and is a much brighter screen (1000 nits), and is capable of running Litchi.

OK, firstly my hands are up :raised_hands: - I’m like a dog with a bone on this one.

I have been playing with a workaround for the “third-party apps” limitations of the RC Controller. All roads to a successful installation of third-party apps seems to start with the “Lightening Browser”, so I thought I’d have a go at installing that first.

When you try to activate the .apk file the following message appears…

It’s not “install failed”, or a blank response, it’s very specific. Because if “This user” is not allowed to install apps it suggests that “An Admin user” may get further. So the Android install has a permissions based user database. I would imagine that the auto load of the start-up and DJI Fly app are effectively a “guest” account that is only allowed basic run permissions on a specific set of apps.

The plot thickens, but as I said, this has peaked my interest :smiling_imp:

This is why we root our DJI drones, we root our DJI CrystalSkys and we root any other DJI hardware we can get to the core of :slight_smile:

Then we install or modify whatever WE want, not what DJI think we should be allowed to do.

You know, because it’s ours after all.

Couldn’t agree more. We didn’t sign a lease for this solution, we paid outright and should have some rights as the owner. It’s like the accursed “Orchard Company” and their belief that they can charge you whatever they want and then watch everything you do with “their” device. If they sell these to the likes of MI6 they will damned well have to hand over all the “Backdoor” access the manufacturer has included.

As usual, we as “Joe Public” just get to hand over the money and have zero rights.

But, as the saying goes, “Don’t get me started:face_with_symbols_over_mouth:

1 Like

As an aside, I’m still fuming about the other thing that hacked me off setting this up. What’s with all the nonsense about only getting 3 chances to bind the device to a drone before any “fly-away” cover is void?

Given it’s shortcomings, I intended using my N1 controller with my tablet to use things like AirData and Litch as a workaround. This damned message pop’s up during the setup telling me that I only get three chances to do this.

I’ll be honest here and say that I didn’t hover over it to get the correct wording, or a photo (I screen grabbed most of the setup process) as I didn’t think it was any more than a confirmation. So, apologies, I am ad-libbing here.

To me, this suggests that DJI are closing the door on any attempt to go back to a more “open” controller and locking you in to their new product range.

… Actually, when I think about that statement it makes me think that you may be able to comment on whether DJI use the same standard across all their devices for username and password formats?

Obviously, that may not be something you want to comment on and I appreciate that.

Well that was easy to break. Just spent 30 minutes on a chat session with a VERY grumpy DJI support “technician” so I could “refresh” the firmware using the DJI Assistant 2 “DJI+Assistant+2(Consumer+Drones+Series)+2.1.15”.

App stopped at 26% and the controller went back to normal and connected to the Air2S again. But the support person was bloody awful.

This may have just veered off from a discussion about side-loading apps on the RC Controller, into a short review. Sorry about that!

So there we got. I just got back from my first flight using the new RC Controller. I went to my usual haunt and did some very wary flight testing, the screen brightness was just fine. I had no issues with signal strength at any point and the camera and video controls were working nicely.

One pet hate of mine with this controller is the sticks. Why did they have to make them non-rubberized and give then what looks like a 1mm thread!! These things are just asking to get dropped and the spare set are going to stay in my flight bag.

RTH works nicely and the speaker is plenty loud. One thing I need to look at is my right stick, which seemed a little sluggish. I probably just need to change the response setting and tune it in.

It took me ages to figure out how to get my log files into AirData without the app or any apparently locatable log files either on the machine, of on the controller. But it’s done now and the flights are showing as hoped for.

Oh, I also tried the screen recording ability of the new controller. Again, took me a while to locate these files but they are pretty good and overall I like the functionality of being able to do this.

1 Like

@B0M0A0K I do keep checking in on this thread and glad someone is trying to find a backdoor to this locked device.

Good work. :+1:

Thanks for your words, but I don’t think there’s anything particularly positive to report yet. This controller is extremely easy to break from a software perspective. All I did to break it yesterday was to play with holding down sets of buttons while powering on - that was enough to require a “refresh” via the Assistant software.

It’s clear that there is a user database in the software and that must have a method for accessing, which is why I was trying different key combinations. This resulted in a solid purple (ish) light in the power LED and just the middle two “charge level” led’s being illuminated.

The programmers will have had a method for accessing a “developer mode”, be this through a power on key combination, or perhaps through the USB-C debug mode. They may even have used an interface card for programming through the USB port (maybe the “host” port)?

I need to be able to find a great deal more information before a picture starts to appear :frowning:

For now that’s all at the bottom of a wine glass (hick!).

Happy New Year Dude.

Interested in joining a couple of reverse engineering groups @B0M0A0K ?

I’m open to helping out where I can, just so long as it doesn’t end in a brick that can’t be re-flashed. :nauseated_face:.

Completely new here but android hacking has always been an interest.

Can we sniff signals sent via USB to the RC during a firmware update. Should be able to find a signal to set in a fastboot or adb capable mode.

I actually managed to install both play services and google play. Got google play to start, show “Login” screen. But when I tried to log-in, it kept spinning as if it tried to connect to something, but it kept spinning and spinning. Can’t find the combo of play services and play store I used to get it to work. Have to keep in mind that this is android 10 (I think plays a big part in succeeding).

The problem is, as stated above, “This user is not allowed to install apps” :frowning: Has anyone gone around that yet?

Hello all.

@Dronemoister, may I ask you how you manage to start the apps to install?
I believe I can help if I get over those first steps.
I just got my DJI RC and not being able to install things is making me mad.
Specially because my RC-N1 is not being able to upgrade so that it can connect to the mini 3 pro…

Thank you