Jumper Xiake 800 Flight Controller

Yes, there is the possibility. See Logs — Plane documentation

Ok, but where to get the right firmware??

The firmware is here probably not the problem. Maybe hardware or wiring. Did you let the servos exercise with a servo tester?

These wing servos don’t sound good? Jumper 800 vtol wing servos don’t sound right. Is that causing my brown out? - YouTube

The servo doesn’t strike be as sounding particular bad. I think mine sound similar to yours.

1 Like

Apologies for not giving an update for a while. A fair bit has happened with my efforts on this plane, and there are still considerable problems. Key issues:

  • the MCU on the JumperXiake800 is not a STM32F405, which is what the ArduPilot firmware build is expecting, but a CKS32F405, a clone of the ST part. More on that later
  • the lack of the compass can lead to incorrect yaw initialisation on transition, especially if there is any significant wind. That can lead to very bad roll/pitch estimation and a crash.

Yaw Estimation
I did my first transition flight a couple of weeks ago and it didn’t go well. There was about 5 knots wind for the transition, and the plane had significant sideslip in the transition. This led the EKF3 GSF yaw estimator to get a bad pitch estimate:


Often ArduPilot users underestimate the importance of a yaw source to a roll and pitch estimate. The yaw is needed as the state estimator (no matter whether it is an EKF or some other estimator type, such as DCM) need to correct the accelerometer readings for the forces caused by accelerations. The primary source of these corrections is the GPS velocity. The GPS velocity is in earth frame (ie. it tells you the amount of North, East and Down velocity). The correction needs to be made in body frame (Front, Right, Down components). To apply the GPS velocity corrections you need to rotate the velocity from earth frame to body frame. That requires a yaw.
Normally ArduPilot gets yaw from one of 4 sources:

  • a compass
  • a GPS-yaw setup (two GPS antennas spaced far enough apart with the right sort of GPS module to support yaw estimation, this requires expensive GPS modules)
  • an inertial yaw estimate called GSF (Gaussian Sum Filter) that comes GPS velocity with IMU data to estimate yaw
  • a yaw estimate directly from GPS velocity that assumes the vehicle has zero sideslip

We do of course support fixed wing aircraft without compasses and a lot of people use them, but a normal fixed wing aircraft can make a pretty strong assumption about zero-sideslip which allows for fairly reliable yaw estimation. A quadplane in hover doesn’t have that, so when the JumperXiake does it’s takeoff and forward transition the only option for the initial yaw estimate is the GSF. The GSF relies on good quality IMU and GPS velocity data. Unfortunately the Jumper uses a fairly low quality IMU (a MPU6000) with a low quality GPS and the GSF estimate can take quite a long time to converge properly.
Note that this isn’t just a problem with the 4.3 firmware. If I look at one of the logs that was on my JumperXiake from it’s test flight by Jumper before shipping you can see a significant roll/pitch estimation issue:


that is about a 10 degree roll estimate discrepancy between EKF3 and DCM. The wind estimate in the log shows low wind.

STM32 vs CKS32 MCU
After the problems I documented earlier with brownouts due to problems with the tilt servos Jumper offered to send me replacement servos (thanks @tinyspot !).
When they arrived I found it was a much bigger box than I had expected, and in fact included a full replacement airframe! Very generous of Jumper.
Given the yaw issues, I setup the replacement plane with a compass, using a Matek M8 GPS. While setting it up I kept getting watchdog resets and spent about two days trying to find the cause. The results didn’t make any sense as I kept getting hard faults in the SPI thread that handles the MPU6000, but it seemed to depend on memory allocation in other threads. This sort of thing is normally a sign of a memory corruption bug, but I didn’t manage to track it down.
It was at this point I opened up the flight controller on the first plane and found this:


The significance of this is that the MCU is not an STM32F405 which is what ArduPilot on this aircraft is built for, but a CKS32F405. CKS is a clone STM32 maker (see http://www.cksmcu.com/en/index.html ) and unfortunately their MCUs are not quite the same as the STM32 they copy. Given the very odd behaviour I’m seeing I suspect that the hard fault I’m seeing is a result of a subtle difference between the STM32F405 and the CKS32F405. My best guess is it relates to some properly of the CCM memory.
Unfortunately there are no english language datasheets or reference manuals for the CKS32F405. It isn’t even listed as an available product on the english version of their website.
I wonder also if the reboots with the tilt servo problems are also related to the CKS32, for example a different MCU brownout handling setup?
Right now I’m a bit stuck on this plane. One thing I can strongly recommend is that if you have one of these planes that you only fly it in very low wind. The plane itself can probably handle quite a bit of wind, but each flight will be a lottery on the yaw estimation if there is significant wind, and if the yaw estimation is bad then you can get very bad roll and pitch estimates, which is very likely to lead to a crash.

13 Likes

Many thanks, @tridge. When I ordered one, as a precaution I ordered a Matek F405 VTOL and some small compass modules (call it a gut feeling). I was planning on rolling the dice with the stock flight controller for a while, but from your work, I will upgrade the flight controller before flying it.

3 Likes

Waiting for a version w/o a Flight Controller and GPS module. Got plenty of good stuff to install. How about it @tinyspot ?

2 Likes

Wow very informative! I’ll be receiving my second plane any day now. Disappointed to find out it’s literally a clone on top of another clone. If the brown out issues are a defect of the cloned chip I’d be inclined to seek to recoup some of my $400+ dollars sighting defective merchandise. Anyone aware of how that works on AliExpress? How hard and costly is it to set this up with a preferred controller and sufficient gps/compass to resolve these issues?

1 Like

$140 for a Matek H743 and their M8Q module. It’s what I have but would likely go with it anyway as I have them on other craft.

1 Like

Are you going to run inav or ardupilot?

I wouldn’t consider iNav for anything.

2 Likes

Thank you very much for your work @tridge. Do you think the low quality IMU also negatively impacts stabilized fixed wing flight modes? I will anyway swap now the FC (matek F765) & GPS (M8), but am curious (I had the feeling it was very wobbly).

1 Like

My one will be here next few days I believe and will copy Dave with a Matek 743 Wlite and Matek GPS as I know they will work.

1 Like

@MartyMcFly Will you leave the power distribution board in, or switch completely? I’m not sure what is better and curious how others will do it…

2 Likes

Im really not sure until I see it,but may either fit a Matek PDB or one out of the HeeWing will keep you posted Robert

2 Likes

It would be great if somebody who already accomplished the replacement of the GC could publish his configuration…

Mine has just been shipped, will be my first VTOL. Studying other examples of tilt rotor VTOLs it looks like for this to be reliable it would hugely benefit from an airspeed sensor, a compass, and possibly a higher quality FC without a clone MCU. Otherwise it seems like a bit of a gamble as to whether it will transition properly or reboot mid flight. Given the issues I’ve seen with some servos and cabling I think I might just strip the whole thing down and build it back with better components to make it more reliable.

Given the ridiculous cheap price I got it for (£145 delivered) I’m not complaining. It will still be worth it as an airframe just to learn about VTOLs. I hope to join you all in testing and improving it.

2 Likes

Welcome to the club :+1:

In its current state i wont be flying it. The likelihood of a crash is too high. Some people have already crashed/lost their aircraft likely due to these issues ( @Da_Chef posted a video showing exactly what @tridge discribed could happen).

Guess the only options are swapping out all the fc, gps , servos etc for better or more reliable stuff as you mentioned… but in my opinion jumper should really be offering to send out replacements for the FC at least with hardware that is usable in conditions with wind!. I baught the RTF version and was expecting to fly it right out of the box. I opted for this version so i had the convenience of just going out and flying. I know its a cheap aircraft but it shouldnt have a flaw where the probability of a crash was very high due to inadequate hardware.

@tridge thank you for all your work on this. Really appreciate it.

3 Likes