Phantom 3 flight controller parameters

Joined
Dec 21, 2016
Messages
185
Reaction score
8
Age
54
we need people to test the flight controller parameters. theres over 800 parameters. would be nice to find the ones that make it tilt more of move faster. maybe if we can get people to test flyc_param_infos. if you need any help let me know i would be more than happy to help. if or when we know the important parameters maybe there would be a full on mod-kit to make things easier to change
 
here are some that can be explained, accuracy of what some of them they really do is questionable but i try to make descriptions as accurate as possible. development at the github pages is ceasing to a halt. so if anyone would like to make their drone faster etc-

"name" : "g_config.control.vert_up_vel_0" ascend speed
"name" : "g_config.control.vert_down_vel_0" descend speed
"name" : "g_config.engine.upper_bound_0" motor speed limit
"name" : "g_config.engine.idle_level_0" controls idle speed on ground
"name" : "g_config.flying_limit.max_height_0" controls maximum altitude
"name" : "g_config.novice_cfg.max_height_0" maximum height in beginner mode
"name" : "g_config.output_servo.pwm_max_0" effects rev speed when motor starts
"g_config.control.atti_tilt_w_rate_0" set lower for less tilt, cant be higher than default value
"g_config.control.atti_torsion_w_rate_0" set lower to slow down torsion, max value is max
"g_config.control.manual_tilt_w_rate_0" set lower for less tilt, max value is max
"g_config.control.manual_torsion_w_rate_0" set lower to slow down torsion, max value is max

::ONLY CHANGE THE MAX,MIN,DEFAULT VALUES

I recommend holding your drone in your hand for some test flights after drastic changes to be sure your not going to have any MAJOR problems. a bricked flight controller is easily re-flash. if you would like i can explain how to flash ONLY the flight controller binary file, this makes the process faster and safer and removes the possibility of bricking the camera etc. i use "apk editor pro" simple file replacement method for android. its fast and easy to update the apps fly_param_infos this way.

if your interested in testing them heres the steps phantom 3 pro

1. make sure your on drone firmware 1.7.6
2.use phantom firmware tools to extract the 1.7.6 firmware container into individual containers
3. find mi01.bin container this is the flight controller.
3. use phantom firmware tools flyc_param_ed.py to extract teh flyc_param_infos files
4.use wordpad to make your changes to flyc_param_infos
5.use flyc_param_ed.py to update mi01.bin with the new parameters
6.rename mi01.bin to PMCAPPFw3.bin and place it on the sdcard to update with the new flight controller parameters.
7. extract flyc_param_infos from dji 2.4.2 android app location is, res/raw/flyc_param_infos.
8.make the same changes in the apps flyc_param_infos so they match the flight controllers, not all the flights controllers parameters are in the apps flyc_param_infos but dont worry about them if they are not.
9.update the app with the new flyc_param_infos file, i use apk editor pro.
10.open dji go 2.4.2 and reset all settings, it will send all the parameters from the apps flyc_param_infos to the drone.
11.test
12.re-test
13.test some more
14. USE THE SIMULATOR TO TEST YOUR FLIGHT SOY OU DONT HAVE ANY CRAZY FLYAWAYS. ITS SAVED MY DRONE LIKE 20 Times

heres a tutorial on how to downgrade to 1.7.6
Downgrading firmware on P3P from 1.10.9 to 1.7.6

if anyone wants to make their drone faster here you go specs,
22.4 miles per hour ascend
17 miles per hour descend
lower idle
44 miles per hour gps
45-55 mph atti mode

this is the 2.4.2 app and the flight controller single module. to install just copy the flight controller module to the sdcard and begin update. then find and install dji go 2.4.2. then install the modded app provided over previously installed 2.4.2. the setup seems very stable dont forget to restore default settings within """dji go 2.4.2"""" before flight

DJI GO 2.4.2 AND FW 1.7.6..zip


please let me know if you need help thanks
 
Last edited:
Did you test the altitude limit, does it override the default 500 (meters) or is there more parameters involved?

{
"index" : 242,
"typeID" : 1,
"size" : 2,
"attribute" : 11,
"minValue" : 20,
"maxValue" : 6000,
"defaultValue" : 6000,
"name" : "g_config.flying_limit.max_height_0",
"modify" : true
}

Wondering if i should try "modify" : false to kinda "lock" it from the app, i'm at work so cant test here :)might work just like that tho..
 
be careful people. you could potentially set some vaules to where the drone could take off and keep climbing and not respond to your controller. would be a tragedy if it flew up 20,000ft into an airplane or fell from 20,000 ft into somthing. make sure you set your rth features and check what you can before high altitude flight. trust me ive already had to CSC and buy a new camera
 
Last edited:
as soon as i get a functional camera going again, I'll test! :) Got new phantom, just need to rebuild the camera now. Need gimbal ribbon
 
  • Like
Reactions: notsolowki
Did you test the altitude limit, does it override the default 500 (meters) or is there more parameters involved?

{
"index" : 242,
"typeID" : 1,
"size" : 2,
"attribute" : 11,
"minValue" : 20,
"maxValue" : 6000,
"defaultValue" : 6000,
"name" : "g_config.flying_limit.max_height_0",
"modify" : true
}

Wondering if i should try "modify" : false to kinda "lock" it from the app, i'm at work so cant test here :)might work just like that tho..

I tried the "false" thing and it didn't work for me or at least I couldn't tell because the parameter i changed didn't work as I wanted it to and I really can't remember the facts...messing with max height isn't something I personally need to mess with but if it was I would have probably tried changing the default value in the below index to "2". and if that didn't work i would have changed it to "0" even though the min value is one..or maybe change the min setting to "0" first...Who really knows? maybe it's only enabling the max height limit for the advanced functions like waypoint, POI, or go home? There are probably a million ways you can try that won't work, the hard part is finding the one that does...It all can really drive someone insane:confused: Good luck...

"index" : 211,
"typeID" : 0,
"size" : 1,
"attribute" : 11,
"minValue" : 1,
"maxValue" : 2,
"defaultValue" : 1,
"name" : "g_config.advanced_function.height_limit_enabled_0",
"modify" : true
 
You need to only change the max, min, default. And not worry about the other parameters
 
I personally don't consider this to be good idea
some people can't even read the ***** manual for the drone
and you want them to test the params

this is much much worse than downgrading the FW with debug file - when they do something wrong, they end up with bricked AC in worst case
if they screw up the flyc params, somebody could really get hurt

I'll just hope that 99.9 % of volunteers will leave this thread after reading point 2 ("use phantom firmware tools to extract the 1.7.6 firmware container into individual containers")
 
You need to only change the max, min, default. And not worry about the other parameters

notsolowki quit messin around and get your bird fixed already! 3 things I want changed are return to home speed faster, no auto landing at 10% and no annoying low battery warning at 15%...Oh and one more thing, if you can get rid if that annoying start up sound...Thanks. ;)
 
  • Like
Reactions: rulppa
Every one of those parameters, besides maybe the startup tones, are hardcoded into the binary. The only way would be to bytepatch them.
 
I thinkthis would be a perfect task for mefistotelis but he dont seem interested in those parameters. But it would be nice to atleast change the return to home speed. If you use his tools and convert mi01.bin to mi01.elf you can then load it into IDA pro and begin disassembling the firmware. When you find the rth speed you can get the location of the bytes and edit them with a hex-editor. Theres a way to allign the data with the bytes with ida pro. But since idapro cant assemble the binary you have to use ida pro to allign the data with the bytes it will let you change them and see what the outcome would be. Then you can use hexeditor to change the bytes. Im not sure if you would have to fix the crc or not. Thats a question for mefistotelis.
 
This is what go home speed looks like in ida pro


sub_80680F4, sub_8068294; used value:
.text:08068290 flt_8068290 DCFS 7.8
sub_8068F90; used value:
.text:08069068 dbl_8069068 DCFD 7.80000019

If you scroll throughg the million lines of code you with find a few things without have to do alot of debugging. Gohome speed also appears in other location that point to this. If you convert 7.8 to meters per second it sounda about right
 
.text:08068FB0 LDR R0, =aSmart_batteryT ; "[smart_battery]this fireware calc gohme"... .text:08068FB2 VSTR D0, [SP,#0x10+var_10] .text:08068FB6 VLDR D0, =7.80000019 .text:08068FBA VMOV R2, R3, D0 .text:08068FBE BL sub_806E08A
 
these parameters right here seem to directly effect the motor speed

PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[0]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[1]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[2]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[3]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[4]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[5]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[6]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.min_limit[7]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[0]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[1]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[2]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[3]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[4]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[5]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[6]_0" limits,
PMCAPPFw3.bin: Updating "g_config.output_servo.max_limit[7]_0" limits,

setting these higher didnt make it fast but it made the throttle response insane

i notice that if the drone tries to tilt too much the motor speeds are corrected to fix the angle. i think it might have somthing to do with the imu/compass/gps feedback
 
i wish you guys could have seen it move around in the sky. it would move really really quick.
 
i just found out you can test the alot of the parameters with the flight simulator. so you can test the speeds without taking it outside.
 

Recent Posts

Members online

Forum statistics

Threads
143,086
Messages
1,467,530
Members
104,966
Latest member
adrie