Skip to content

Activating the DJI FPV Combo

Joonas Trussmann edited this page Jun 21, 2022 · 13 revisions

This guide will walk you through getting your brand new DJI Goggles + FPV Drone kit activated without having to flash the dreaded 0015 firmware. I highly recommend reading through the whole thing before jumping in so you don't rush ahead at any point and miss critical nuances.

Please bear in mind that since this uses official methods to activate your devices, it may stop working at any time. If this is the case, please contact us on Discord or open an Issue so we can update the guide to reflect this.

Finally, keep in mind this will very likely void your warranty.

What you'll need

  • nodejs installed - for running margerine
  • DJI FPV Assistant 2 installed - for activating the Goggles
  • DJI Fly app installed on your phone - for activating the FPV drone
  • margerine the Goggles root exploit - for defeating forced upgrade mode on the Goggles
  • adb Android Debug Bridge - for talking to the rooted Googles
  • Dronehacks desktop client - for free drone firmware flashing
  • V01.02.0020 FPV Drone firmware from Dank Drone Downloader - for tricking Fly App activation logic
  • (optionally) V01.02.0000 FPV Drone firmware from Dank Drone Downloader - for downgrading to an exploitable firmware on the drone after all is said and done
  • Minimal ability with the command line (navigating to downloaded folders and running commands as instructed)
  • Patience!

Activating the Goggles

Start up your Goggles and navigate to Settings, About, Switch to DJI Digital FPV System (last entry in menu, you'll need to scroll down), restart your Goggles when instructed to do so on screen. If you don't see this option, try pairing your Goggles to your FPV Drone (without activating or going online!), restart the Goggles and check again. If that doesn't work, take your PC offline and connect your Goggles to DJI FPV Assistant 2 on your PC and then check again if the option to switch modes showed up. If you're not based in the US you may need to also use a VPN to log into the FPV Assistant 2 while connected to a US server and then go offline completely before connecting the Goggles to Assistant.

If you still don't have the option your Goggles have a very old factory firmware and you'll need to download and flash V01.02.0001 to the Goggles with Dronehacks in FPV Drone mode. Then try all the above steps again.

Now that you're in the HD FPV System mode (a.k.a. DIY mode used with custom built quadcopters) connect your Goggles to your PC, activate them with DJI FPV Assistant 2 and upgrade/downgrade the firmware to V01.00.0606. Ignore the current version as shown in the header of the assistant window, re-flash the firmware in any case.

Rooting the Goggles

In order to be able to get rid of the forced upgrade state in your Goggles later, we'll need to root the Goggles with margerine while in DIY mode. Open up the Command Prompt (or Powershell) and navigate to wherever you downloaded and extracted margerine. To get everything ready run:

npm install

Now power up your Goggles, connect them via USB and run:

node margerine.js unlock

If you get the error waving wand, result e0 restart your Goggles and try again. If that doesn't help check out the Troubleshooting tips in the margerine README.

Now you should see the following in the command output:

device should be unlocked, try 'adb devices'

Navigate to the folder where you downloaded and extracted adb and run:

adb shell

You should see the following output:

[sec_debug_state:202] secure debug value 0x1
root@pigeon_wm170_gls:/ #

Type exit to close the debug connection for now.

Activating the Drone

Use the Dronehacks client you downloaded to flash the V01.02.0020 firmware you downloaded onto the drone. No license or login required. Don't worry, 0020 is actually older than the notorious 0015 and while it does prevent you from hacking the drone, it can later be downgraded to vulnerable versions.

Make sure to read the whole proceeding paragraph before proceeding or you'll get your Goggles in a bad state.

Now, connect your Goggles (with the Drone and RC powered up and bound) to the DJI Fly app on your phone and activate the drone. This is very important - disconnect your Goggles from your phone as soon as the drone is done activating and the Goggles 0015 firmware starts downloading (don't worry, it's safe even if it's managed to already start uploading the firmware to the Goggles). Your Goggles will now be in a forced upgrade state, but don't worry, we can fix this, since we rooted with margerine earlier.

Fixing the Goggles forced upgrade state

Connect your Goggles back up to your PC and go back to the folder where you ran adb previously. Now run:

adb shell
rm /cache/force_upgrade
setprop dji.prop.enforce_upgrade 0
reboot

Congrats! The forced upgrade state should be gone, all your devices activated and everything in a hackable state. You'll get a warning of firmware version mismatch on the Goggles and Drone, but this can be dismissed. Such is the price of freedom. As far as we know, this shouldn't cause any actual problems with flight.

If you want to purchase a Dronehacks license to remove some limits on your Drone, then now is a good time to use the free version to downgrade your Drone back down to V01.02.0000. Dronehacks Pro license will also allow you to root your drone for low level access if you so wish.

Have fun and fly responsibly

With great power comes great responsibility. Don't stain the FPV community's image and get us regulated even harder by doing stupid stuff in No Fly Zones. If you're the idiot that gets their stunts on the news we'll laugh really hard at you and newer talk to you again.

Please consider donating if you found this guide useful. BTC and ETC addresses also available in the margerine README.