External gps

hello,
I’ve got a “M8N GPS Module and compass” and I will use it as external GPS module and Compass to solve our toilet bowl problem. I don’t have any idea about connections and configurations like disconnect internal GPS and compass and we have a competition after few days .
any simple and clear post, link, article etc. can help me and save my time ?
i tried some posts in emlid community but couldn’t solve the problem yet.
thanks

https://community.emlid.com/t/adding-2nd-gps-on-navio2/5471

You need to move UART Telemetry radio (if needed) to USB.

GPS is wired to UART, Compass to I2C

1 Like

Compass toilet bowl problem is not GPS related but due to bad compass calibration or wiring placement. You have to review your motor wiring (Power module and ESCs) and move all theses items away of Navio2.

No need to wrap your RpiNavio in alu foil, but you can wrap your ESCs and Power module to limit EMR effect to compass and GPS.

RMK: your vibration isolation system look quite soft.

2 Likes

hi Marc,
First thanks for your response and sorry for my late.
Yes, I did that and pleased to external GPS has worked.
But unfortunately the external compass hasn’t work yet . it seems to didn’t detecte because when I calibrate the compass mag3 doesn’t progress never.
I am sharing the configurations that show GPS and compass states .
Thanks .

You can run this command: sudo i2cdetect -y 1

and share the result.

Can you tell us what GPS-Compass module you are using. You may have to enable driver in compass parameters. Check the i2c wiring, SDA and SCL could be inverted.

Capture d’écran 2021-09-10 à 08.14.42

I am using " M8N GPS Module with compass" and I connected the compass cable directly to i2c port

I found an image explaining the wires colors , so I think the wiring was true

SDL wire with SDL pin
SCL wire with SCL pin

Your compass doesn’t show on the i2c.

Here is the i2c detect of my test:

Capture d’écran 2021-09-10 à 10.22.41

And the compass ident in the config window (HMC5883) , yours could be QMC5883L (after some google search):

Check the connection of the i2c plug, could be loose.

thank you for helping me resolve my previous problem @mlebret now the compass is working properly but we are having problems trying to arm the drone(from dronekit takeoff_land.py script it works on the SITL ) the drone is armebel and the gps works perfectly when we are controlling the drone from the RC transmitter we did poshold mode and it is perfect

this is the most significant linesform the telemetry logs:
9/13/2021 10:23:25 PM : GPS 1: was not found
9/13/2021 10:23:25 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:23:16 PM : GPS 1: was not found
9/13/2021 10:23:16 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:23:06 PM : GPS 1: was not found
9/13/2021 10:23:06 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:22:57 PM : GPS 1: was not found
9/13/2021 10:22:57 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:22:48 PM : PreArm: GPS positions differ by 5511872.m
9/13/2021 10:22:46 PM : PreArm: GPS positions differ by 5511872.m
9/13/2021 10:22:45 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:22:38 PM : GPS 1: was not found
9/13/2021 10:22:38 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:22:28 PM : GPS 1: was not found
9/13/2021 10:22:28 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:22:19 PM : GPS 1: was not found
9/13/2021 10:22:19 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:22:12 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:22:10 PM : GPS 1: was not found
9/13/2021 10:22:10 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:22:09 PM : PreArm: GPS positions differ by 5511872.m
9/13/2021 10:22:06 PM : GPS: u-blox 1 saving config
9/13/2021 10:22:01 PM : u-blox 1 HW: 00080000 SW: EXT CORE 3.01 (107900)
9/13/2021 10:21:59 PM : PreArm: GPS positions differ by 5511872.m
9/13/2021 10:21:56 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:21:56 PM : GPS 1: was not found
9/13/2021 10:21:56 PM : PreArm: GPS 1 failing configuration checks
9/13/2021 10:21:05 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:19:39 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:19:32 PM : GPS: u-blox 1 saving config
9/13/2021 10:19:28 PM : u-blox 1 HW: 00080000 SW: EXT CORE 3.01 (107900)
9/13/2021 10:11:39 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:11:32 PM : GPS 1: detected as u-blox at 115200 baud
9/13/2021 10:10:44 PM : u-blox 1 HW: 00080000 SW: EXT CORE 3.01 (107900)
9/13/2021 10:10:36 PM : EKF2 IMU0 is using GPS
9/13/2021 10:10:32 PM : Frame: QUAD
9/13/2021 10:10:32 PM : b73feaf61bf948a69a2ad5570065febe
9/13/2021 10:10:32 PM : ArduCopter V4.0.3 (296bb047)
9/13/2021 10:10:32 PM : Frame: QUAD
9/13/2021 10:10:32 PM : b73feaf61bf948a69a2ad5570065febe
9/13/2021 10:10:32 PM : ArduCopter V4.0.3 (296bb047)
9/13/2021 10:10:32 PM : Frame: QUAD
9/13/2021 10:10:32 PM : b73feaf61bf948a69a2ad5570065febe

hope you can help me solve this problem.

Hi Yaser,

Are you passing the serial connection path for GPS in the string? You need to tell SITL to use your real GPS instead of the simulated one. Here’s a useful part of the ArduPilot guide. I hope it will help.

1 Like