Free the drone

Joined
Sep 5, 2020
Messages
3
Reaction score
0
Age
23
Hello,

My father-in-law owns a DJI Phantom 2 vision + with the well known black screen error.

I took his drone home with me over a month ago and tried a lot to repair it, but after spending a lot of time with that drone I am just annoyed with DJIs closed-source design. The DJI Vision App just does not work on any modern android phone I tested, I tried using emulators like Android SDK, but always run into problems, also I have analyzed the communication between app and drone and can not make sense of most of it.

Therefore I want to replace as much DJI stuff with Hard- and Software that I understand and which I have programmed myself (or which are at least open-source).

I am a pure mathematician and also now some basic stuff about applied computer science, but definitely not enough so that this would be an easy thing for me to do. Also I have no clue about electrical engineering or video processing.

The first thing I want to do is to find a way to use the Gimbal camera without the Ambarella board. I disassembled the camera and connected the ribbon cable to the camera port of a raspberry pi. The kernel seems to recognize something and adds seven block devices /dev/video10-...-/dev/video16. But unfortunately I can not access the video stream, vlc replays “IOctrl error” and mplayer just gives me an almost all green picture. It would already help a lot to have a name or serial number of that camera (I already gave up to find good old data sheets for DJI products).
If I somehow manage to get a picture from that camera, the next step would be to decode the receiver signal so that I can let the Gimbal adjust its perspective according to my wishes.
Also I need to get telemetry etc., but I am optimistic that this will not be too hard.

I know that this project could easily become more expensive than buying a new drone, but it would make me sick to throw away this drone although most of the hardware works perfectly fine. Also I don't want DJI to get away with that kind of bad engineering.

So does anybody ever tried something similar or can provide some helpful knowledge?
(Some people already solved the opposite problem and gave their phantom another camera, but it seems that nobody tried to use the original camera with third party decoders yet.)

Thanks for your help!

Best,
Dominik
 
Joined
Jun 30, 2016
Messages
1,416
Reaction score
619
Location
PL
While Ambarella SDK is not freely available, it is based on Linux. Sometimes people do push the SDK to Github, though it is usually removed after a few months.

What I'm getting to is - maybe you should just use the Ambarella? Connect to its serial port, and you can check whether Linux is booting properly, and how the video encoding works.

Btw, Ambarella connect directly to the CMOS sensor; typically this is called "sensor" and not "camera". Camera is rhe whole video pipeline, including Ambarella. Though I guess there might be different opinions on this.

Make sure to check the information here:
O-Gs wiki - DJI Phantom 2 Vision plus Hardware

You can write to the O-Gs in "Issues" of that project; they usually respond do questions.

If you really want to avoid Ambarella - you'd have to have info about the sensor used. It doesn't seem to be available on the wiki. Not sure if anyone identified it. Again, you could try contacting O-Gs.
 
Joined
Jul 29, 2016
Messages
444
Reaction score
231
Age
78
Writing sensor drivers is not for the faint of heart. The api of the specific sensor used will be needed.
 
Joined
Aug 23, 2020
Messages
20
Reaction score
8
Age
51
Hello,

My father-in-law owns a DJI Phantom 2 vision + with the well known black screen error.

I took his drone home with me over a month ago and tried a lot to repair it, but after spending a lot of time with that drone I am just annoyed with DJIs closed-source design. The DJI Vision App just does not work on any modern android phone I tested, I tried using emulators like Android SDK, but always run into problems, also I have analyzed the communication between app and drone and can not make sense of most of it.

Therefore I want to replace as much DJI stuff with Hard- and Software that I understand and which I have programmed myself (or which are at least open-source).

I am a pure mathematician and also now some basic stuff about applied computer science, but definitely not enough so that this would be an easy thing for me to do. Also I have no clue about electrical engineering or video processing.

The first thing I want to do is to find a way to use the Gimbal camera without the Ambarella board. I disassembled the camera and connected the ribbon cable to the camera port of a raspberry pi. The kernel seems to recognize something and adds seven block devices /dev/video10-...-/dev/video16. But unfortunately I can not access the video stream, vlc replays “IOctrl error” and mplayer just gives me an almost all green picture. It would already help a lot to have a name or serial number of that camera (I already gave up to find good old data sheets for DJI products).
If I somehow manage to get a picture from that camera, the next step would be to decode the receiver signal so that I can let the Gimbal adjust its perspective according to my wishes.
Also I need to get telemetry etc., but I am optimistic that this will not be too hard.

I know that this project could easily become more expensive than buying a new drone, but it would make me sick to throw away this drone although most of the hardware works perfectly fine. Also I don't want DJI to get away with that kind of bad engineering.

So does anybody ever tried something similar or can provide some helpful knowledge?
(Some people already solved the opposite problem and gave their phantom another camera, but it seems that nobody tried to use the original camera with third party decoders yet.)

Thanks for your help!

Best,
Dominik
Might I suggest a 3rd party gimbal which are readily available and a GoPro Hero 4 (which will be the most recent GoPro that will work with the phantom/gimbal setup). Whilst I appreciate it may not completely eliminate all you want to replace it is a much more straightforward modification that is quite widely recognised and supported.
 
Joined
Sep 5, 2020
Messages
3
Reaction score
0
Age
23
While Ambarella SDK is not freely available, it is based on Linux. Sometimes people do push the SDK to Github, though it is usually removed after a few months.

What I'm getting to is - maybe you should just use the Ambarella? Connect to its serial port, and you can check whether Linux is booting properly, and how the video encoding works.

You make a good point, I will try to connect to Ambarella and see if I can use it.

Btw, Ambarella connect directly to the CMOS sensor; typically this is called "sensor" and not "camera". Camera is rhe whole video pipeline, including Ambarella. Though I guess there might be different opinions on this.

I agree that this definition of camera is favorable.
 
Joined
Sep 5, 2020
Messages
3
Reaction score
0
Age
23
Might I suggest a 3rd party gimbal which are readily available and a GoPro Hero 4 (which will be the most recent GoPro that will work with the phantom/gimbal setup). Whilst I appreciate it may not completely eliminate all you want to replace it is a much more straightforward modification that is quite widely recognised and supported.

Well that problem is not with the Gimbal but rather with the WM301 Live View Encoder board. (I hope I understand you correctly when I assume that you would still want to connect the third party camera to the WM301.)
 

New Threads

Members online

Forum statistics

Threads
141,177
Messages
1,453,813
Members
103,001
Latest member
prayforsurf0