Dual F9P GPS for yaw, but only using single UART on FC

Hello guys, i’m trying to connect 2 F9P gps with their uart2, and connected only one of them via their uart1 to the flight controller to save uarts on the fc

but in MP, only one gps is detected, and no gps yaw is present

and this is my config, note that this is only a trial setup, nothing but gps is set up properly yet

test param.param (27.7 KB)

i’ve been following the param setup on the moving baseline wiki. am i missing something?

Why you want to save uarts on the FC?
Which moving baseline wiki you followed?
You defined a GPS2 to your FC but this could not be seen from FC if their is no direct link between FC and GPS.
The connection between GPS1 and GPS2 on their UART2 is just to exchange RTCM data between the GPS itself but is not transfered to the FC.
So I would first recommend to use the standard setup as shown here under " Dual Serial F9P GPS"

Previously ive used both f9ps connected to fc directly without problem, but the uart ports are already full.

Now i wanted to add one more sensor, i’m trying to use only one f9p connected to the fc

I thought this setup was possible..

1 Like

You can achieve this by using a GNSS module that supports two antenna, and that does all the processing for yaw determination in the module itself.

For example this one from holybro (there is a higher spec one available on their website but it is more than three times as expensive).

Obviously this means you’d have to buy a new bit of kit but it achieves exactly what you’re looking to do, with a single port connection to the flight controller. I have used this unit in the past and it was easy to setup and gave good accuracy for my application.

I understand that this doesn’t solve your problem with your existing hardware - I just thought I’d provide this as an option as it worked well for me in the past, with the added benefit of a reduction in weight and size over two individual F9P units.

4 Likes

Yes, it’s possible to use two F9Ps the way you suggest. Have a look at this configuration by ArduSimple. I am not inclined to support this beyond simply showing you that it’s possible - it’s a potentially very frustrating endeavor. But it is possible.

You don’t need any extra hardware. But one of the Unicore based modules might make things easier if you struggle to succeed using your current hardware.

3 Likes

I run this configuration all the time.

You will only see one gps present, like you’re seeing. You should see RTK reported. The only thing that you can’t do from the autopilot is make sure that you’ve configured the MB Base to emit RTCM over whatever UART you’re connecting with. The MB Rover (recipient of the RTCM corrections) will expect RTCM on it’s UART2 and connected to the FC over UART1.

These are my params. You will need to change the xyz for your setup. Note, GPS2 type is set to auto (since there’s nothing connected but you need to be able to specify the position of the second antenna).

GPS_AUTO_CONFIG,2
GPS_AUTO_SWITCH,0
GPS_BLEND_MASK,5
GPS_DRV_OPTIONS,1
GPS_HDOP_GOOD,180
GPS_INJECT_TO,127
GPS_MIN_ELEV,-100
GPS_NAVFILTER,8
GPS_PRIMARY,0
GPS_RAW_DATA,0
GPS_SAVE_CFG,1
GPS_SBAS_MODE,0
GPS_SBP_LOGMASK,-256
GPS1_CAN_NODEID,0
GPS1_CAN_OVRIDE,0
GPS1_COM_PORT,1
GPS1_DELAY_MS,0
GPS1_GNSS_MODE,111
GPS1_MB_TYPE,0
GPS1_POS_X,0
GPS1_POS_Y,-0.27
GPS1_POS_Z,0
GPS1_RATE_MS,200
GPS1_TYPE,18
GPS2_CAN_NODEID,0
GPS2_CAN_OVRIDE,0
GPS2_COM_PORT,1
GPS2_DELAY_MS,0
GPS2_GNSS_MODE,0
GPS2_MB_TYPE,0
GPS2_POS_X,0
GPS2_POS_Y,0.27
GPS2_POS_Z,0
GPS2_RATE_MS,200
GPS2_TYPE,1

1 Like

yeah ive seen it as well, too bad i’m only aware of it after we bought f9ps…

i tried your solution, and so far ive received rtcm on the gps1 (rover), and the status could reach rtk fixed.

however the ardupilot will still search for the missing gps2 on loiter mode.. and if i change the gps2_type = 0, it will says needs postion estimate instead

You will never see GPS 2 because the flight controller has no idea that there is a second GPS. In the configuration you’re going for, there’s one GPS that happens to provide an rtk solution.

There are health checks that are performed on the rtk solution that may prevent GPS yaw from being published, one of those is that you generally don’t get a good heading when you are stuck in rtk float. There are ways to relax those constraints and there may be other issues. If you’re at the point where you can’t get into rtk fixed, then you have an antenna or antenna cable problem. Or a bad view of the sky.

Those are separate issues from the flight controller deciding to reject the rtk solution for use in yaw.

Edit: with the flight controller configured the way it worked in the picture, post a log disarmed bin and will make sure that your antenna arrangement is happy

i ended up turning off the gps config arming check, now it could fly just fine, no gps issues

thanks for your help guys!

Another approach:
Purchase relatively inexpensive DroneCAN node modules, which are significantly cheaper than RTK modules;

CAN modules can expand to include more serial ports and sensors, and support F9P connectivity.

DroneCAN is a mature technology, easy to set up, and avoids complex and often tedious debugging work.

1 Like