-
Notifications
You must be signed in to change notification settings - Fork 428
Flashing firmware via SD card
A commonly used way of upgrading DJI products, especially older ones, is by inserting SD-card with the new firmware. This page will explain the procedure.
While using the SD-card is the simplest way to flash a new firmware, it is usable mostly in cases where the drone works properly before update. If the drone cannot properly communicate with some of its modules, they will not be affected by the update. This means if a module stopped working after an update, further updates will not affect it in any way (it is still possible that the module works properly, just using its older firmware - in that case a downgrade of the whole drone could bring it back to life, by downgrading all other modules to the version which can communicate with the problematic module).
The flashing methods are as follows.
The official way of flashing the firmware is by inserting an SD-card with firmware package file into the drone camera. The camera will extract modules from the package and distribute them to proper target components. It requires the firmware in bin form to exist in root directory of the SD-card.
In order for the firmware to be accepted:
- it cannot be compressed on the SD-card
- no newer firmware should exist on the card
- the firmware must have original file name, specific to the product
- the firmware must match the product being updated
- the new firmware needs to be newer than current, or current needs to allow rollback to the target version
- if a proper FW_DEBUG file (ie.
P3X_FW_DEBUG
for P3X) exists in the root directory of SD-card, the version checking rules above does not apply
After the upgrade, two logs will be created on the SD-card. The more verbose log will be in a MISC/LOG
folder which has the hidden attribute set. It is best to check that log for a result information.
The camera can also upgrade specific modules of the drone if properly named files are found on the SD-card. The firmware module file needs to be unencrypted - flashing an encrypted firmware this way will cause the updated device to crash during startup, and the only way to bring it back to life will be to hook to it directly and flash it using a hardware programmer.
If the current firmware in the camera is old enough, file names from the following table are used for each module.
module | file name |
---|---|
[[m0100 | Firmware m0100]] |
[[m0101 | Firmware m0101]] |
m0102 | CAMBSTFw.bin |
m0104 | CAMBCPUFw.bin |
m0105 | CAMLCPUFw.bin |
[[m0306 | Firmware m0306]] |
[[m0305 | Firmware m0305]] |
[[m0400 | Firmware m0400]] |
[[m0500 | Firmware m0500]] |
[[m0700 | Firmware m0700]] |
[[m0800 | Firmware m0800]] |
[[m0900 | Firmware m0900]] |
[[m1100 | Firmware m1100]] |
[[m1101 | Firmware m1101]] |
[[m1200 | Firmware m1200]] |
[[m1201 | Firmware m1200]] |
[[m1202 | Firmware m1200]] |
[[m1203 | Firmware m1200]] |
[[m1500 | Firmware m1500]] |
[[m1700 | Firmware m1700]] |
[[m1701 | Firmware m1701]] |
[[m1900 | Firmware m1900]] |
m3002 | TEST3Fw.bin |
m3003 | TEST4Fw.bin |
m3004 | TEST5Fw.bin |
m3005 | TEST6Fw.bin |
m3006 | TEST7Fw.bin |
m3007 | TEST8Fw.bin |
m3100 | TEST9Fw.bin |
m3101 | TEST10Fw.bin |
m3102 | TEST11Fw.bin |
m3103 | TEST12Fw.bin |
The following current firmware versions qualify as the old firmware:
- P3C firmware lower than P3C_FW_V01.00.0020
- P3S firmware lower than P3S_FW_V01.04.0010
- P3X firmware lower than P3X_FW_V01.05.0030
If the camera firmware version is greater or equal to the versions above, the following names apply.
module | file name |
---|---|
[[m0100 | Firmware m0100]] |
[[m0101 | Firmware m0101]] |
m0102 | PCAMBSTFw3.bin |
m0104 | PCAMBCPUFw3.bin |
m0105 | PCAMLCPUFw3.bin |
[[m0306 | Firmware m0306]] |
[[m0305 | Firmware m0305]] |
[[m0400 | Firmware m0400]] |
[[m0500 | Firmware m0500]] |
[[m0700 | Firmware m0700]] |
[[m0800 | Firmware m0800]] |
[[m0900 | Firmware m0900]] |
[[m1100 | Firmware m1100]] |
[[m1101 | Firmware m1101]] |
[[m1200 | Firmware m1200]] |
[[m1201 | Firmware m1200]] |
[[m1202 | Firmware m1200]] |
[[m1203 | Firmware m1200]] |
[[m1500 | Firmware m1500]] |
[[m1700 | Firmware m1700]] |
[[m1701 | Firmware m1701]] |
[[m1900 | Firmware m1900]] |
m3002 | PTEST3Fw3.bin |
m3003 | PTEST4Fw3.bin |
m3004 | PTEST5Fw3.bin |
m3005 | PTEST6Fw3.bin |
m3006 | PTEST7Fw3.bin |
m3007 | PTEST8Fw3.bin |
m3100 | PTEST9Fw3.bin |
m3101 | PTEST10Fw3.bin |
m3102 | PTEST11Fw3.bin |
m3103 | PTEST12Fw3.bin |
After the upgrade, log files will be created on SD-card, similar to the method with package.
In some cases, it is also possible to flash RC firmware by inserting card reader to the USB slot at back of it.
TODO
This page is created by drone enthusiasts for drone enthusiasts.
If you see a mistake, or you know more about specific subject, or you see an area for improvement for the wiki - create an issue in this project and attach your patch (or describe the change you propose).