User Tools

Site Tools

Translations of this page:

howto:modulemix

Firmware Module Mixing

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.

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:

ModelVersion
Spark1.00.0300
Mavic1.03.0700
Phantom 41.02.0503
Phantom 4 Pro1.03.0509
Inspire 21.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.

Step by step

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.

1. Get two firmware files

    1. The latest tweak able version for your aircraft (from the table above)
    2. The target version for your aircraft

2. Install 7-zip

3. Remove FC to make custom firmware

  1. Open 7zip
  2. Navigate to your firmware file you want to mod, open it within 7-Zip

  1. Select the “305” and “306” modules and delete them

  1. Close 7zip, this will save the firmware file
  2. Rename your firmware file to indicate no flight controller modules (so you dont get confused)

4. Install tweakable version

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.

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.

5. Install custom firmware file

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.

6. Modify parameters

Now you can mod the parameters you want to change with Assistant, or use nolimitdronez.com

7. Example

I want 1.04.0000 firmware on my Mavic but still want to modify all parameters.

  • Downgrade to .400 or .700.
  • Download V01.04.0000_Mavic_dji_system.bin.
  • Delete modules wm220_0305… and wm220_0306…
  • Upgrade using this modded firmware.
  • Done.
howto/modulemix.txt · Last modified: 2018/06/12 01:55 by digdat0