Skip to content

Flashing firmware via SD card

mefistotelis edited this page Aug 26, 2017 · 26 revisions

Overview

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.

Flashing the drone

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.

By official package in camera

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.

Requirements checklist

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

Log file

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.

By firmware module in camera

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.

Old Phantom 3 firmware module names

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

Updated Phantom 3 firmware module names

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

Log file

After the upgrade, log files will be created on SD-card, similar to the method with package.

Flashing the remote controller

In some cases, it is also possible to flash RC firmware by inserting card reader to the USB slot at back of it.

TODO

Clone this wiki locally