Some setup confusion

parameter.txt (30.1 KB)

I have ‘armed’ with both the button/switch and motor interlock. I then expect the motor to get running (like with any other FC) but it doesn’t. What more can I do?

Honestly it’s just too much hassle with this system, it is obviously not ready for the end user. I bought this for flying, not to tinker with. 14 months have passed and I haven’t even been able to do a test flight…

@kitchen_faucet if you are willing, post a log with the LOG_DISARMED parameter set to 1. This will allow me to see what the controller is doing. Let the system boot up, then arm the controller and enable motor interlock. I can only imagine that this is something one of us is missing. there are many users that use PH4 mini’s and don’t have an issue with arming or starting the motor.

I see you are using RSC passthrough. Are you using a throttle curve in your transmitter. Is it a flat curve? What is the PWM value from the transmitter. You may be sending a PWM value too low to trigger motor interlock to enable. PWM must be above 1200.

You could try RSC mode 2 (setpoint) and see if the motor starts.

Sorry about your frustration.

Sorry for taking your time.

The throttle setup is the same as before as I didn’t want to change anything. Therefore I selected passthrough. It’s 3 flat modes, including an “off” mode which became motor interlock.

I found the “Arm” button in QGC, which magically did something completely else than the physical button. Then I could get the motor running, and perform the 30 second hover mentioned in the instructions. It would be nice if I could do this without a PC, however…

To sum up after that;

  1. My ESC did not like the output signal of the pixhawk.
    How/where do I set the CH8 output frequency? To be able to hover I had to decrease the freq to 60hz of all outputs, which obviously affects the servos too, kind of unwanted side-effect.
    Should be an easy fix but I just can not find it.

  2. When I loaded the log in fftui, it looks nowhere near the examples in the docs. I have no idea what’s wrong with this? 0.2 is the highest value, which probably is the motor. Neither makes any sense? It’s supposed to be unfiltered (INS_LOG_BAT_OPT = 0)

I have already configured the notch filter as I have a known RPM (25hz). Perhaps I need even more filtering?

I must say it flies weird compared to anything else I’ve tried before. Very spongy.
The tail wags a few times after every yaw input. I was hoping that px/ac would be more stable than any typical FC but it seems like the opposite?

Would it not be easier to stick the ESC direct in the receiver and do not use the PIX for the esc? The PIX do not need the ESC-controlling.

@heri thanks for your suggestion but I don’t agree with it. Connecting the esc this way will bypass the safety features of the ardupilot code. It would allow him to go flying without the flight controller being ready.
I would recommend keeping your RC_SPEED at 60 hz. I don’t think you will see a performance difference in flying the aircraft.

There is usually noticeable difference between >200 Hz and <100 Hz.

@kitchen_faucet So I’m interested to know what your source of info is on this. And it is only from my curiosity and lack of knowledge in this area. It was my understanding that most RC transmitters transmit their data at 50hz. If that has changed how do I know what my TX transmits data at? How do I know what rate my receiver sends signals to the servos? Or is this higher data rate from the 3axis gyro?
Any info would be appreciated.

Unfortunately the current implementation has the data being sent to the esc and the servos at the same rate that is dictated by the RC_SPEED parameter.

Personally I have never done any deep dive into that subject. What I know is mostly what other people have told me.
Here’s the first “source” I found with a quick google search
servo frequency - HeliFreak
But that is from 2016. I know people today that run 560 Hz.

So there are no plans to introduce a second parameter just for the ESC? There’s probably a lot of people that would find that useful.

@kitchen_faucet I have never had a user come back and say that their esc did not work with the default setting of 125hz. You are the first one.

I have not seen anything about 125 Hz being default, so I haven’t even tried that. I had it set at 250 from the start, since I usually like to run in the “middle” somewhere. That did not work. Then I tried 60 and that worked.
Typically you run way higher than that, 333 Hz is very common.

Servo list - Spirit System Manual (

So to be clear, you went into the parameters and changed the RC_SPEED parameter to 250 hz before ever trying to arm and start the motor?
If that is the case then change it back to the default (125hz) and see if that works for the esc.
Truthfully, I don’t know if the update rate has a big impact on flying qualities. I could certainly investigate that with my new autotune feature. Something to look into once I get it merged. Heck we could look at it even before that using the Sysid mode.

Yes, I did. Because I know for sure that my servos can handle that (since they are rated for 333 Hz).
Usually you need to set that before even powering up the servos and 50 Hz didn’t look good to me as I never ever have been using a frequency that low before.

I did not expect the controller to send out that kind of signal for the ESC. There was no indications anywhere that it would do that, so I assumed that it wouldn’t. I selected heli as the frame type, after all.

Like I said in the original post, I feel that some information is missing and then I have to “interpolate” with experience from other setups.

I never saw 125 Hz being mentioned anywhere in the docs, perhaps it should be in there if its supposed to be default, just a suggestion. I will try it later, however 60 seems to be the suggested frequency for ESCs.

Yeah I am confident that the default value wasn’t mentioned in the docs. I will look to address that. It was the value you saw in the parameter before you changed it. Change it back to 125. Most of this community uses that value with their electric heli’s. @hwurzburg has been doing a sport heli set up and has been helping me adjust the wiki to make it more applicable to that type of setup. So you should see in other areas like the swashplate, that the sport set up is addressed.

@JoshW any comments on rc_speed and use of higher values for sport setups. Have you changed it for your sport heli’s? Or does UAVCAN bypass some of this?

I can assure you that the default value after loading the firmware was 50 Hz. Like I mentioned above, I found that way too low.

I checked the code for 4.0 and 4.1 and the default is 125. Maybe its a controller option that set it slower.

// TradHeli defaults

define RC_FAST_SPEED 125

define ACCEL_Z_P 0.30f

// PWM control
// default RC speed in Hz
define RC_FAST_SPEED 490

Perhaps someone could say something about the vibration amplitude/analysis thing above
? I feel like that is my biggest question mark right now.

Here’s the bin file for anyone to look at.


Ugh. I forgot about servo rate. My apologies!! Thanks for showing me that. Ok so I will have to do a little research here. Good news is that the esc is separated from the servos. SERVO_RATE is what sets the esc update rate and RC_SPEED sets the servo update rates. I’m sorry i know that seems confusing. But good news is that you can set RC_SPEED to 250 to get the better update rate for your servos

Ok, I see :slightly_smiling_face:

I was a little confused as I thought we were talking about the same parameter, I now realised that RC_SPEED is another one.