First little ArduCopter build not taking off

So I take it the screenshot and settings I posted don’t indicate anything at all that could lead to the “Cannot start compass thread” error?

Could it indicate a hardware problem on the GPS/compass unit? Because searching for this error, it seems extremely rare.

FC before and after: Matek F405-CTR. GPS/compass is unchanged: BN-880. Shouldn’t it be enough to delete and re-add the compass to the configuration? This doesn’t affect anything else, even the GPS data from the same unit seems to be correct.

I don’t see anything, looks OK,

Ok, I’ll get another BN-880 to see if it’s a hardware problem.

After spending another few hours on this I’m on the verge of giving up and flying this without compass.

A tried a total of 3 different GPS units, and only once, out of dozens of attempts, I managed to get the calibration running. After a reboot however, it still claimed calibration is missing, and “Cannot start compass thread” appeared again on subsequent attempts.

Maybe someone with insight into the code could explain under what conditions “Cannot start compass thread” could appear, or what could keep this thread from starting (I’m not a programmer myself).

Other than that, I think I’m out of options… :neutral_face:

The error really means it couldn’t start the thread - which is weird. Are you able to check how much free memory you have? I’m guessing some kind of resource limit has prevented this. Maybe out of stack space. What is your flight controller? Are you able to ftp @SYS/threads.txt and @SYS/tasks.txt to see if anything weird is going on?

1 Like

FC is a Matek F405-CTR (target MatekF405). How can I check used memory and where to enter those FTP commands? Sounds very interesting, a whole new approach.

I had some suspicions for a while that this might not actually be related to the GPS/compass units I tried, because they’re always recognized correctly - all 3 of them.

On a side note, is it normal that circular movements of the compass alone are not registered? I noticed that I can see the the compass display moving in MP even without a compass connected. But when I turn only the compass unit (not the FC), there is no movement.

You could try disabling logging to see if it’s a memory issue. Log_backend_type to 0 restart and try again.

3 Likes

Install firmware for another platform like rover or traditional helicopter and then install ArduCopter for your frame type. This will start you over from scratch which is what you should have done in the first place.

That did it! :+1:

I disabled logging for the calibration, which then worked instantly, and re-enabled it afterwards.

So it must have been a memory issue indeed. Thanks very much to both of you who came up with this!

1 Like

Great that you got it calibrated! These F4’s are really running out of gas as Ardupilot adds features. Time to switch to H7’s!!

Yes, I’d like to use more F7, but I really like Matek FCs best. And the only ones with F7 that are supported are for wings, I think. Too expensive and also too big for this tiny project.

I used a Kakute F7 AIO on another copter (which crashed 2 days ago, investigation thread coming up later today…) and found it unnecessarily hard to solder. On the plus side, it does play the multi-pitch tones which I really like. :wink:

Many F7 boards only have 1Mb flash also. Matek H743 Slim or Mini. The Mini is a 20x20 board.

Oh, I absolutely wasn’t aware there are non-wing versions of the H743. I always went by https://ardupilot.org/plane/docs/common-autopilots.html which only lists the wing version. Thanks for the hint!

Although the memory is not larger than on the F405, maybe some more processing power would have helped in this case - somehow. :wink:

For the larger copter I had originally bought an F722-SE, assuming it would run AP as a kind of successor to the F405-CTR, but switched to the Holybro when I found out that it only has half the flash memory - not enough for AP.

I had also planned a wing build with an F765-WING and was looking forward to finally being able to use the “unlimited” version of AP on it, but in the end I didn’t manage to even start it last summer.

It has 2Mb flash. Big difference. Leaves the F405 in the dust.

Yes I noticed in the meantime, hence the high price (about 2x F405). Yet I definitely would have picked it instead of the Holybro, had it already been available in spring.

The higher price is likely because the H743 boards have 2 IMU’s and a better barometer and CAN. And somehow they managed to get a SD card reader on the mini 20x20 board. A lot of funtionality on that tiny board.

And it’s $6 more than a F405-Wing not “about 2X”…

1 Like

I meant the F405-CTR of course, which I’m using for this copter. But still you’re right, it’s not double the price of an H743-MINI. About £13 difference when bought in the UK for example.

Anyway, back to the topic. I did an indoor test and it flew! Yet I noticed something odd that also occured on the bigger copter that crashed last week (still haven’t got around to posting the log for investigation):

The throttle input seems to be scaled to about 50%, and I wonder if that’s normal (never had it on Arduplane):

This screenshot is from the bigger one but I expect to see the same with this one, because when testing indoors, the throttle % in OSD already didn’t correlate to the stick input, just like in the image above.

I wonder if ATC_THR_MIX_MAX is the value to adjust? It’s set to 0.5 at the moment.

There would be no expectation of direct correlation between RCIN3 throttle input and RCOUT3 motor command output.

So it is to be expected that when throttle is at 80%, not even 50% is sent to the motor?

On my planes the throttle percentage in OSD always represents the throttle stick position.

That’s why I got the impression there must be some kind of limiting taking place here.

What mode are you in? You will ony get close to full throttle in manual modes