RTK receiver GEM1305 with antenna

We recently tested the latest lightweight( < 50g ) GEM1305 RTK receiver with antenna. This RTK chip is based on Allystar’s latest chip but has customized protocols to better support Ardupilot. It supports a 5Hz output rate and has 2 UART outputs. In our testing, we only needed a 6P data cable to fully utilize the RTK function.

Its price is below $50.

During the test, we used Mission Planner for Android version and connected directly to the radio via an OTG cable.

For the base station, we also used a modified model that only required simple configuration to send RTCM to the drone end through ground control software.

If you want better and more stable signal, you can also use a ground plane to enhance it, like this.

The signal can be boosted by about 2-4db.

In Ardupilot configuration, you only need to select GPS1_type as NMEA.

This is a detailed introduction page.
https://ardupilot.org/copter/docs/common-datagnss-gem1305-rtk.html

@datagnss Is it possible for you to share some logs of your test flights? I am planning to purchase this module and it would be helpful to make decision based on that.

Hi , If you are referring to GNSS log data, we can provide some GNSS logs recorded on top of the vehicle. Lately, our work areas haven’t been ideal for conducting aerial data collection.

Hi!

I’m using GEM1305 receiver with ArduCopter V4.5.7 (2a3dc4b7). The connection to flight controller is standard, nothing special: 5V, RX, TX, GND.
Arducopter (relevant) config parameters:
SERIALx_PROTOCOL = 5
GPS1_TYPE = 5
Serial speed was set to 230400.
Flight controller can receive data from GEM1305, but the PreArm: GPS signa is unhealthy. On the HUD I can see that the GPS sees only 3 satellites.
I tested the GEM1305 with a standard USB-serial converter and Satrak software. The GEM1305 was able to see 50+ satellites.

Can you please help, what other settings do I have to perform to be able to use more than 3 satellites, and to be able to Arm the drone?

Thanks!
@datagnss

Hi Peter

Please disable gps auto switch.
Then choose GPSx as the only GPS.

Hi!

Thanks for the fast reply!

My serial setup looks like this:


Where can I explicitely set up, that the flight controller shall use only one GPS1?

GPS_AUTO_SWITCH = 0
GPS_PRIMARY = 0

Do I have to set any more parameters?

Thank you!

Yes, please config above two options.

During our testing, we occasionally encounter a “GPS unhealthy” status for a few seconds, but the data shows no issues—both the satellite count and positioning appear normal.

Thank you! I will test it.

Are there any parameters that I have to set, not to land the drone in case the GPS in unhealthy?

I’m going to use RTK. Are there any more settings to be done?

Thanks.

The message “GPS unhealthy” is just a prompt and has no actual impact, as the GPS positioning itself is functioning properly.

So please try it again.

Please let us know if you have any questions.

Hi!

I have set the above mentioned parameters but GPS is still unhealthy :frowning:
The drone logo in MissionPlanner map is at the right position, where my house is, this is OK.

Maybe I need to lower the PreArm GPS health status check limit?

Let me copy the output of message window, maybe it contains important bits:

      1. 20:06:08 : Arm: GPS 1: not healthy
      1. 20:06:03 : PreArm: GPS 1: not healthy
      1. 20:05:59 : Arm: GPS 1: not healthy
      1. 20:05:48 : ELRS: Link rate 250Hz, Telemetry rate 5Hz
      1. 20:05:43 : ELRS: Link rate 250Hz, Telemetry rate 53Hz
      1. 20:05:42 : EKF3 IMU0 MAG0 initial yaw alignment complete
      1. 20:05:42 : EKF3 IMU0 tilt alignment complete
      1. 20:05:40 : AHRS: EKF3 active
      1. 20:05:40 : EKF3 IMU0 initialised
      1. 20:05:38 : GPS 1: detected as NMEA at 230400 baud
      1. 20:05:38 : RCOut: DS300:1-4 PWM:5
      1. 20:05:38 : AHRS: DCM active
      1. 20:05:38 : ArduPilot Ready
      1. 20:05:38 : INS: alloc 6144 bytes for ISB (free=60424)
      1. 20:05:38 : Initialising ArduPilot
      1. 20:05:38 : ELRS: RSSI now displays normally
      1. 20:05:38 : ELRS: Link rate 250Hz, Telemetry rate 249Hz
      1. 20:05:37 : Barometer 1 calibration complete
      1. 20:05:37 : RCInput: decoding CRSF(3)
      1. 20:05:36 : Frame: QUAD/X
      1. 20:05:36 : RCOut: Initialising
      1. 20:05:36 : SpeedyBeeF405Mini 001D0043 30345117 38333333
      1. 20:05:36 : ChibiOS: 6a85082c
      1. 20:05:36 : ArduCopter V4.5.7 (2a3dc4b7)
      1. 20:05:35 : Frame: QUAD/X
      1. 20:05:35 : RCOut: Initialising
      1. 20:05:35 : SpeedyBeeF405Mini 001D0043 30345117 38333333
      1. 20:05:35 : ChibiOS: 6a85082c
      1. 20:05:35 : ArduCopter V4.5.7 (2a3dc4b7)
      1. 20:05:35 : Calibrating barometer
      1. 20:05:35 : Frame: QUAD/X
      1. 20:05:35 : RCOut: Initialising
      1. 20:05:35 : SpeedyBeeF405Mini 001D0043 30345117 38333333
      1. 20:05:35 : ChibiOS: 6a85082c
      1. 20:05:35 : ArduCopter V4.5.7 (2a3dc4b7)

Thanks!

Please try to lower the check for PreArm or disable this check.

We will check the 4.5.7 code too.

No, don’t disable GPS prearm checks. You can relax the HDOP threshold if necessary, but do not simply ignore warnings.

1 Like

OK, thanks.
@Yuri_Rage

Hi Peter,
Please follow Yuri’s suggestion.
@peter.dankovits

On the topic of @datagnss modules, I noticed that you closed the PR for ArduPilot support of the HED10L dual antenna module. Do you have plans to revisit that code?

I did compile it myself and attempt to use it. It did not provide proper support.

Yes , maybe we will open the pr again.
We had a private version to test it, but we reviewed the code, which can’t be checked by the team in short time, this is why we closed the previous PR.

Yuri, what’s your suggestion about this?

Reopen the PR and start a conversation with the team about it.

Also, explore the partnership program, which may be an avenue to a more substantive connection with the core development team.

OK, thanks.

Let me push it go ahead.

I agree, PreArm checks have a reason, they can’t be just ignored. :slight_smile:
I will try to change HDOP threshold.

During the research of this issue I found a solution in another thread: This issue was solved by soldering a secondary GPS to the flight controller.
I can’t find the forum/topic right now…

There’s already a Walksnail WS-M181 compass+GPS on my drone, but currently I’m only using the compass, via I2C.
When I get chance at home, I’ll try this “trick” to use the GPS function of the module.

What’s your opinion of this? Do you see any issue with this?

Thanks!