# Problem acquiring GPS satellites (possible voxl2 board EMI?)

Source: https://forum.modalai.com/topic/3912/problem-acquiring-gps-satellites-possible-voxl2-board-emi
Category: Development Drones (https://forum.modalai.com/category/44/development-drones)
Tags: starling
Posted: 2024-11-06 20:12:09 UTC by nuallaino
Replies: 4 · Views: 2478

## nuallaino · 2024-11-06 20:12:09 UTC

Hello,
We have a Starling 2 and a few Starling 2 Max's which have issues acquiring GPS. We tested on several occasions outside with clear skies.  However, we never acquire any satellites no matter how long we wait. 

The current version information is as follows, but we have tried earlier voxl-suite versions too:
```
system-image: 1.7.10-M0054-14.1a-perf
kernel:       #1 SMP PREEMPT Fri Sep 27 22:10:45 UTC 2024 4.19.125
--------------------------------------------------------------------------------
hw platform:  M0054
mach.var:     1.2.1
--------------------------------------------------------------------------------
voxl-suite:   1.3.5
--------------------------------------------------------------------------------
current IP:   wlan0: 192.168.8.1
--------------------------------------------------------------------------------
```
It appears that there is comms with the gps module, from the following log excerpt:

```
INFO  [muorb] SLPI: GPS UART baudrate set to 9600
INFO  [muorb] SLPI: GPS UART baudrate set to 38400
INFO  [muorb] SLPI: Got ack to initial CFG_VALSET!
INFO  [muorb] SLPI: u-blox firmware version: SPG 5.10
INFO  [muorb] SLPI: u-blox protocol version: 34.10
INFO  [muorb] SLPI: u-blox module: MAX-M10S
INFO  [uORB] Advertising remote topic sensor_gps
```

We used SignalHound to check of EMI from the drone in an RF isolation chamber. The 1st plot shows the chamber baseline with the Starling 2 powered off and the second shows the spike in EM from the Starling 2 once powered on. The EMI is right at the GPS L1 freq. 

![ChamberBaseline_GPS_100MHzSpan_OFF.png](https://forum.modalai.com/assets/uploads/files/1730922552665-chamberbaseline_gps_100mhzspan_off.png) ![Starling2_GPS_5MHzSpan.png](https://forum.modalai.com/assets/uploads/files/1730922552729-starling2_gps_5mhzspan.png) 

After modifying one of the Starling 2 Max drones to use a pixhawk gps module on a mast (as in the following picture) we were able to acquire gps satellites without issue. No software changes were made.

![Starling2Max_Modified_GPS.jpg](https://forum.modalai.com/assets/uploads/files/1730923637176-starling2max_modified_gps-resized.jpg) 

I'd appreciate any guidance on whether we have a hardware issue with the out of the box GPS units or any other steps to debug the issue.

Thanks!

## Reply by James Strawson (ModalAI staff) · 2024-12-04 02:42:26 UTC

@nuallaino 

On more recent versions of the Starling 2 Max we moved the GPS to the back of the drone. I'll reach out to you via PM regarding updating your Starling Max.

We just discovered a source of EMI which is the cable running to the optional Lepton sensor socket. For a number of reasons we've not offered Lepton as an option of Starling 2 Max yet so you can safely disconnect the 8-pin JST SH connector on the front left side of your camera breakout board next to the barometer cap. This will improve GPS performance. Please see picture below.

![alt text](https://i.postimg.cc/HsvBTBCc/connector-removal.jpg)

## Reply by nuallaino · 2024-12-04 21:07:09 UTC

@James-Strawson 
Thank you for the update. 

We do actually have a lepton populated in the sensor socket, but will disable it for now.

## Reply by nuallaino · 2024-12-06 16:19:24 UTC

@James-Strawson 

I tested disconnecting the lepton camera, as described, for our Starling 2 and saw zero satellites.  So maybe the gps needs to move to the rear on the Starling 2 also?

![48a9368f-f20a-4b3f-8977-c7578e507c94-image.png](https://forum.modalai.com/assets/uploads/files/1733501908390-48a9368f-f20a-4b3f-8977-c7578e507c94-image.png) 

FYI I am seeing lots of i2c errors in the dmesg log, which seem to only happen with the lepton cable unplugged:

```
[  767.999855] i2c_geni 984000.i2c: i2c error :-107
[  769.246281] i2c_geni 984000.i2c: i2c error :-107
[  770.494318] i2c_geni 984000.i2c: i2c error :-107
[  771.747084] i2c_geni 984000.i2c: i2c error :-107
[  772.986858] i2c_geni 984000.i2c: i2c error :-107
[  774.245514] i2c_geni 984000.i2c: i2c error :-107
[  775.486872] i2c_geni 984000.i2c: i2c error :-107
[  776.741754] i2c_geni 984000.i2c: i2c error :-107
[  777.987430] i2c_geni 984000.i2c: i2c error :-107
```

```
voxl2:~$ voxl-inspect-services
Scanning services...

 Service Name             |  Enabled  |   Running   |  CPU Usage
-------------------------------------------------------------------
 docker-autorun           | Disabled  | Not Running |  
 modallink-relink         | Disabled  | Not Running |  
 voxl-auto-logger         | Disabled  | Not Running |  
 voxl-camera-server       |  Enabled  |   Running   |   138.0%
 voxl-cpu-monitor         |  Enabled  |   Running   |     0.3%
 voxl-dfs-server          | Disabled  | Not Running |  
 voxl-feature-tracker     | Disabled  | Not Running |  
 voxl-flow-server         | Disabled  | Not Running |  
 voxl-imu-server          |  Enabled  |   Running   |     3.8%
 voxl-lepton-server       | Disabled  | Not Running |  
 voxl-lepton-tracker      | Disabled  | Not Running |  
 voxl-logger              | Disabled  | Not Running |  
 voxl-mapper              |  Enabled  |   Running   |     1.1%
 voxl-mavcam-manager      |  Enabled  |   Running   |     0.0%
 voxl-mavlink-server      |  Enabled  |   Running   |     3.2%
 voxl-modem               | Disabled  | Not Running |  
 voxl-neopixel-manager    | Disabled  | Not Running |  
 voxl-open-vins-server    | Disabled  | Not Running |  
 voxl-osd                 | Disabled  | Not Running |  
 voxl-portal              |  Enabled  |   Running   |    92.0%
 voxl-px4-imu-server      | Disabled  | Not Running |  
 voxl-px4                 |  Enabled  |   Running   |    23.3%
 voxl-qvio-server         |  Enabled  |   Running   |     4.6%
 voxl-rangefinder-server  |  Enabled  | Not Running |  
 voxl-remote-id           | Disabled  | Not Running |  
 voxl-softap              | Disabled  | Not Running |  
 voxl-state-estimator     | Disabled  | Not Running |  
 voxl-static-ip           | Disabled  | Not Running |  
 voxl-streamer            |  Enabled  |   Running   |     0.0%
 voxl-tag-detector        | Disabled  | Not Running |  
 voxl-tflite-server       | Disabled  | Not Running |  
 voxl-time-sync           | Disabled  | Not Running |  
 voxl-uvc-server          | Disabled  | Not Running |  
 voxl-vision-hub          |  Enabled  |   Running   |     2.6%
 voxl-vrx                 | Disabled  | Not Running |  
 voxl-vtx                 | Disabled  | Not Running |  
 voxl-wait-for-fs         |  Enabled  |  Completed  |
```

## Reply by Alex Kushleyev (ModalAI staff) · 2024-12-24 17:54:16 UTC (in reply to nuallaino)

@nuallaino , we are continuing to investigate the GPS signal issues and found that sometimes the wifi module (Alpha networks), located right under the GPS receiver, can create interference with the GPS unit.

Please try a workaround by disconnecting the wifi dongle from the M0141 usb adapter board and use a usb extension cable to move the wifi dongle from under the gps receiver. You don't have to mount the cable to the drone just for this test.

Also, you can do a quick test by disabling USB power (which will turn off the wifi dongle) using the following command on VOXL2. You will need an ADB connection to check the GPS status if wifi is disabled.

- pin GPIO_157 controls VBUS, which is USB power on VOXL2
- to disable, run `voxl-gpio write 157 0`
- to enable, run `voxl-gpio write 157 1`

Please let us know if these tests show positive results.

Alex
