FAQ or Background on the issue

After a few years of helping people with this issue, I've noticed some common questions crop up. Here is a little more background and a few more tips that I've put together over the years. I hope this helps P2VP fans get back in the air one way or another!

Root cause: It all stems from DJI doing some ingenious and not-so-ingenious engineering for the Phantom 2 Vision Plus FPV system.

The not-so-ingenious parts first: they used some NAND chips that are a little too volatile to reliably hold the module firmware over time. They couldn't use completely static memory as they needed the ability to upgrade it to newer version, however the volatile nature of the re-writable memory chips they chose meant that they aren't perfect at storing all the bits and bytes over time. Eventually some blocks go corrupt.

Now for the ingenious part: DJI engineers new that the NAND chips they chose will corrupt over time - or at least they had a plan for mitigating this scenario. You see each time the Wi-Fi module starts up, you can see in the debugging log that minor memory corruptions are identified and data is moved to a new block. You see all data on the chips has a backup as well. The odds are pretty good that a few blocks corrupt between each boot up, but the odds that the same block corrupts in both the main store and the backup is really low.

Now fast forward to 2019. The P2VP came out in 2014, and very few people have been flying these every day since release. We now have drones that the majority have spent more time on the shelf than in the air. This means that memory corruptions have built up with no module boot-ups to repair the corrupt blocks for months or even years. At some point over these 5 years, the likelihood that the main memory and backup memory corrupts in the same spot becomes rather high and WHAM! The wifi module won't start up and your drone goes blind / gets the blank screen / black video FPV issue :-(

What about heat? Heat never helps! But it's not the root cause. It probably increases the rate of volatile memory corruption, but even a cool module, sitting on the shelf, corrupts over time - as we see from the myriad hobbyists who turn it on after shelving it for 6 months only to find FPV isn't working. Then you have telemetry (because the top board in the wifi module still works and transmits wifi signal to the range extender), but the FPV doesn't work because the Davinci video processing chip on the lower board stops doing its job and freezes during its boot-up sequence.


What are your options (as of March 2019):

  • Buy a working module ($100 to $200 on eBay) that is working for now, but has a non-zero chance of failing in the future
  • If you live in the USA and you've never opened or modified your drone, try your luck at DJI's P2 Care Plan - maybe after filling out the survey and jumping through all the hoops you'll get your drone fixed for FREE!
  • Get a newer drone that is less likely to go blind: Mavic Pro, P3 Standard, Phantom 4, etc. (note that some P3Pro do go blind for similar reasons to the P2VP issue)
  • Reflash the NAND yourself, using the tutorial I've put together - this requires about $30 of equipment and a steady soldering hand. Be careful not to damage the test pads on the board or repair will become impossible for you or anyone you send the board to!
  • Have someone else repair your board for you (~$80) - I am in the USA and do the repairs (contact me here), in the UK/Europ the https://www.youtube.com/channel/UCSzKC4DjDV7zS7FuRm5t8JA has a tutorial on the fix and does great work, or try one of the handful of people offering the service on eBay (my handle on eBay is okstuv)


Oh, and one more tip. For those of you with no telemery and no fpv: your problem is Binding, not necessarily a bad module. Unfortunately, binding the module to the range extender is trickier than it used to be. You see many modern cell phones are not completely compatible with the binding feature in the DJI Vision app. I've put together this tips and tricks page to help people bind their range extenders properly - even examples of what a bad bind looks like and what a good one looks like.