Using dual antennas and Septentrio receiver (AsteRx-m3 pro+) as compass with Pixhawk Cube Orange on quadcopter?

Dear community,

For days now, I am struggling trying to use dual antennas and Septentrio receiver (AsteRx-m3 pro+) as main compass with Pixhawk Cube Orange on a quadcopter (Holybro x500 v2).

I am quite new in this field of application so please forgive me if I make foolish statements.

I successfully retrieve the GPS information from the antennas + receiver which makes me think that the Septentrio connection and parameters are good (source : Septentrio Support Portal), and the problem would come from the parameters set in Mission Planner.

I have installed a modified firmware arducopter v3.5 found on Github : Release 3.5 Septentrio Heading support · septentrio-gnss/Septentrio-ArduPilot-Autopilot · GitHub.

According to the Sepentrio support, this version is a prerequisite to use Septentrio receiver for heading (I am still trying to figure out the difference between compass and heading – right now I consider the compass as a tool and the heading as the information delivered by the compass, but I might be mistaken).

I have tried several attempts based on Internet tutorials, starting with this : ArduPilot simpleRTK3B Heading configuration - ArduSimple, making some adaptations to match which my configuration did not succeed neither.

COMPASS_ENABLE,0
COMPASS_USE,0
COMPASS_USE2,0
COMPASS_USE3,0
EK3_MAG_CAL,5
EK3_SRC1_YAW,2
GPS_AUTO_CONFIG,0
GPS_AUTO_SWITCH,0
GPS_RATE2_MS, 100
GPS_TYPE2,10
SERIAL4_BAUD,115
SERIAL4_PROTOCOL,5

I have also tried to use NMEA stream instead of SBF from the Septentrio receiver sent to the Pixhawk Cube Orange but still, no more success.

I anyone has any clue, it would be really appreciated. I remain available for further information or exchange, and I thank you in advance for you help.

Best regards,

Gaultier

Edit 11/28/2022 : The 2 antennas are about 70cm from each other.
I also ticked the “AttEuler” in Septentrio SBF stream options in addition to the ones specified in the tutorial.

1 Like

You will need ArduCopter 4.3.1-rc-1 version instead.
It has a lot better GNSS heading support.

Amilcarlucas,
Thank you for your return.
Are you certain that it is compatible with Septentrio receiver ? As mentioned in my first message, according to Septentrio support, it would be necessary to use the modified v3.5 that I currently use.
Still I can take the shot and see what happens ; I’ll keep you informed.
Thanks !

Probably it is just a matter of outdated documentation… maybe when they wrote this doc this was the newest version and it wasn’t updated since then.

Dear Bruno,

Thank you for your return.
I still did not had the chance to try it with latest version since the weather is really bad for days now.
Yet, the returns from Septentrio support assuming that modified v3.5 is the only one capable of working with Septentrio receivers lasts for only couple weeks then I would be surprised that it would be outdated.

However, as I said before, it might be worthy to try it with newest version. I will do it as soon as the weather will be nicer and I will let you know.

Best regards,
Gaultier

1 Like

Dear all,

Sorry for the late return ; my tests have been postponed several time due to the bad weather then I had to deal with other emergencies.

Still, I have tried to re conduct the same manipulations as before after having upgraded the firmware with the last version (v4.3.1), as recommended, but the results obtained are exactly the same.

That makes me wonder if the way I check either my attempts are a success or a fail is good or not.
Right now, after having set the Septentrio SBF stream through COM PORT2 and the Cube Orange via Mission Planner, I move the axis with the 2 antennas and see if the Yaw angle returned on Mission Planner changes in the same way.
Until now, it does not. The Yaw still seems to be the exact image of the Pixhawk Cube Orange even if all the compasses have been disabled, which is pretty incomprehensible to me.

Thus, I remain interested if you have any lead (or solution) to the problems described above.

Thank you in advance,

Gaultier

I think this approach should work in 4.x series firmware.

1 Like

If you do not correctly configure the distance between the antennas it will probably never work. Have you done that?
Have you read any of ardupilot`s documentation?

@amilcarlucas, Septentrio does not require any distance configuration. It is automatically calculated.

Dear Yuri_Rage,

Thank you for your reply.

Alright, then it must be me doing something wrong but I have to admit that I am quite out of idea.
I have tried to apply what is explained in the tutorial, replacing GPS1 by GPS2 but I still not succeed in retrieving the Yaw information in Mission Planner.

Still, thank you all for your help.

Best regards,

Gaultier

Dear @all,

I come back to you to update this issue status.

I have discussed with the support who has recommended me to switch from Ardupilot to PX4 which seems to be more suitable with the Septentrio receiver that I use.

I followed this tutorial : Septentrio Support Portal, then I went with NMEA output stream with the GGA, RMC, HDT and HPR (this last one were not selected in my previous tests) tick boxes selected and it direcly worked.

I did not try this configuration (with HPR) with Mission Planner though but it might be a lead for those who would like to continue with Ardupilot.

Anyway, thank for your help.

Best regards,

Gaultier

1 Like

Hi @Gaultier

A little late, but I just wanted to let you know that Septentrio receivers can work with ArduPilot.

You must follow the ArduPilot simpleRTK3B Heading configuration - ArduSimple tutorial strictly and use either SERIAL1 or SERIAL2 (labeled TELEM 1 and TELEM 2 on the Pixhawk).

I had a similar setup and ran into the same problems as you. I also tried to solve it for several days. My setup has the Pixhawk Orange Cube with ArduCopter V4.2.3. The Septentrio Mosaic-H module I’m using was first connected to SERIAL4 (labeled GPS 2 on the Pixhawk) and I had the same configuration as your first post. The Yaw information worked as soon as I strictly followed the ArduSimple tutorial and connected the Septentrio to SERIAL1.

I think the GPS for Yaw (aka Moving Baseline) — Copter documentation is only implemented for the primary GPS. The Septentrio module must therefore be connected as the primary GPS, otherwise the Yaw information will not work. Note that the primary GPS is the first serial port set to “SERIAL*_PROTOCOL.5” and not the connector labeled GPS 1 on the Pixhawk.

Connecting the Septentrio receiver to SERIAL4 and also having SERIAL3 set to GPS will make the Septentrio receiver the secondary GPS system. Therefore, the GPS for Yaw will not work.

I hope this information will help in some way.

Edit: Fixed some typos and added some clarification.

1 Like

Dear @RandomID3,

Thank you very much for you detailed return. Unfortunately I can not give you any feedback from my side since we have changed from Ardupilot to PX4 meanwhile, for many reasons.

Yet, I still want to thank you for you answer that, I hope, will be useful for people in our case.

Best regards,

Gaultier