C-Fly Faith/JJRC X12/EX4 Changing parameters and/or connecting Mission Planner, etc

Sorry for the inconvenience. The only thing that I can think of

is that the file I sent you refers to “my” drone. If you did not modify anything in it I suggest you try to change the drone reference (mine) with your drone reference as you can see into the attachement.
Good luck!

Yes, I changed that, but since now I don’t have access to drone’s WiFi at all, I can’t do anything.
I don’t know if it would have helped, but I tried installing this firmware to SD card and putting it in the drone, but nothing seemed to have happend: https://www.mediafire.com/folder/auqy5ss15o1e0/?fbclid=IwAR0kT21JxR_-42ZZI0Y5l0R7l_CwSazQf3HCWKhVt2HagIK4g7g1yPZJFe4

:cold_face:I have no other idea

So, I have managed to flash it, now when scanning Wifi’s on my phone a new wifi called Drone-**** showed up, I tried pairing it with controller with this picture:

But when I click scan, nothing shows up, I also logged in to controller’s gateway website and changed the drone’s last digits, it won’t pair.
I think that it’s impossible to pair it because I install the C-FLY drone firmware, but my drone is EX4 Pro, with c-fly firmware, and the controller is also configured to work with ex4 pro?

Can someone help me figure this out? And is this possible for someone to extract the EX4/Pro firmware from your drone?

So I lost access to the drone’s wifi, and I flashed it with C-FLY (older) firmware update for the gimbal, drone’s linux system, and now there is a separate wifi for the drone itself, when I connect to it and go to the C-FLY/Enjoy-Fly app, there is no video feed and no connection at all.
Since you have EX4 older version, can you connect to the drone’s wifi and use it with C-Fly app? does it bind?

Yes, Arminas, I have the old EX4 version so I have two separate WiFis, one is for Drone and the other is for the RC Controller. Both the apps you mentioned connect with both the WiFis (but for the flight you have to connect to the RC Controller). Controller and drone bind each other when you turn on the devices.

I can’t seem to bind it with the controller, could this be because the controller is for EX4 Pro, and I am using EX4 older firmware?

I also tried to connect to the drone’s wifi and tried watching the drone’s main camera stream on VLC but it doesn’t work, is it just for me or the camera stream should work on drone’s wifi without the controller?

Likely the RC controller is different from the old to the new version because I know that it realize a unique WiFi togheter with the Drone.
For the second question I have no idea; I never used VLC with my Drone but I transfer my footage from the Drone to my PC via WiFi and WinSCP (you can see how in one of my posts).

Then I guess the only option left is to ask the drone manufacturers if they can send the upgraded drone firmware update, or else I will have to buy a new unit. I would buy a DJI Mavic mini/2, but attaching a raspberry pi and mission planning with this drone got me really interested.

The controller acts as a repeater for the Drone’s wifi, when they are both up and running and bound to each other.

You should be able to see the video feed in VLC from either one. If not then something is wrong and since it’s EX4 Pro I don’t have a clue what that could be, I only have the EX4 regular version as well.

Yes I also think so but Eachine & company are not so happy to answer to our requests, it seems.
DJI products seem to be very far from the electronic/software hobbysts. Instead EX4, C-FLY and so on are almost like DIY quadcopters giving many chances to investigate, modify and play with our drones.

1 Like

Is there a specific person in C-FLY to contact with for the firmware? I already wrote to contact@c-fly.cn.com but I doubt they would respond.

Does someone know what is the difference between EX4 and Pro? Apart from a higher transmission signal on the Pro version.

I am considering buying the older version because it has a seperate wifi for the drone, so I would be attaching a raspberry pi that would connect to the drone’s wifi and transmit main camera stream from the drone through raspberry pi.

But I don’t want to downgrade if it’s not worth it.

With the original version of EX4, i.e. the one with two WiFis one for the drone and one for the controller, you don’t need to connect a RPi to watch the video feed from the camera. It is streamed automatically by the camera itself. If you search this topic way up you’ll find the actual URL you need to use to get that live feed.

If you insist on still using a RPi with the EX4 then you can connect it via USB (yes, you’ll have to use the only available USB port on the RPi) but even so that port was pretty useless if the RPi was on the quad. You’d still need some wireless connection method to the RPi/EX4.

Also since EX4 does use PixHawk 4 then it can be controlled, via the USB port on the quad mated with the USB port on the RPi remotely, via either QGC or RPi over VNC and then running QGC or some other MAVLink capable proggie that works with the PX4 and runs on the Pi.

I’ve recently acquired a pretty capable Win10 Pro Toshiba tablet that can run Mission Planner and has almost all the bells and whistles I can think of, even 4G modem and A-GPS, 8GB RAM, 256GB SSD so I’m thinking of turning it into a genuine ground control station for my quads. The EX4/X12 that I got should work nicely with MP, for my Mavic Mini however I’d have to either use the Android emulator and run the DJI Fly app or see if/how Win 10 can be used with the remote controller for Mavic Mini which is a slim chance but still worth looking into. Secondly I might go for a DJI-SDK based solution to connect to the Mini but that I have no clue as to how to go about it, also it’ll probably cost lots of $$$.

Yes, I know that there is a url for the drone’s camera feed. I will be ataching raspberry pi zero on the drone with a usb hub and connecting usb port from ex4 and 4g modem to communicate with the drone. I will be opening a mavlink connection from the raspberry pi with mavproxy. The only thing I want to use the older Ex4 version for is because the drone has a separate wifi, so in result I can make the raspberry pi zero w (attached to the drone) connect to the drone’s wifi and then I connect to the raspberry pi via 4g modem, and with VNC connection to the pi I would be able to watch the drone’s main camera video feed from unlimited range.

I got that about viewing the drone video feed on the RPi but what about actually controlling the drone? If you resort to just using the drone’s WiFi and connect the RPi to it and access the video feed then how would you control it to take off, move to a location or come back when the battery is low?

Since you’re using MAVLink Proxy you could give commands to the drone that way but even so it would make controlling the drone pretty cumbersome. I tried something like this with an APM 3.1.5 quad a while ago, granted it was through some other applications that brought the drone data and allowed control of it from a IoT platform via REST calls and some MAVLink translation app - not very pretty nor optimized but still fairly illustrative of how fast it would go, and the result was that the commands from the “remote” side going through the whole chain was adding quite a lot of delay, basically manually flying the drone was impossible as it was very laggy. Simple commands like take-off, go to a specific Lat/Long/Alt location worked more or less adequately but avoiding an obstacle or navigating a close quarters environment would have been impossible, especially since the EX4 has a rather large tolerance in keeping its position, even with the optical flow the precision is nowhere near that of a DJI drone.

Since you do want to use the 4G modem I would try to employ it as a range booster or broadcast station for the feed received off the drone by the RPi, connected over WiFi to the drone’s video feed URL then broadcast it over the 4G link over the internet.

The shorter range on the EX4 compared to the EX4 Pro would render almost useless mounting the RPi on the drone itself, you’re probably better off trying to relay the data you get from the drone over a longer range connection, like the 4G.

Also remember that the RPi 4 doesn’t actually have that much of a processing power, particularly for video handling.

I would use Mission Planner to to plan missions, etc with raspberry pi help. Otherwise in close range I of course would use the controller.

I found a little problem. The drone won’t take off without the controller connected. You would get an error: Error: Throttle below failsafe. I tried disabling the option so that the drone would take off without the controller but it still doesn’t work. Maybe I am doing it wrong. It would be good if the drone would let you take off without rc connnected, because I want to plan a mission where it flies to my friend’s house and lands a few km away, then he charges the batteries, turns the drone on, and I send a planned mission for the drone to fly home, that would be really interesting. I could also drop a small package from the drone by adding a servo mechanism and opening it with raspberry pi’s gpio pins.

There is an option in the Arm Motors checklist to allow the motors to be armed and thus take off under specific conditions. Obviously taking off without an actual physical controller would be a very bad idea in most cases, but for UAVs that are meant to be used OTA (Over The Air) this would indeed be a good choice, to be able to take off without a controller attached. The throttle fail safe that you saw is probably a side effect of not having a controller attached. I do recall however that I was able to arm and take off, albeit without the actual propellers attached - I’m not THAT brave :slight_smile: when I was testing my setup. In my case however the flight controller wasn’t PX4 but APM 2.5 with fw version 3.1.5 in it.
The key factor here was the set of commands that were supported by the hardware, I mean the MAVLink commands. This protocol should theoretically allow you to control your drone from a computer keyboard wherever it was located as long as you could establish a link (usually a serial link over 433MHz radios) between the quad and the computer controlling it.

For ease of use I relied on Mission Planner running on a PC having attached via a USB port some 433MHz radios. These had decent range, well beyond visual range so 1km+ at least depending on geometry.

In theory it should work with a 4G modem and some companion computer strapped to the drone and hooked in the serial/USB port of the drone. It would be a good idea to have some sort of VPN or WLAN setup between your PC/ground computer and the on-board computer to ensure privacy and noise free comms over the 4G link.