This guide explains how to modify Phantom 3 and Inspire 1 flight controller parameters running ANY firmware version.
NOTE: THIS IS FOR PRO USERS, YOU HAVE TO KNOW WHAT YOU ARE DOING! I'M NOT RESPONSIBLE FOR ANYTHING.
These instructions apply to any firmware version as of January 2018; the keys were found, we are good to go on all versions.
The following how to video shows the process end to end. Watch this before doing any of this!
Make sure to review this GitHub with more info: https://github.com/o-gs/dji-firmware-tools
Put the PY files and the firmware bin file in same folder, such as C:\P3
Install Python 3, reboot if required. Make sure to SET PATH for Python. If you don't know what this means, google it.
Detailed Usage instructions for the two Python Tools, dji_xv4_fwcon and dji_flyc_param_ed
Start->Run->cmd
cd\p3 PRESS ENTER
dji_xv4_fwcon.py -vv -x -p P3X_FW_V01.07.0060.bin PRESS ENTER
ModuleNotFoundError: No module named 'Crypto'
python -m pip install pycryptodome PRESS ENTER
dji_xv4_fwcon.py -vv -x -p P3X_FW_V01.07.0060.bin PRESS ENTER
dji_flyc_param_ed.py -vv -x -m P3X_FW_V01.07.0060_m0306.bin PRESS ENTER
This will extract the firmware and the flight controller firmware module.
Example g_config.advanced_function.height_limit_enabled_0 Change the MinValue and MaxValue = 2
dji_flyc_param_ed.py -vv -u -m P3X_FW_V01.07.0060_m0306.bin
These are the important parameters you may want to modify to change the flight characteristics. These may change a tad from p3s to p3a to p3p to Inpsire. The proposed below are from p3a 1.7.
I removed the g_config from the prefix to make the table fit better :)
Parameter Name | Description |
---|---|
advanced_function.height_limit_enabled_0 | Removes height limit |
control.horiz_vel_atti_range_0 | GPS Tilt angle makes faster |
control.atti_range_0 | ATTI Max tilt angle |
control.atti_limit_0 | ATTI tilt angle |
control.vert_up_vel_0 | Ascent Velocity Rate (Up) |
control.vert_down_vel_0 | Descent Velocity Rate (Down) |
airport_limit_cfg.cfg_search_radius_0 | NFZ search radius, lower is less enforcement |
airport_limit_cfg.cfg_disable_airport_fly_limit_0 | Disable NFZ |
airport_limit_cfg.cfg_limit_data_0 | NFZ map data value |
airport_limit_cfg.cfg_enable[FLY_LIMIT_TYPE_SPECIAL]_0 | NFZ Type 2 Removal (GeoZone) |
flying_limit.auto_landing_enabled_0 | No landing at 65k feet from HP |
voltage.level_1_protect_type_0 | Battery level 1 function (warn, led) |
voltage.level_2_protect_type_0 | Battery level 1 function (warn, led, land) |
voltage2.level_1_voltage_0 | Battery level 1 % |
voltage2.level_1_function_0 | Battery level 1 function (warn, land) |
voltage2.level_2_voltage_0 | Battery level 2 % |
voltage2.level_2_function_0 | Battery level 1 function (warn, land) |
voltage2.user_set_smart_bat_0 | Battery type (DJI vs non-DJI) |
voltage2.level2_smart_battert_land_0 | SmartRTH battery landing % |
advanced_function.driver_license_limit_enable_0 | DJI Driver License Pilot |
advanced_function.viechle_license_limit_enable_0 | DJI Driver License Aircraft |
I removed the g_config from the prefix to make the table fit better :)
Last edit: digdat0 07/21/201. adding license param. use the tilt and vert up/down as guidelines.
Height Limit Removal
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
advanced_function.height_limit_enabled_0 | 1 | 2 | 1 | 2 | 2 | 2 |
flying_limit.max_height_0 | 20 | 500 | 120 | 10000 | 10000 | 10000 |
GPS Mode Speed Change
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
control.horiz_vel_atti_range_0 | 10 | 60 | 23 | 30 | 60 | 30 |
ATTI Mode Speed Change
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
control.atti_limit_0 | 10 | 60 | 30 | 50 | 60 | 50 |
control.atti_range_0 | 10 | 60 | 30 | 50 | 60 | 50 |
Vertical Ascent/Descent
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
control.vert_up_vel_0 | 1 | 10 | 5 | 10 | 12 | 10 |
control.vert_down_vel_0 | 1 | 10 | 3 | 8 | 10 | 8 |
NoFlyZone Removal
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
airport_limit_cfg.cfg_disable_airport_fly_limit_0 | 0 | 255 | 0 | 1 | 1 | 1 |
airport_limit_cfg.cfg_limit_data_0 | 0 | 4294967295 | 20150910 | 20250910 | 20250910 | 20250910 |
airport_limit_cfg.cfg_search_radius_0 | 65535 | 50000 | 0 | 1 | 1 | 1 |
airport_limit_cfg.cfg_enable[FLY_LIMIT_TYPE_SPECIAL]_0 | 0 | 1 | 0 | 1 | 1 | 1 |
Disable distance limit landing
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
flying_limit.auto_landing_enabled_0 | 0 | 1 | 0 | 1 | 1 | 1 |
Disable smart battery functions / auto landings at low battery and high altitude
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
voltage.level_1_protect_type_0 | 0 | 1 | 0 | 0 | 0 | 0 |
voltage.level_2_protect_type_0 | 0 | 2 | 2 | 0 | 0 | 0 |
voltage2.level_1_voltage_0 | 10 | 100 | 30 | 0 | 0 | 0 |
voltage2.level_1_function_0 | 0 | 10 | 0 | 0 | 0 | 0 |
voltage2.level_2_voltage_0 | 10 | 100 | 10 | 0 | 0 | 0 |
voltage2.level_2_function_0 | 0 | 10 | 1 | 0 | 0 | 0 |
voltage2.user_set_smart_bat_0 | 0 | 10 | 2 | 0 | 0 | 0 |
voltage2.level2_smart_battert_land_0 | 0 | 100 | 10 | 0 | 0 | 0 |
Disable DJI's driver license enforcement
Parameter Name | Stock minValue | Stock MaxValue | Stock defaultValue | New MinValue | new Maxvalue | New defaultValue |
---|---|---|---|---|---|---|
advanced_function.driver_license_limit_enable_0 | 1 | 1 | 1 | 2 | 2 | 2 |
advanced_function.viechle_license_limit_enable_0 | 1 | 1 | 1 | 2 | 2 | 2 |
These parameters are intended to be informational and as guidelines. You can change certain ones like speed +/- from what is posted above. Please fly safe and within the limits of the aircraft and yourself.
Once you are done editing, you can fly. I recommend compass calibration. You ca