brett8883 / DJI_Super-Patcher

Liberate DJI drones. Height limit, NFZ limit, enable Galileo Satellites + more
394 stars 112 forks source link

<img src="https://github.com/brett8883/DJI_Super-Patcher/blob/photos/readmephotos/super-Patcher.png" alt="IMAGE ALT TEXT HERE" width="950" height="180" border="10" />

DJI Super-Patcher 2.0.2 updates

-Changed downloaded file location to the current directory

Other recent changes

DJI Super-Patcher

Super-Patcher now supports the following aircraft and firmwares:

OBJECTIVE SUMMARY

The purpose of this project is to liberate DJI aircraft from the limitations imposed by DJI. DJI Super-Patcher allows new features/abilities, unlocks arbutrary limitations, and allows DJI aircraft to be customized far beyond what is allowed by the factory firmware.

Super-Patcher works differently than other methods for unlocking firmware. It is not a modification that mixes old firmware with new firmware. Super-Patcher patches the flight controller module that is already installed on your aircraft. This ability to patch the actual firmware itself means that new capabilities are unlocked. Super-Patcher has been tested and verified. You can trust that it has been proven but you still use at your own risk.

While Super-Patcher removes the default altitude and GeoZone limitations, that does not mean it is safe or legal to do so in your area without proper authorization. DJI Super-Patcher is meant to allow responsible pilots with the correct authorization to fly in areas and to heights that DJI does not offer a reasonable method or any method at all to unlock. It is solely the responsibility of the pilot to ensure local laws and regulations are adhered to and to fly safely just like with any other aircraft.

PLEASE FLY RESPONSIBLY!

Super-Patcher has been designed to be used by the average joe and much of the design and development has been to make the process as easy as possible. It only requires very basic computer skills, such as clicking buttons and navigating to a folder using the file explorer. Super-Patcher is a batch script that runs natively on all Windows 10 PCs and all dependancies are downloaded automatically by the program. No prior set up is required. Super-Patcher is interactive and walks the user through step-by-step dynamically based on user selections. It doesn't get much easier than this.


[CLICK] On the photo below to watch @digdat0's turtorial on DJI Super-Patcher : <img src="https://raw.githubusercontent.com/brett8883/DJI_Super-Patcher/photos/sp2.0DigDat0.PNG" alt="IMAGE ALT TEXT HERE" width="800" height="500" border="10" />

(Thanks @digdat0!)


BENEFITS SUMMARY

(PLEASE READ THE DETAILED LIST THAT FOLLOWS AS WELL)


Please carefully read through the through explanation of the benefits below. Directions to get started will follow


Features of Super-Patcher

Remove height limitations by default


Remove NFZ and GeoZone limits by default

There is nothing additional the user needs to do to enable this feature and it is always enabled.

NOTE: A third party app such as Litchi may be needed to upload waypoint missions longer than 5000m. The way the DJI Go 4 app works it may not allow a mission greater than 5000m to be uploaded to the aircraft regardless of the firmware limit being removed.


Enable Galileo satellite reception by default


Does NOT require an internal SD card be installed

No motors errors on Mavic Pro Platinum


Precision RTH and Precision Landing are not affected and will work normally**


Motors can be restarted when aircraft is inverted

SMART BATTERY MOD

Super-Patcher unlocks the DJI Smart Battery to its full potential making it 100% customizable.

These options can be enabled in Assistant 2 1.1.2 OR they can be enabled by AUTOMATICALLY by indicating "YES" during the Super-Patcher process.

NOTE: The Smart Battery modifications can also be disabled or tweaked to user preference in Assistant 2 1.1.2 in debug mode

NOTE: The Smart Battery Mod is a modification to how the aircraft responds to input from the Smart Battery. It is not a modification TO the Smart Battery

FURTHER DOCUMENTATION FOR SMART BATTERY MOD COMING SOON

STEALTH MOD

The new Stealth modification will disable the rear LED lights on the aircraft which will remain OFF during flight for Super Stealthy flight.


Optionally enable slower more cinematic panning motions for more cinematic video.**


Optionally enable full time FCC or FCC boost mode with jkson_fcc_mod by jkson5**

PREREQUISITES

or

or

or

or

or

Phantom 4 ProV2 running a 100% stock version of the V01.00.1500 firmware for all modules

or

Inspire 2 running a 100% stock version of the V01.02.0200 firmware for all modules

Super Patcher 2.0 and above includes a utility to automatically download and install the correct stock firmware. Use this for best results

or



DIRECTIONS

  1. Ensure the prerequisites above are met

  2. Download or clone the entire repository

    • Be sure to keep all files in original folders
  3. Double click the DJI_Super-PatcherV2.0.1.cmd file to start the program

  4. Super-Patcher will check internet connection to GitHub which is required and the Windows version of the PC and then download the files it needs to run.

  5. At the Super-Patcher MainMenu you get several options and it allows you to use the utilities included in the program independantly of the Super-Patcher process

  1. After choosing option #1 the program will ask you the optional mods you'd like to install and then will prompt you to turn on your aircraft and connect it to the PC

  2. Super-Patcher will guide you through the process from here.

    • Please do what it says when it says to do it

    • Follow all the steps even if you think you don't need to do them... YOU DO!

    • Don't try to outsmart the process or do anything extra "for good measure"

      • these are the main reasons for Super-Patcher not being successful
  3. You will be prompted to verify the firmware version with the DJI Go 4 app. If Super-Patcher was successful DJI Go 4 will show the firmware version as 00.00.0000. This is normal and a good thing.

  4. You may optionally use the simulator in Assistant 2 or DJI Go 4 to verify working order before testing outside.

Done!


DO NOT PROCEED IF YOU DONT UNDERSTAND



FAQ

Q: Do I need a specific version of the DJI Go 4 app to get the benefits of this mod?

A: No, Super-Patcher is not dependent on an app so you can use any one you’d like.

Q: Do I need to do anything with the controller? Like upgrade/downgrade the controller?

A: No, Super-Patcher doesn’t do anything with the controller and it makes no difference which controller firmware you are using.

Q: There is a parameter called g_config_fw_cfg_max_speed=10 that increased the max flight speed and I was told to increase this to 20 so I can fly faster but when I try to adjust this parameter in Assistant 2 it reverts back to 10 when I reboot the aircraft. How to I change this parameter so I can increase flight speed?

A. The parameter g_config_fw_cfg_max_speed=10 does not affect flight speed. The parameters that control max flight speed end with "_cfg_tilt_atti_range" and "_cfg_rc_scale"each mode has a parameter like this that will adjust the max speed in each mode. g_config_fw_cfg_max_speed=10 was misidentified and some point in the past as a max flight speed parameter but it is not. I do not know what it does but I know it does not affect max flight speed. On the newer firmware this parameter is hardcoded but still visible in Assistant 2 1.1.2 so it will seemingly change in Assistant 2 1.1.2 but in reality it will not let you change it. As far as I am concerned nobody knows what this parameters does.

Q: Is it worth trying this in my Mavic 2? Any idea when Mavic 2 will be available?

A: Super-Patcher has zero chance of working on the Mavic 2 at this time. We need a decryption key for Mavic 2’s firmware and a way to gain adb access. Both of those things are above my pay grade



Donations are very welcome and very much appreciated via paypal.me/brett8883


Acknowledgments

While I brought everything together into a single easy to use project and maintain this repo, Super-Patcher is the culmination of work of many various other projects, contributors, and beta testers.

A special thanks to Henfri and lukasx for taking the plunge to test this with their birds before knowing what would happen and their continued contributions throughout development.

Thanks to D95GAS, frank2006, and Kilrah for consulting during initial conceptual development.

A special thanks to @BorisPlintovic for the FCC + Boost mod for Spark.

A special thanks to mstoozler for providing the 0306.unsig for Inspire 2 flight controller and testing the Inspire 2 patch.

A special thanks to Matioupi and the OG’s /o-gs/DJI_FC_Patcher project and all its contributors of which Super-Patcher can be considered as a branch of and very much dependent on. DJI_FC_Patcher is the engine that drives this project. Super-Patcher serves as an easy to use deployment of the DJI_FC_Patcher that anyone can use with almost no technical ability.

A special thanks to jezzab and the jezzab/DUMLdore application a full copy of which is included in Super-Patcher and without it Super-Patcher would not be possible.

Thanks to Mefistotelis for his dji-firmware-tools and tutoring me on how to use them.

Thanks to DigDat0 for helping with the 1.3 upgrades which were influenced by his fcchooser project and for teaching me various programming techniques.

Thanks to jkson5 who is the author of the jkson fcc mod which I have barrowed and intregrated into Super-Patcher 1.3 and above

Thanks to the other OGs who have contributed to the dependencies required for Super-Patche and who have, by making their work open, helped me liberate my drone from the limits imposed on it by DJI and inspired me to help others liberate theirs.

There are many whos names I do not know that contributed to the dependencies required for this project. I apologize for not having all of their names acknowledged but I will update this list as I discover them.