DJI firmware contains multiple modules for different functions. For example one for the camera, one for the ESCs, one for the flight controller and so on. The important one is the flight controller module(s) because the modified parameters are stored and used within this part of firmware. These are modules 305 and 306. For the Noflyzone it is module 905. The mixing of the Firmware seems not possible anymore with Firmware V01.04.0400 and higher. It will lead to Error 200 which will prevent take-off. Stick to V01.04.0300 as bin file to delete the modules from. For downgrading a Mavic Pro to 1.03.0700, it requires the internal SD Card to be installed, which is not the case for newer versions of the Mavic. As a rule of thumb, one can say, that if your Mavic was delivered with a Version newer than 1.03.0700 (e.g. 1.03.1000), no internal SD Card is installed. This can only be fixed by a harware modification
DJI have made changes that prevent parameter changes in some of their recent firmware. To get all benefits from more recent firmware, without the downside of losing parameter changes, you will need to delete modules from recent firmware.
The last tweakable firmware versions that allows all parameter changes are:
Model | Version |
---|---|
Spark | 1.00.0300 |
Mavic | 1.03.0700 |
Phantom 4 | 1.02.0503 |
Phantom 4 Pro | 1.03.0509 |
Inspire 2 | 1.00.0330 |
So. What is it we want to do here? If you are upgrading beyond the firmware versions listed above, you will need to remove module 305 and 306 from your firmware file before flashing. You can read about the different module components here.
The basic idea is to remove modules 305 and 306 from your target firmware file before flashing, in order to prevent those modules from being upgraded to a higher version that doesn't allow all parameter changing. You can read about the different module components here.
NOTE: You can't mix firmware module versions into the same .bin You must downgrade, then upgrade.
Start by installing a tweakable firmware file on your aircraft using Dumldore (windows) or dumlflasher (win/Mac), then simply flash like normal. If you are jumping from the latest firmare version (say 1.04.0300) down to 1.03.0700, the update may stop at 82%. If that happens, give it time. It should then jump to 100%. If that happens, you will need to flash a second time to finish the rest of the update.
Note: More recent versions of firmware (Mavic 1.04.0000+) will require you run a step to defeat the anti-rollback tech DJI implemented. You can use dumldore v2, v3 or the dumlracer tool (Windows and Mac). This applies to Inspire 2, Phantom 4 and Phantom 4 Pro as well. This step may require you to change your network settings according to this screenshot:
CAUTION - when flashing with modded .bin files and monitoring progress with Assistant, you may get a firmware failed message. Be patient. It didn't fail, only the module you deleted did, since the flash procedure expects that module to be present in the firmware. Its on the bird already, so that module gets skipped, keeping the older module. Let it do it's thing and be patient.
Install your custom firmware file on your aircraft using Dumldore (windows) or dumlflasher (win/Mac), then simply flash like normal.
Note: Even though you have removed modules from the more recent firmware, Dji GO and Assistant will show the new firmware version. To make use of the new flight modes, you will also need to use the latest GO app.
Now you can mod the parameters you want to change with Assistant, or use nolimitdronez.com
I want 1.04.0000 firmware on my Mavic but still want to modify all parameters.