2nd GPS on pixhawk with Reach M+ strange behavior

I have installed the Emlid Reach M+ in our vtol for PPK use. The GPS output is connected to Gps2 (serial 4) of the pixhawk cube and I have configured the M+ to give GPS output in ERB format. I only want to use this GPS signal as redundancy for GPS 1.

But I get very strange messages.

When both GPS (1 and 2) are connected, it shows the number of satellite, 3D fix, but an error message Bad GPS signal health. When I chance the protocol from ERB to nmea, the message is gone, it still shows 3dfix but the plane starts to drift.

When I disconnect gps2, all error messages are gone.

But number of satellite is always 0

Please have a look at the screen pictures:


As I was expecting this to be an Ardupilot problem, I posted in the Arduplane forum.

The next day I received this reply from another user:

The M+ doesn’t output an accurate satcount, in my experience. It always shows zero satellites, even when it has a good fix. So the 0 satellites thing is normal, at least for the M+. If you’re seeing 0 satellites on both the M+ and your standalone GPS, that’s an issue, the standalone GPS1 should be giving a satcount.

How to solve this problem?

Hi @verloop.ton,

May I ask you to share your hardware setup photos and raw data log from Reach M+?

Sure. I have no problem with that. However, the setup is extremely simple. Reach M+ rx, tx and ground go to Gps2 on pixhawk tx, rx and ground. (rx to tx and tx to rx of course). So why do you need pictures? I mean, it’s 3 wires from M+ to pixhawk… Super simple.

And I don’t understand why you need raw data from M+. I feed ERB data or NMEA. No raw…

I think the question is very simple. Does Reach M+ give satellite count in the data or not?

Hi @verloop.ton,

I need you hardware setup photos to make sure that everything is fine with Reach M+ and antenna mounting. Even if the setup scheme is simple, sometimes our users can accidentally miss something, so it’s better to double-check.

The message you’ve mentioned can appear because of poor satellites signals. That’s why I asked you to share raw data: it’ll help me to observe satellite signal quality.

Unfortunately I’m not in the office today and this weekend. I’ll be able to give you those details coming Monday.

I really don’t think this is a Reach M+ problem as I have had the configuration reading accurately as a GPS2. I’ll have to go back and double-check my settings and make sure things updated, however I am sure that I received an accurate SAT COUNT and HDOP reading. Here were my Arduplane parameters.

Parameter Value

NOTE: I power the Reach M+ through a dedicated BEC, not from the GPS port. The designer did not design the cube to power peripheral devices, even if it would be convenient. I also think that GPS_TYPE2 as ERB didn’t work, but I can’t remember for sure.

I’m running a original Reach unit as a second gps (dual gps, blended) on Arducopter via ERB-protocol without any major problems.
I think the ERB protocol does not send the number of satellites and other data but I think Emlid promised to fix that.

OK, here is the information you requested

And I try to upload the raw files. But I get this:

Very nice if you need to report a problem and upload the files.

Anyway, they are here:




Thanks for your reply. I think you are using arducopter because arduplane does not have SERIAL4_OPTIONS.

No matter what I try, it doesn’t work.


Did you see the pictures and received the files?

Hi @verloop.ton,

I’ve tried to reproduce your issue, however, I didn’t get the error message “Bad GPS signal health” with Reach M+ connected as a second GPS to PixHawk.

Could you please specify which parameters have you changed in MP?
Please also post the screenshot of position output ReachView window.

In regards to connection to PixHawk, is Reach M+ connected to GPS 2 port? How do you supply Reach M+?

Make sure the connection is as the following:

  • Reach M+ RX to PixHawk TX;
  • Reach M+ TX to PixHawk RX;
  • Reach M+ GND to PixHawk GND.

As you can see in the pictures, the M+ is connected to GPS2.

We supply with separate power supply. As you can see from the files, M+ is working well. If you check the raw files, you can see that for yourself. I tried ERB as well as nmea.

Please answer my question:

Does the M+ output satcount, yes or no?


Yes, Reach M+ outputs the sat count:


OK. Then I must be doing something wrong. I’ll do more trouble shooting and get back to you.


OK. I found the root cause.

GPS update rate on the M+ should be set to 5hz. Default it is set to 1hz, which makes the pixhawk unhappy and produce the error.



Dear Tatiana,

Can you also have this solution reflected in the manual?

Hi @verloop.ton,

Thanks for suggestion!
Sure, we’ll update the ArduPilot integration guide with this information.

1 Like

Hi @verloop.ton,

We’ve added a note about “Bad GPS Signal Health” error to ArduPilot integration guide.

1 Like