Copter-3.6.7 released!

After several days of beta testing Copter-3.6.7 has been released for Multicopters and Traditional Helicopters.

The changes are in the ReleaseNotes and copied below:

  1. Bug fixes and minor enhancements
    a) Matek405-Wing compass fix (thread initialisation fix)
    b) Landing flips reduced by reducing I-term build-up
    c) Land mission command slows down less aggressively
    d) Lightware LW20 lidar more reliably switches to serial mode

These are important changes but in general if you haven’t seen any of the issues mentioned you should feel free to take your time with the upgrade. As per usual, the upgrade should be seamless and should not require any re-calibration, tuning or parameter updates.

Thanks as always to our beta testers who provided feedback on this release!



I have problem in controlling Servo5 & Servo6 using PixRacer, and after some troubleshooting i found the problem to be with FRAME_CLASS and FRAME_TYPE.

Once FRAME_CLASS = QUAD, Servo 5 & 6 will not function on Servo Tab command.
(NOTE that SERVO5 & 6_FUNCTION = 0)

If FRAME_CLASS were to set back to 0 (Undefined), Servo5 & 6 can be controlled again.

This current setup was working fine in 3.5.x version, until i updated to 3.6.2.
As i thought it might be a bug in 3.6.2, as such i 've updated to 3.6.7. but problem persist.

Any help will be appreciated.


@turemini, txs for the report, I just did a quick test to try and reproduce this but I’m afraid I couldn’t. At least on my pixracer I was able to get Servo6 to move. That doesn’t mean there’s no problem of course, it simply means I can’t reproduce it. Any chance you could provide a dataflash log?

I suspect the issue is related to some extra checking we’ve added to remove the chance of multiple features attempting to use the same servo output. I’d check the SERVO5_FUNCTION and SERVO6_FUNCTION values and be sure they are set to zero.

Thanks for your fast response, how can i send the logs to you ?

@turemini, if they’re not too big they can just be attached here. If that doesn’t work then perhaps put them on a file sharing service like dropbox and then post a link here. It may also be possible to upload them to but I’m not sure…

@rmackay9, i’ve uploaded 3 logs in zip in case you needed more to analyse.
In these logs, i have mapped Servo5 as motor 2 to see if Servo5 port is functioning, in case you are wondering why i’m using Servo5 as motor.

DataFlashLog_Troubleshooting(2).zip (773.8 KB)

DataFlashLog_Troubleshooting(1).zip (562.7 KB)

DataFlashLog_Troubleshooting(0).zip (699.0 KB)

Hi @turemini,

It looks like SERVO6_FUNCTION = 1 which means it is doing manual pass through from input channel 6 to output channel 6 but in these logs input channel 6 isn’t changing. For the moment at least, it’s not possible to setup passthrough and then also use DO_SET_SERVO commands (either as part of a mission or sent in real-time from the ground station). this is because once pass-through is setup, the input channel is sent continuously to the output. If a do-set-servo command was sent it would almost immediately be overwritten.

Could you try either moving channel 6 input around to see if the servo moves or change SERVO6_FUNCTION = 0?

One other thing to worry about is that we do have “banks” of outputs which means that the output rate (i.e. 400hz for motors, 50hz for servos) can be individually controller per output because of hardware limitations (some boards can, most can’t). I’m afraid we don’t have this bank information on the wiki page for the pixracer and I actually don’t know which outputs are tied together… my point is just that the issue may be that the output from the back of the flight controller is too high so the servos aren’t moving. anyway, let’s see…

Hi @rmackay9, initially SERVO6_FUNCTION = 0 as that’s my ultimate goal as i’m running Mavlink command to control from app. Since it does not response thus i try it with RCPass Thru. That’s when after troubleshooting i notice that it only works once i set FRAME_CLASS = 0.

Once that is done, SERVO6_FUNCTION = 1, with RCIN Ch 6, i can control from my Radio Transmitter Ch6.
To prove it work, i set SERVO6_FUNCTION = 60 and control from my Radio Transmitter Ch10.
But once i set FRAME_CLASS = 1, servo functions dead.

As per your last point, that’s what i read too and i have verified that the only setting for Servo was already set as 50Hz, where Motors are set as 400Hz. But i did not change anything since there are not much knowledgebase on wiki like u mention.

That’s why i’m so puzzle, i have run verify my setting countless times comparing here and there but can’t seems to figure out where is wrong.

The Garmin / PulsedLight LIDAR-Lite rangefinder still doesnt work in PWM mode.

1 Like

@turemini, ok, is it possible to provide a log where it should work? So set SERVO6_FUNCTION = 0 and then send in do-set-servo commands (perhaps using MP’s servo tab) or leave it as is and then move around input channel 6?

@rmackay9, i’ve clear all logs and done up a new one as attached.
DataFlash_Troubleshooting(3).zip (368.6 KB)

Testing sequence as follows:

On Servo Tab
-> Servo6

  • Click on “High” -> ch6out : 1900
  • Click on Low" -> ch6out : 1100
    But output device is not responding

-> Set Frame_CLASS = 0
-> Power Cycle UAV

On Servo Tab
-> Servo6

  • Click on “High” -> ch6out : 1900
  • Click on Low" -> ch6out : 1100
    Output device responding to the toggling

-> Set Frame_CLASS = 1
Servo6 Not functioning immediately


I’m afraid I still can’t reproduce the problem which is no fun.

Also sadly the logs still don’t show the moment that the servo is moving … it might be best to setup the pass through so that one of the input channels is controlling the servo output.

I’ll ask @tridge if he has any ideas…

I loaded the parameters from your log file “1 01-Jan-80 8-00-00 AM.bin” with copter 3.6.7 on a pixracer and checked the output when activating the servo in mission planner. It all worked as expected.
I can’t think of any reason why this wouldn’t be working for you.
Could you upload the tlog from MissionPlanner showing the test?

1 Like

ahh, now I see the issue. You have SERVO5_FUNCTION set to 34, which is a multicopter motor output. Servo5 and servo6 are on the same timer. So when you enabled the quadcopter outputs then both servo5 and servo6 went to 400Hz. That is too fast for most servos.
You can’t have an ESC on servo5 and a servo on servo6. Please set SERVO5_FUNCTION=0 and reboot before using servo6 as a servo output.
Cheers, Tridge

wow @tridge that’s awesome, i know its something to do with the 400hz thingy, just didn’t know Servo5 & Servo6 are “tie” together… i thought they were individual & independent ports.
Let me try and update here…

Why is not available for Radiolink MiniPix in MP?

Can anyone build 3.6.7 for the skyviper-f412 board? I can build it fine for the v2450, but the f412 isn’t. It’s getting an error while building ChibiOS.

Thanks to @tridge and @rmackay9 for the assistance, problem solved through @tridge suggestion.
Thanks a million…

Im finding drifting of vehicle in POS_HOLD mode after loading 3.6.7. Can you please help me on this?

It is behaving like ALT_HOLD mode