Previously-working GPS unit now switches between "GPS Fix Lock" and "No GPS" but only when battery is plugged in

Hi! I have a problem that is probably due to my not having a setting properly configured, but I haven’t made any progress trying some changes on my own. Here is what happens:

  • I have ArduCopter 4.5.7 running on a Matek H743 flight controller
  • I have the EQUIRE M10 GPS module configured on Serial3/UART2 at 115200
  • I have ELRS receiver and recently set up Yaapu telemetry going to my Radiomaster TX12 transmitter.
    Stats from the Messages screen to give more detail:
2/17/2025 12:42:08 PM : ELRS: Link rate 250Hz, Telemetry rate 67Hz
2/17/2025 12:42:05 PM : EKF variance
2/17/2025 12:42:03 PM : ELRS: Link rate 250Hz, Telemetry rate 115Hz
2/17/2025 12:41:58 PM : GPS Glitch or Compass error
2/17/2025 12:41:58 PM : RC7: MotorEStop LOW
2/17/2025 12:41:58 PM : ELRS: custom telem init done, fw 1.00
2/17/2025 12:41:58 PM : CRSFv2: requesting RX device info
2/17/2025 12:41:58 PM : CRSFv2: RSSI now displays normally
2/17/2025 12:41:58 PM : CRSFv2: Link rate 100Hz, Telemetry rate 1Hz
2/17/2025 12:41:58 PM : RCInput: decoding CRSF(3)
2/17/2025 12:41:44 PM : PreArm: Battery 1 below minimum arming voltage
2/17/2025 12:41:44 PM : PreArm: Check mag field: 1034, max 875, min 185
2/17/2025 12:41:44 PM : PreArm: RC not found
2/17/2025 12:41:34 PM : Frame: QUAD/BF_X
2/17/2025 12:41:34 PM : IMU0: fast sampling enabled 2.0kHz
2/17/2025 12:41:34 PM : RCOut: DS600:1-4 PWM:5-13
2/17/2025 12:41:34 PM : MatekH743-bdshot 0040004B 32335119 30373331

…before I configured Yaapu telemetry, the GPS unit worked fine - it isn’t a great module (I have a better Holybro M10 on the way) but it would acquire 3d fix and maintain it when I was flying.

Now, the GPS module acquires satellites and 3d fix when it’s on my bench and powered by USB cable, but when I power it with battery, it immediately loses GPS lock and then starts switching about once every 30s between “3d fix” and “No GPS.”

Since the receiver is only powered on when I plug in the battery, I imagine telemetry is somehow interfering with the GPS serial stream. Has anyone encountered this issue and/or have recommendations on how I can debug? I’d love to keep telemetry to my TX12 in the picture because it’s very useful while flying, but maybe I need to choose one over the other?

Thanks!

AKA

Does GPS have LED showing it’s status or you can only observe logs / MP ?
You know you can connect one device to Serialx?

ArduCopter 3.1.2 13-Feb-2014 / ArduCopter 3.1.2-rc2 12-Feb-2014
Changes from 3.1.2-rc1
1) GPS Glitch detection disabled when connected via USB

Thanks for the quick reply!

I see the GPS glitch you pointed out in the logs intermittently, mostly I think due to the quad being on my bench near other EMF sources and away from a window. When I don’t have the battery plugged in and/or the TX powered on, I see about 10 satellites pretty reliably about 2-3 minutes after boot. I’m not sure what to make of the release note you mentioned, as it’s from 2014 and I’m on a much more recent version?

I understand the UARTs are single-client, not buses, and I haven’t changed any Serial/UART settings since enabling telemetry over ELRS (which is when the issues mentioned in this thread first appeared).

To further debug, I disabled two ports that I had dedicated to MavLink2 but wasn’t using - Serial1(UART7) and Serial2(UART1) were previously Mavlink2 at 115200 and 57600kbps respectively, and now they are set to None - this hasn’t caused any improvement in the situation I’m facing, though…

AKA

OK, I just tried an experiment that, I think, confirms I have telemetry set up incorrectly.

When I power the quad by battery, USB cable plugged in, but the TX is unpowered, I see what counts as “normal” behavior for this quad (which is still slowly being readied for reliable flight, never flown with Loiter/Alt Hold working so far).

As soon as I turn on the TX and establish a connection, the GPS unit starts oscillating between “No GPS” and “3d fix”. The blue LED on the GPS module confirms this - it blinks when the console reports “3d fix” and is solid when it reports “no GPS”.

Here’s a snapshot of the console messages when I power up the TX (I know the compass is giving me errors, that’s why I’m eagerly awaiting delivery of a better M10 module):

2/17/2025 2:49:59 PM : PreArm: Check mag field (xy diff:616>100)
2/17/2025 2:49:52 PM : PreArm: Check mag field (xy diff:615>100)
2/17/2025 2:49:48 PM : EKF variance
2/17/2025 2:49:38 PM : ELRS: Link rate 250Hz, Telemetry rate 22Hz
2/17/2025 2:49:37 PM : Radio Failsafe Cleared
2/17/2025 2:49:33 PM : ELRS: Link rate 50Hz, Telemetry rate 65354Hz
2/17/2025 2:49:28 PM : ELRS: Link rate 100Hz, Telemetry rate 65404Hz
2/17/2025 2:49:23 PM : ELRS: Link rate 250Hz, Telemetry rate 17Hz
2/17/2025 2:49:21 PM : PreArm: Radio failsafe on
2/17/2025 2:49:21 PM : PreArm: Check mag field (xy diff:614>100)
2/17/2025 2:49:18 PM : ELRS: Link rate 50Hz, Telemetry rate 65353Hz
2/17/2025 2:49:13 PM : ELRS: Link rate 100Hz, Telemetry rate 65403Hz
2/17/2025 2:49:08 PM : ELRS: Link rate 333Hz, Telemetry rate 100Hz
2/17/2025 2:49:03 PM : ELRS: Link rate 50Hz, Telemetry rate 65355Hz
2/17/2025 2:48:58 PM : ELRS: Link rate 150Hz, Telemetry rate 65455Hz
2/17/2025 2:48:50 PM : PreArm: Radio failsafe on
2/17/2025 2:48:50 PM : PreArm: Check mag field (xy diff:587>100)
2/17/2025 2:48:50 PM : GPS Glitch or Compass error
2/17/2025 2:48:19 PM : PreArm: Radio failsafe on
2/17/2025 2:48:19 PM : PreArm: Battery 1 below minimum arming voltage
2/17/2025 2:48:19 PM : PreArm: Check mag field (xy diff:597>100)

Thanks for everyone’s help on this!

AKA

Could also be your RC jamming GPS (if it’s close) - or the additional power draw of the RC is too much for the 5V regulator powering your autopilot and peripherals.

1 Like

Thanks for the reply!
Because the entire system was working without this issue before I enabled Yaapu telemetry, I don’t think the factors you mentioned are at play…

I replaced the SEQURE GPS unit with the Holybro Micro M10 module and am once again able to get GPS serial data when Yaapu is set up and battery is plugged in.

I guess maybe there was just some protocol/rate mismatch with the cheaper module?

At any rate, thanks for the replies and debug help.

AKA