This is an old revision of the document!


WORK IN PROGRESS: This is a new page and not yet complete. Please be patient.

No Limit Dronez

Thank you for your purchase or interest in NoLimitDronez, or NLD for short. How do I use NLD, where do I start? Is using NLD legal, and will it void my warranty?

1. Introduction

NLD was created as a response to DJI's heavy-handed nanny-state as it applies to the locking down of their products. The NLD team are drone enthusiasts, just like you. We want to enjoy using our quads and not be bothered by a company that thinks they know what is best for us. We paid good money for DJI products, and we should be able to modify them freely, and of course, fly them responsibly. The pilot is the one who is in charge of all flights, and the pilot is the ONLY one responsible for the safe operation of their drone. Not DJI.

In response to the creation of NLD, DJI continues to take steps in firmware updates to thwart modding, which is why some NLD mods and features are not available for all drones. Always check the Birdmap to understand what is possible for your equipment and firmware version.

Will NLD void my DJI warranty?

We are not consumer rights lawyers; we hack drones. We can tell you that no customers have reported that DJI has voided their warranty due to using our mods. The DJI warranty covers manufacturing defects, which NLD would not cause. DJI care is a little different. It is like an insurance policy covering all sorts of events, even if your bird crashes into a lake. There is no clause that we have seen in the DJI care terms that prohibit modifications to your drone.

You own your drone, and what you do with it is up to you. You are responsible for every flight, not DJI. Always fly within the laws of your country, and that's all the nanny we have in us. Just don't be stupid with your flights.

How does it work

Every DJI drone has a USB port for connection to a PC. DJI provides DJI Assistant, which is available for download on the DJI site. We created an alternative to upgrade and downgrade firmware, unlock and make changes to increase performance, and more. DJI Assistant limits some of the available settings in the drone because they do not want you changing YOUR DRONE. This all changes with NLD.

Upgrading and downgrading of firmware

As DJI keeps releasing new firmware, they also keep trying to lock you out of doing any modifications to your bird. You can use NLD to downgrade your firmware to an earlier version so that you can modify your bird. Whether it is performance modifications, or unlocking altitude restrictions, or simply unlocking NFZ because of wrong or poorly drawn NFZ created and enforced by DJI and not your local government… NLD can help you with all of these things and more.

NLD Pre-requisites

Windows 7 or later is required. We do not support OSX or ChromeOS. OSX users can install Windows using Bootcamp, VMWare, VirtualBox, or Parrels Virtuoso, allowing you to use NLD.

Bonus Custom GO4 App Patcher

NLD includes a custom go4 app patcher for Android users. This tool uses a stock standard APK and patches it with many goodies. One of the more popular features is that the patched app limits the data that goes back to DJI while flying. The custom app patcher will help you stay off the grid if you need that. However, the app patcher requires a decrypted GO4 app. The last decrypted APK we have access to is quite old now and does not work with recent versions of Android. We still provide the custom app patcher, but we now recommend using the standard DJI app and turning off mobile data and wifi to protect your privacy.

2. Getting Started

These instructions will get you started getting more out of your bird than you ever thought possible. Start NLD as administrator, power on your bird, and connect it to the USB port. After NLD detects your aircraft, the NLD app will display status info on the bottom left of the window, and you will have access to all of the links listed on the left side of the screen.

2.1 Installation & Activation

  1. Create an NLD folder on your desktop and unzip or decompress the NLD files into this folder.
  2. Ensure that NLD is allowed through your firewall and anti-virus programs. An active internet connection at all times when using NLD.
  3. Power on your bird and connect it to your computer with the data cable supplied by DJI, and right-click on NLDApp.exe. Run as Administrator. If NLD needs to communicate with you, you will see messages in the bottom left.
  4. Follow the prompts to activate NLD and enter the activation code you received by email. NLD links your activation key with the serial number of your equipment. After activation, you can use NLD on any computer without re-activating. You will need one activation key per bird.

3. Using the App

Each time you start NLD, you will initially see some information, containing the latest news from NLD. Have a read, and once you are ready, power up your bird and connect the USB cable.



3.1 Device Information

You will see “Device Information” at the top of the NLD screen, where you will see details about your bird and its activation status.

3.2 Firmware Information - Firmware Manager

The next block on the screen is the firmware version. Click on “Select Firmware” to check the available firmware for your equipment.

The firmware manager allows you to upgrade, downgrade, or refresh the current firmware by clicking on your required version. The NLD flashing process uses the same code that DJI assistant uses. NLD also checks that the firmware is unmodified official DJI firmware by checking the MD5 and then telling the aircraft to activate the firmware. NLD will download the firmware requested, transfer it to the bird and start the flashing procedure. Flashing takes approximately 15-20 minutes.

BE PATIENT. NLD will provide you with status updates for each module during flashing. Pay attention to the NLD status messages. NLD will tell you when the process is completed. If it takes more than 20 minutes to complete, restart your bird, but don't touch your computer. NLD will continue the firmware flash from where it left off. If it does not continue, turn on your RC and see if it connects to your bird. If it does, you can try again. Power off the bird, close NLD, restart the PC, run NLD, connect the bird and try again.

Once completed, turn off your bird, close NLD, and choose re-flash to flash a 2nd time for error checking. The 2nd flash should be much faster to complete. NLD will always show you the current firmware version on your bird. The other way to check if you are using a stock version of GO is to go to the about page and check the firmware version listed there.

Note: If flashing does not complete, and your remote will not connect to your drone, you will need to contact DJI support for assistance. We have seen instances where things go wrong even when using DJI assistant to upgrade firmware.

3.3 Flight Controller - Parameter Editor

Most flight controllers have thousands of parameters that you can modify. However, DJI does not provide an interface to make these changes. NLD automatically scans your equipment for available parameters and provides a user interface where you can make changes. We provide access to give you total control.

However, parameter editing is for advanced users only, and most people only need the speed settings found below.

Each parameter shows the name, the current value, and a range that describes the data that your equipment will accept. We cannot provide guidence on the function of each parameter. You can refer to the reverse engineering community wiki for more parameter details.

3.4 Custom Flight Controller

Some flight controller parameters cannot be modified by the parameter editor, due to restrictions by DJI. The custom flight controller mod is available on some aircraft. NLD will replace your flight controller with a special one with the following changes:

  • Altitude limit removed
  • No fly zone limits removed
  • Galileo satellites enabled (where supported by your hardware)

Installation is a simple process. Just click the install button, and wait for the chains to fall off your bird. You can uninstall the custom flight controller later if you wish to do so.

3.5 Speed Settings

One of the most fun features of NLD is the speed settings. Do you want to make your equipment go faster? Click “Modify Settings” to turbo-charge your drone.

If you want to go faster, there are two ways to make changes. The first method is to use our presets, and click “Apple Settings”. The three presets are:

  • Reset Values - Return to normal settings
  • Normal Mode Boost - Speed up your bird in normal mode
  • Sport Mode Boost - Speed up your bird in sport mode

Click any of these buttons, and apply to push the new values to your equipment. If you still want to go faster, you can manually change the sliders on the screen to further tune your equipment.

Please note: You should make small incremental changes and test after manually altering the settings. These settings make significant changes to the performance of your equipment. If you make a radical change, it can significantly affect the performance of your aircraft, which may result in damage if you are unprepared for the new behaviour of your equipment.

3.6 FCC / Signal Boost

FCC is a higher output for RC power than CE mode. You can change your RC to the higher output here. You must have a supported bird and be on compatible firmware.. Connect your bird and Enable FCC Mode to change from CE to FCC. Once changed, you can leave it, or if you want even more power, you can Enable Signal Boost, along with FCC mode for the highest power output possible. *CAUTION* This will run your RC at max power, creating quite a bit of heat on the RF chips. You risk burning out your RC by doing this, so enable the Signal Boost mode at your own risk. FCC mode is fully supported by the RC and will NOT overheat your RC at all. FCC mode has the possibility of increasing your distance for flying reception, but every flight area is different, but this change should help you with better reception. If you are already in a FCC country, (like the USA) you do not need to enable FCC mode. It is already on and determined by GPS location. If your bird is NOT COMPATIBLE, use the DJI GO 4 Patcher instead to enable FCC mode using the NLD GO APP.

You can either use the sliders to customize settings, or go to the bottom of the page and click on the presets for Normal + or Sport +. The SPEED section sets the max speed when obstacle avoidance is off. Return to Home speed. You can set a faster RTH speed. 13.5 is good. OTHER is full of checkboxes that may or may not be available. This depends on your firmware version. Disable altitude limit and Disable No Fly Zones are ONLY available on early (old) firmware. Check the birdmap to see what mods your firmware version can do. https://nolimitdronez.com/birdmap *note* There are two ways to deal with NFZ. The 1st way is to see what early firmware is required on your bird, flash to that firmware, then use NLD and use the checkbox to Disable NFZ. What this does is to DISABLE the enforcement of NFZs, but you may still get minimal warnings. If they will show up, they just won't be enforced and you can take off. This is best used with NLD GO, since we remove the NFZ database in the NLD GO App. You can use this check box option with any version of GO, Android or iOS, but you will get lots of warnings. If the Remove NFZ patch option is not working for you, this is your other choice. What's the difference between the Disable No Fly Zones and the Remove NFZ patch? The check box TURNS OFF enforcement of NFZ and is only available on early firmware, while the Remove NFZ patch, removes the NFZ data from the bird, but NFZ is still turned on. For the best success, always start your flight in this order: 1. RC on 2. Turn on bird and let it connect to RC 3. Connect device running GO to RC

FCC / Signal Boost

FCC is a higher output for RC power than CE mode. You can change your RC to the higher output here. You must have a supported bird and be on compatible firmware.. Connect your bird and Enable FCC Mode to change from CE to FCC. Once changed, you can leave it, or if you want even more power, you can Enable Signal Boost, along with FCC mode for the highest power output possible. *CAUTION* This will run your RC at max power, creating quite a bit of heat on the RF chips. You risk burning out your RC by doing this, so enable the Signal Boost mode at your own risk. FCC mode is fully supported by the RC and will NOT overheat your RC at all. FCC mode has the possibility of increasing your distance for flying reception, but every flight area is different, but this change should help you with better reception. If you are already in a FCC country, (like the USA) you do not need to enable FCC mode. It is already on and determined by GPS location. If your bird is NOT COMPATIBLE, use the DJI GO 4 Patcher instead to enable FCC mode using the NLD GO APP.

Remove NFZ

This is for removing the NFZ data from the bird by applying the patch if your bird is on compatible firmware. You will not be able to apply the patch if you are not on the correct firmware version. If you want to remove the applied patch, you can do that and return the bird to stock NFZ settings. Once applied, do not upgrade or downgrade your bird, or you will lose the patch and have stock NFZ data. Also, once applied, if you get a message in GO to update your Fly Safe Database, do not do so. This will override the patch. Remember that NFZ is still active and enforceable even after running this patch. If you use Stock GO, there are ways that DJI can override this patch and you will still not be able to take off. Best results are with using NLD GO 4.1.22, or Spark owners wanting to use OTG, with NLD GO 4.1.14. Both NLD versions have had the NFZ database removed from them. Mavic 2 users can only use stock GO, iOS or Android. AWAYS start your bird in this order: RC»Bird (establish connection) then connect device with GO.

DJI GO 4 Patcher (Android only)

You can patch DJI go to NLD GO, and add some cool features to GO, like FCC mode by default, not having to login with your real DJI account, removing links to DJI, removing the NFZ database from GO along with other options. The latest version of DJI GO that you can patch is 4.1.22. This version does not support the Air, or the M2 line, so for those birds you will use the stock version of GO, either iOS of Android. Spark users who want to use OTG, will patch 4.1.14, since DJI crippled OTG support in 4.1.22. To patch a version of GO that we support, click on the drop down box on the left side of the screen and select the GO version you want to patch. Click on download and save this file to your desktop, or to the NLD folder you created. Click on the box on the right side of the screen and select an output folder where you want the new NLD DJI GO4 App to be stored. Use the same location as where you downloaded the unpatched GO file. Once that is done, click APPLY PATCH at the bottom of the screen and the DJI App will now be patched and converted into the modified NLD-DJI-GO4 App. Be patient. Depending on your internet connection, this may take a while. Once that is done, transfer that file to your device via a USB cable hooked between the phone & the computer. Use the “My Files” app on the phone to locate the APK file and click on it to install it in the phone. Note you have to allow unknown apps to be installed in the settings on your device. If you have issues with the .apk not wanting to install, download ES file explorer from the Google playstore and use that. Current Mavic 2 owners will use Stock GO, either iOS or Android for their birds. We recommend flying in airplane mode, and caching your maps before you fly. Either download offline HERE maps, or open GO on your device, go to the map and scroll around your flying area before you fly.

NLD FCC mode and other options

Not all options in NLD are available for all birds on all firmware versions in NLD. Go to the birdmap to see what mods are available for your bird and on what firmware you need to be on. https://nolimitdronez.com/birdmap

There are currently 2 ways to enable FCC mode using NLD. 1. The FCC patch in NLD (currently only for the M2) 2. Use the NLD GO app for Android for Spark, M1 pro/platinum, P4, P4adv and P4P and I2)

The FCC patch currently is for the Mavic Pro 2 only. For the other models you will use the NLD GO app that forces FCC mode by default.

NLD will be coming out with a FCC patch for other models besides the M2 as well, but until that is released, use the NLD GO app to force FCC mode. Either NLD GO 4.1.22, or in the case of the Spark and OTG, use NLD GO 4.1.14, both versions force FCC mode when used.

Why does it say FCC mode is available for the Spark, M1 pro/platinum, P4 line and I2, but the FCC patch says that it is incompatible?

Currently the FCC patch is only for the M2 birds. To enable FCC mode on the other models, you MUST be using NLD GO app for Android. This forces FCC mode on as long as you use the app. The FCC patch is a new way to force FCC mode on the bird itself, and we will release a compatible patch for the other birds as soon as its ready.

What about the RC boost mode on the FCC patch page? It is listed but I can't access it? It will be available in the future, when it is ready for release. However, in NLD GO 4.1.22 you can enable Boost mode for the P4line and the Mavic 1 line.

Why is the NLD GO Patcher not available for the M2? It's greyed out. This is due to our NLD GO app not being compatible with the M2. You will use the same GO (stock version) you are using now with the M2. Either Android or iOS version.

What about the other options in NLD that are there, but I can't activate them? They are greyed out because they either are not available for your model, or your model on the firmware you are on. Remember that not all options are available on all birds on all firmware. DJI takes steps in every firmware release to stop YOU from modding, so we are constantly making adjustments - so that means you may have to downgrade your firmware to get the mod you want to use to work for your bird.

How to setup NLD GO 4.1.22

NLD GO 4.1.22 has some new features that normal GO does not have, such as:

  • Display of AGL height over changing terrain. This is a feature that will give you real time, actual Above Ground Level height while you are flying, based on GPS position data.
  • Ability to switch between HERE maps and Google maps
  • RC boost mode for the P4 birds and Mavic Pro/Platinum birds
  • 32 channel mode for the P4 birds
  • Force of FCC mode for all compatible birds(on by default)
  • NLD GO 4.1.22 is for Mavic Pro/Platinum, Spark, P4 and P4P models.

4.1.22 link for patching with NLD: http://www.openpilotlegacy.org/dji.go.v4-4.1.22-3028592-noseceo.apk

To enable displaying of AGL height over changing terrain, for this function to work correctly for NLD GO 4.1.22 - you will need to do a couple of things: (this is using GPS satellite terrain data information and is more accurate than the default way altitude is computed in GO.)

  • Go to https://urs.earthdata.nasa.gov/ and sign up for an account
  • Go to http://dwtkns.com/srtm30m/ and download up to 4 “tiles” for your flying area and save them to your device you use with GO
  • Install NLD GO 4.1.22.You will need to copy these “tiles” to a your device in the DJI\srtm_data folder. Leave them zipped, so they would look like N21W172.SRTMGL1.hgt.zip and so on.
  • Copy and paste the names of these files into a .json file installed on your device. (Due to the different data sets, we can't do this for your area)
  • Go to /DJI/og_settings and edit the dtm.settings.json file. This will be easier to do on your PC. Open this file with the editor of your choice, or you can use Notepad. It will look like this:
{"m_AlgoChoice":3,"m_AlgoParams":[30.0,5.0,15.0,3.0,50.0,20.0,3500.0],"m_AltitudeOffset":0.0,"m_DTM_tiles_paths":["/mnt/sdcard/DJI/srtm_data/ N21W158.SRTMGL1.hgt.zip","/mnt/sdcard/DJI/srtm_data /N21W159.SRTMGL1.hgt.zip"],"m_DoLogging":false}

* Replace the names of the files currently in RED with the names of your files (“tiles”). Only replace the names of the two that are there and leave the rest of the text alone. So for my example, I will only have one to replace, so the result after editing will be:

{"m_AlgoChoice":3,"m_AlgoParams":[30.0,5.0,15.0,3.0,50.0,20.0,3500.0],"m_AltitudeOffset":0.0,"m_DTM_tiles_paths":["/mnt/sdcard/DJI/srtm_data/ N21W172.SRTMGL1.hgt.zip"],"m_DoLogging":false}

* Save your changes and transfer back to your device, replacing the one that is currently there. (/DJI/og_settings/dtm_settings.json) Keep a backup of the original. All you want to do is replace N21W158.SRTMGL1.hgt.zip and or N21W159.SRTMGL1.hgt.zip with the name of your tiles for your area. Make changes to this file as you fly in different areas that need different tiles. Check the map here: http://dwtkns.com/srtm30m/ You can have up to 4 tiles listed at a time in this file. * If you don't have any tiles loaded you will see QFE instead of DTM. Otherwise AGL will be displayed up to about 14m/46ft, then switches to DTM * You can save all your tiles for different areas in the DJI\srtm folder and then you just need to change the dtm.settings.json file for each flying area.

Switch between Google Maps and HERE maps

Here is what you need to do on your device: Go to internal storage and look for the /DJI/og_settings folder. Unzip useGoogleMap.zip and copy the useGoogleMap file into /DJI/og_settings folder, or you can make your own file named useGoogleMap and place it there. DO NOT make useGoogleMap.txt file and use that. It will not work. You need to remove the .txt and save it only as useGoogleMap. Run GO. You should have Google Maps working. If you want to switch back to HERE maps, just rename that file. As a suggestion, you could name it HuseGoogleMap.

Here is how to enable boosted RC for Mavic (1.5w output) and 32 channel mode for P4. It's configured from the /DJI/og_settings/datalink.settings.json on your device with NLD GO 4.1.22 installed.

Edit the datalink.settings.json file with a text editor, find the variable called “boost” and change this from false to true to enable the 1.5W boost feature to get even more range than FCC mode. Do the same for the 32Channels and change false to true. Save the file. Boost has been tested and working on Mavic, and 32 channel tested and working on P4P. NOTE! This feature runs the RF chips at their max voltages and as such generates a LOT more heat. It isn't advisable to use this mode in very hot climates as the small internal cooling fan may not be able to cope with the extra heat. Run this boost mode at your own risk! You could burn out your RF chips if the chips overheat.

  • the file attached has boost mode enabled. Save this to /DJI/og_settings/ on your device

Watch this great video on how to patch your own NLD GO 4.1.22:

https://youtu.be/PDI9NgHFNmk

User Supplied Firmware

Using a user supplied firmware file? Why would you want to do this? DJI always is changing firmware, adding new features - but mostly adding security and patching holes to stop you from modding your birds. NLD is always figuring out ways to get around these security patches, so you CAN mod your bird.

NLD now supports user-supplied firmware flashing. This means you can now use mixed module firmware to flash your drone and still use NLD!

What exactly is mixed module firmware or cherry picked firmware? Go here and read: https://dji.retroroms.info/howto/modulemix

The DJI firmware is made up of individual firmware modules for the various hardware components on your bird, such as Camera module, ESC modules, sensor modules etc. This is combined into one single firmware file. When you upgrade or downgrade your firmware, the flashing code on the drone will check each module and flash it to match the firmware you are trying to flash to.

Not all modules have version changes in each firmware-flashing module. Sometimes they may be the same version. If this is the case, OR if the module is not in the firmware file, the flashing code will SKIP that module and not throw any error. Cool huh?!

What does this really mean? The DJI firmware is really a big zip type file, actually a .tar file. You can use a program like 7-zip to open it and see all the modules. All the parameter/Mod changes are in the Flight Controller modules and they are #305 and #306. You can delete any modules, save the firmware file and flash it, but you need to keep the cfg.sig file intact…but like any flashing of your drone, if you do not know what you are doing, don't mess with this, it is possible to brick your drone.

Why would you want to do this? Let's take for example the Mavic Pro/Platinum and the Spark birds. For the Mavic Pro, the last firmware before DJI really started locking it down was 01.03.0700. On that firmware all mods can be done, with the two most popular being NFZ and Altitude disable. The Spark was firmware 01.00.0300 to do the same. The difference with the Spark firmware is that DJI FORCED a firmware update to the Sparks on that firmware and DJI will LOCK your SPARK if you do not upgrade from that firmware to a higher one. To avoid this, you use NLD GO, or you can use mixed firmware.

As new firmware came out, DJI added more fixes to the firmware modules and more features, like panorama mode etc. If you upgrade to 01.04.0300 for the Mavic or 01.00.0900 for the Spark, you lose the ability to disable NFZ and Altitude. But if you are using NLD, you can use our NLD NFZ removal patch, and that is a different way to deal with NFZ, but the NFZ detection is still active and could be overridden by the GO app, IF you are using a stock app, Android or iOS. If you are using the NLD GO app for Android, we have removed the NFZ data from that, so the app has nothing to override because it has no NFZ data.

How does mixed modules come into play? Since we know that the firmware file is made up of modules, and we know in the example of the Mavic and Spark that 01.03.0700 and 01.00.0300 can do all mods, why don't we take out these modules from the more recent firmware, like 01.04.0300 and 01.00.0900, so that the firmware flashing SKIPS the already flashed flight controller module, but updates all the rest? Do you see it? What you end up with is all the firmware modules are upgraded on your bird, EXCEPT the flight controller module, (since you deleted it from the .bin file, AND the bird already has the older version) so that you can continue to mod your bird, just like you were still on 01.03.0700 or 01.00.0300! NLD now supports you uploading your own firmware, so this is now possible. Make 100% sure you know what you are doing. If not done right, you can brick your bird. This means ONLY getting firmware that you have made yourself and know what you are doing, or from a trusted source.

So for example…If your Mavic is on V01.04.0300: flash custom firmware that ONLY CONTAINS module 305/306 and the cfg.sig file from 01.03.0700 firmware, with the result of now having all up to date modules, except you now have flight controller modules from 01.03.0700 and can do all mods!

You could also go the opposite way…if your bird is on 01.03.0700, you would flash 01.04.0300 firmware with all modules intact except you would remove 305/306 from this firmware and end up with the same result!! All modules are on 01.04.0300 firmware except for the flight controller module. The same goes for the Spark using the spark firmware versions.

What about NLD, will it now detect that I have mixed firmware and make all the options available for the flight controller version that is actually on the bird? Yes and No. Your firmware version will be detected as the LAST version you flashed with.

For example. Your bird is on firmware 01.03.0700 and you flash to mixed module 01.04.0300. Your firmware will be detected as 01.04.0300. Lets say you go the opposite route, and are already on 01.04.0300 Stock, but want to have all mods available, so you flash mixed module 01.03.0700. Your firmware will be detected as 01.03.0700 version.

What are the down sides to doing this? While you gain the modding ability of the earlier flight controller version, you may lose some functions in the more recent flight controller version. You will have to determine if modding is worth the trade off.