# Starling 2 Max no GPS data

Source: https://forum.modalai.com/topic/4226/starling-2-max-no-gps-data
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2025-03-01 12:42:35 UTC by ROBERT JUDD
Replies: 51 · Views: 27766

## ROBERT JUDD · 2025-03-01 12:42:35 UTC

ModalAI Support, 

I received a new Starling 2 Max a few days ago, and overall it's great, but I'm having a problem with GPS. Basically, the drone appears to NEVER receive any GPS signals even when left outside for long periods of time. My system info and results of px4-listener are pasted below.

This issue appears similar to these other forum discussions, where they seem to think the problem relates to EMI: 

https://forum.modalai.com/topic/3879/gps-not-working-for-starling-2-max/16

https://forum.modalai.com/topic/3912/problem-acquiring-gps-satellites-possible-voxl2-board-emi?_=1731073406011

I did unplug the Lepton 8-pin JST SH connector as suggested by James Strawson in the forum discussions above, but that had no effect. I also powered down the WiFI as suggested by Alex Kushleyev, but this also had no effect, although kind of a bad test for me because I couldn't put the drone outside due to USB cable length:  

* 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

What do you think I should do next? Is there some way to turn the power off to various subsystems via software in an attempt to figure out if and where EMI is the problem? Any other ideas? 

Thanks for your help !

Starling 2 Max Outdoor GPS-denied Development Drone × 1
with Battery Pack and Controller and Case
Dual 4k & Dual Tracking & ToF (C29)
5G WiFi and Ghost Atto 2.4GHz
ECCN: EAR99, NLR 

****************
system-image: 1.8.02-M0054-14.1a-perf
kernel:       #1 SMP PREEMPT Mon Nov 11 22:47:44 UTC 2024 4.19.125
hw platform:  M0054
mach.var:     1.0.1
voxl-suite:   1.4.1
current IP:   wlan0: 10.0.0.19
****************

voxl2:~$ px4-listener sensor_gps 

TOPIC: sensor_gps
 sensor_gps
    timestamp: 841732144 (0.020669 seconds ago)
    timestamp_sample: 0
    time_utc_usec: 0
    device_id: 11272245 (Type: 0xAC, SERIAL:6 (0x00))
    **lat: 0
    lon: 0
    alt: -17000**
    alt_ellipsoid: 0
    s_variance_m_s: 999.00006
    c_variance_rad: 3.14159
    eph: 4294967.50000
    epv: 3796926.25000
    hdop: 99.99000
    vdop: 99.99000
    noise_per_ms: 64
    jamming_indicator: 15
    vel_m_s: 0.00000
    vel_n_m_s: 0.00000
    vel_e_m_s: 0.00000
    vel_d_m_s: 0.00000
    cog_rad: 0.00000
    timestamp_time_relative: 0
    heading: nan
    heading_offset: 0.00000
    heading_accuracy: 0.00000
    rtcm_injection_rate: 0.00000
    automatic_gain_control: 0
    fix_type: 0
    jamming_state: 0
    spoofing_state: 1
    vel_ned_valid: False
    **satellites_used: 0**
    selected_rtcm_instance: 0

voxl2:~$ px4-listener sensor_mag

TOPIC: sensor_mag
 sensor_mag
    timestamp: 861420482 (0.006257 seconds ago)
    timestamp_sample: 861420007 (475 us before timestamp)
    device_id: 527625 (Type: 0x08, I2C:1 (0x0D))
    x: -0.04417
    y: -0.32142
    z: 0.42167
    temperature: nan
    error_count: 0
voxl2:~$

## Reply by ROBERT JUDD · 2025-03-02 13:14:36 UTC

PS or maybe EMI is a red herring and the actual problem is a defective GPS antenna and/or poor electrical contact at the GPS antenna mounting pin?

## Reply by ROBERT JUDD · 2025-03-04 02:29:14 UTC

@Alex-Kushleyev : Is this something you could help me with? Thank you!

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-04 15:31:30 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD ,

In this case, my recommendation would be to make sure the GPS receiver is actually properly functioning. In order to do this independently from VOXL2, I usually just plug in a USB to serial adapter directly into the GPS unit and use Ublox Ucenter to interface to the GPS receiver directly. 

Have you used Ublox Ucenter for testing GPS receivers before?

You may need to make a cable for the USB to serial connection to the GPS receiver. I can provide the instructions for that if you need.

The idea is to test the GPS receiver without removing from the drone, but with the whole drone being powered off and GPS receiver communicating to a laptop running Ublox Ucenter. This way, there will be no interference from the drone and satellite signal strength can be verified.

Alex

## Reply by ROBERT JUDD · 2025-03-04 16:05:37 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev That's a great idea. I have not used Ucenter before, but I found it online and I think I could figure that part out. If you could provide instructions on how to make a cable for the USB to serial connection to the GPS receiver that would be super helpful. Sorry for the extra work and thank you! 

Bob

## Reply by ROBERT JUDD · 2025-03-04 18:51:03 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Maybe this cable would work? https://www.amazon.com/dp/B0D9BDJBKK/

## Reply by ROBERT JUDD · 2025-03-05 12:38:59 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev
 or maybe this device: https://www.amazon.com/dp/B00LZVEQEY/ 
using this wiring: https://docs.modalai.com/flight-core-v2-external-sensors/#gpscompass

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-05 14:15:20 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , Any USB-to-serial adapter should work you should probably get two different ones just in case. Just make sure the usb adapter can provide 5V and uses 3.3V logic levels.

In terms of the pinout, the following table is correct : https://docs.modalai.com/flight-core-v2-external-sensors/#gpscompass , however i wanted to clarify the TX / RX.

```
pin 1: 5V power from USB adapter to GPS receiver
pin 2: TX out of USB adapter, RX into GPS
pin 3: RX into USB adapter, TX out of GPS
pin 4: I2C SCL (unused in this case)
pin 5: I2C SDA (unused in this case)
pin 6: GND
```

If you need help with using Ucenter for basic satellite signal strength monitoring, i can make a simple video. There are many settings you can change in Ucenter, but you don't need to do much in order to do a basic satellite view.

Alex

## Reply by ROBERT JUDD · 2025-03-05 19:49:03 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Got it, will do and let you know. Thanks very much for your help!
Bob

## Reply by ROBERT JUDD · 2025-03-10 19:23:08 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev I'm having trouble identifying the type of 6-pin connector on the 3DR GPS board. I'm trying to but a connector so I can build the cable. Is that a JST GH 1.25? Or some other type of connector? I'd prefer not to solder wires onto the GPS board at this stage.

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-10 19:32:55 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , yes it is JST GH.

## Reply by ROBERT JUDD · 2025-03-11 20:50:24 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev OK, I made a cable and connectors and the GPS receiver appears to work fine when connected to my PC USB serial port and the whole drone is powered off, details below. Definitely a major step forward. What do you think I should test next? I'm thinking of testing the pin-to-pin continuity of the GPS-to-VOXL cable, and also checking that the wires are connected to the correct pins. Any other suggestions? 

Thanks for your help! 

![ublox-ucenter2.png](https://forum.modalai.com/assets/uploads/files/1741726178151-ublox-ucenter2.png)

## Reply by ROBERT JUDD · 2025-03-11 21:56:19 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Actually I discovered something very interesting. No matter how long you leave the drone outside it will not lock onto any satellites, BUT if you add an aluminum foil shield between the GPS antenna and the rest of the drone you immediately get satellites, a total of 11 after a few minutes. See pics below. 

I think this means I need an RF shield of some sort. Open to suggestions. 

Note that this is with the Lepton cable disconnected, and the ALFA wifi module removed. I'm communicating using ssh via 5G Google Fi and Tailscale as per ModalAI documentation, which was super helpful, thanks!  

Thanks again for helping me figure this out! 

![IMG_4448.jpeg](https://forum.modalai.com/assets/uploads/files/1741729565469-img_4448-resized.jpeg)

![IMG_4447.jpg](https://forum.modalai.com/assets/uploads/files/1741729814892-img_4447.jpg)

## Reply by ROBERT JUDD · 2025-03-12 20:58:43 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev I'm hoping you or someone at ModalAI will get back to me ASAP about this because frankly I'm getting very frustrated. I added the shield below and I do get a GPS fix, but the quality is poor and when flying it is nearly impossible to avoid crashing. Why do I need to add a RF shield in the first place? Did someone at ModalAI test this $5,000 drone before shipping it to me? Does the Starling 2 Max have a GPS design issue? In view of the two similar reports below I'm beginning to think so. Please let me know how we can make this right. 

https://forum.modalai.com/topic/3879/gps-not-working-for-starling-2-max/16

https://forum.modalai.com/topic/3912/problem-acquiring-gps-satellites-possible-voxl2-board-emi?_=1731073406011

![image0(1).jpeg](https://forum.modalai.com/assets/uploads/files/1741813075379-image0-1.jpeg)

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-12 21:37:59 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD ,

I have looked at your plot of satellite signal strengths - was this test done in open sky? The average signal strength appears to be around 33dB, which is relatively low. Since the drone is powered off, there should not be any active interference from it.

In open sky, I would expect majority of GPS satellites to be in the 40-45dB range (depending on the elevation).

It is possible that something is wrong with the GPS receiver itself (if the test was done in the open sky).

Just did a quick search for a good reference for a signal strength to expect in excellent conditions (this is not my image). In the past GPS tests i have been able to observe such results in ideal conditions.

![b5095983-3e0e-4f31-8dda-c7e16bd2c625-image.png](https://forum.modalai.com/assets/uploads/files/1741815287280-b5095983-3e0e-4f31-8dda-c7e16bd2c625-image.png) 

In your case, the signal is at least 10dB lower on average, which is not a great sign. 

Do you have any other Ublox receivers you can test in the same conditions to check if you get higher signal strength? I suspect the GPS module in the Starling 2 Max may be bad, so that would explain seeing low signal even with the drone powered off.

Alex

## Reply by ROBERT JUDD · 2025-03-12 21:52:06 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev The previous screen shot was not open sky because I didn't have a USB extension cable, which I bought today. Here is the open sky result. What do you think I should do next? Thanks

![open-sky.png](https://forum.modalai.com/assets/uploads/files/1741816268964-open-sky.png)

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-12 22:36:04 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , the open sky result looks good, so the gps receiver seems just fine.

Now, as a next test, to confirm that interference is coming from the drone (and see what level of interference), make sure that you are getting similar results as you just shown while drone is off and while your u-center is running, turn on the drone and you will likely observe the signal drop as the drone boots up (which may vary over time). 

I am curious what that looks like (initial drop when you first power on the drone and then steady state (after 5-10 seconds).

Also, it seems you may have a 5G modem on the Starling 2 Max (if i am not mistaken), please try to see if disabling it will help with the GPS signal. Perhaps certain settings of the 5G modem are affecting GPS signal.

Alex

## Reply by ROBERT JUDD · 2025-03-13 00:31:23 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev OK I will try that tomorrow and let you know. 

Yes, I do have a 5G Sierra Wireless EM9291 modem active and connected via Google Fi. If I execute “systemctl disable voxl-modem” do I need to reboot for that to take effect? And does that actually remove power from the modem board? Any other modem commands I should try? 

Thanks very much for your help.

## Reply by ROBERT JUDD · 2025-03-13 17:20:01 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev This morning I could not get the GPS to communicate reliably with my PC - the serial data connection kept fading in and out. I checked all the wiring, made a new cable, and tried a second PC, but the serial connection kept fading in and out. Maybe the GPS module was defective the whole time. Can you tell me how I can get a replacement GPS module? Here are the pics. 

![IMG_4454.jpeg](https://forum.modalai.com/assets/uploads/files/1741886105351-img_4454.jpeg) 

![IMG_4455.jpeg](https://forum.modalai.com/assets/uploads/files/1741886105603-img_4455.jpeg)

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-13 19:29:36 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , please contact https://www.modalai.com/pages/rma for any replacements you need.

From the picture you posted, i see a big scratch on the antenna, which seems to be deep enough to break up the conductive plane. I am not an antenna expert, but i believe that damage like this will affect the antenna characteristics. 

By the way the two notches on the antenna (at 12 and 3 o'clock) are done at the factory when the antennas are fine tuned to the exact frequency. The scratch could throw off the tuning.

Regarding serial connection, sometimes you need to switch your gps receiver to a higher baud rate, otherwise the port will overflow at the default 9600 baud. Please double check. You can send a special command using u center to switch the receiver to a higher baud rate and then autodetect or manually specify the new baud rate in ucenter for the serial connection. I typically always switch to at least 115200 or 230400 first then do my testing.

Regarding disabling the modem, I will ask my colleagues if there is a SW command to power it down.

Alex

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-13 20:12:03 UTC (in reply to Alex Kushleyev)

In order to power down the 5G card on M0090, the easiest way to do it is to set VOXL2 GPIO 1 to low. This signal controls the `FULL_CARD_POWER_OFF` input into the 5G card.
```
voxl-gpio -m 1 out
voxl-gpio -w 1 0  # power off
voxl-gpio -w 1 1  # power on
```

## Reply by ROBERT JUDD · 2025-03-14 00:37:37 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev This is very helpful information, thanks very much for sending. I will follow your recommendations and keep you updated. 

FYI I also noticed the antenna scratch in the photo, but I honestly have no idea how that happened. I was very careful handling the GPS module. Maybe it overheated, but I ran a fan over the drone at all times during bench testing and monitored temps via “voxl-inspect-cpu”, so that doesn’t seem likely to me. 

Thanks again for your help.

## Reply by ROBERT JUDD · 2025-03-14 20:45:43 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Thanks for the tip regarding serial baud rate, I set it to 115200 as shown below and regained the good satellite data. Then I ran the tests you suggested. The three graphs below are: 1) drone power off; 2) drone power on; and 3) drone power on but 5G card off as per your instructions (voxl-gpio -m 1 out; voxl-gpio -w 1 0). 

My impression is that the GPS signal drops considerably when the drone is powered up (first vs second graph below), but that powering off the 5G card had no apparent effect (third graph). Do you agree? Are there any other gpio commands I can use to remove power to various subsystems to search for the source of interference? 

I ordered a new GPS module directly from 3DR, it should arrive Monday. I agree that may work better due to the scratch in the current antenna. 

Thanks again for your help. 

![baud-change.png](https://forum.modalai.com/assets/uploads/files/1741984832232-baud-change.png) 

![power-off.png](https://forum.modalai.com/assets/uploads/files/1741984821495-power-off.png) 

![power-on.png](https://forum.modalai.com/assets/uploads/files/1741984842285-power-on.png) 

![power-on-5g-off.png](https://forum.modalai.com/assets/uploads/files/1741984851530-power-on-5g-off.png)

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-14 21:18:34 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , yes it seems the signal drops by at least 10dB across all the satellites when the drone is switched on. This is quite significant (not good). You most likely would not be able to fly using GPS with these signal levels even though you have a lock (position and velocity estimates would be noisy).

Let me check with the team what the expected signal level is when a properly working Starling 2 Max is receiving GPS.

Alex

## Reply by ROBERT JUDD · 2025-03-14 21:47:20 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev sounds good thank you. Overall I really like what your company is doing and I’m happy to run whatever tests would be helpful to identifying strategies to improve drone performance. My main goal is to systematically explore 5G as the sole data link in anticipation of the FAA allowing BVLOS.

## Reply by ROBERT JUDD · 2025-03-15 13:59:15 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Is there a programmatic way to cut power to one or more of the cameras? I have four: front/down hires and front/down tracking. The two downward-facing cameras are mounted immediately adjacent to the GPS module. It would be interesting to see happens to the GPS signal when those cameras are powered on and off.

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-15 17:20:31 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , when you stop voxl camera server, all the cameras are powered off. 

Systemctl stop voxl-camera-server

To disable individual cameras, you can modify /etc/modalai/voxl-camera-server.conf to set the “enabled” parameter to false for the desired camera(s) and restart camera server : systemctl restart voxl-camera-server

Alex

## Reply by ROBERT JUDD · 2025-03-15 19:45:59 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev OK, just now I repeated the test of GPS signal with/without powering up the drone and the results were the same as yesterday: roughly 10 dB drop in GPS signal when drone is powered up. At that point I shut down the voxl-camera-server (systemctl stop voxl-camera-server), meaning no power to any cameras, and there was no apparent change (still 10 dB down). I did double check that the change happened via "voxl-inspect-services" (camera server not running). 

So here is the current status: 

With GPS module connected to u-center2 (not connected to drone but physically in the same position on drone frame): 

0) Everything below is Lepton connector removed and ALFA USB wifi removed

1) Drone powered off: good GPS signal (14-20 satellites tracked, most 40-45 dB)

2) Drone powered on: GPS signal drops about 10 dB

3) Drone powered on, 5G modem powered off: no improvement

4) Drone powered on, 5G modem powered on, all cameras powered off: no improvement

Any other subsystems I can power down and/or unplug? I'll try the new GPS module when it arrives hopefully Monday.

## Reply by ROBERT JUDD · 2025-03-18 16:44:21 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev 3DR says the replacement GPS won't be shipped until next week. Are there any useful tests I can run while waiting, eg. power down selective subsystems and observe GPS signal via u-center? I did hold the current (potentially defective) GPS module in my hand and move it around the drone while observing signal strength in u-center, but it wasn't clear to me where the interference was originating from. Open to suggestions. Thanks for your help.

## Reply by ROBERT JUDD · 2025-03-19 19:10:58 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev said in [Starling 2 Max no GPS data](/post/21372):
> Let me check with the team what the expected signal level is when a properly working Starling 2 Max is receiving GPS.

Have you had a chance to check on this? 

FYI in the meantime I've purchased 3 additional GPS modules from different manufacturers, and will evaluate them using u-center and the drone when they arrive. 

I need to get this problem fixed somehow - can't fly far without a GPS!

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-19 21:56:32 UTC (in reply to ROBERT JUDD)

Hi @ROBERT-JUDD , my colleague is setting up the exact test with Starling 2 Max with the 5G modem to see if there is any possible interference. We will get back to you soon. Meanwhile, please let us know if swapping of the GPS module produces any positive results. Thank you!

Alex

## Reply by ROBERT JUDD · 2025-03-19 22:51:49 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev will do, thanks!

## Reply by ROBERT JUDD · 2025-03-25 14:26:59 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Here are the results of testing with a brand new GPS from a different manufacturer (https://holybro.com/products/micro-m10-gps?variant=42981482954941). The GPS is in the same position as the original, but connected to u-center. As with prior tests, Lepton is disconnected and ALFA is removed. 

Top u-center screen shot is with drone powered OFF, bottom is drone powered ON. To me this Holybro GPS looks about the same as the 3DR GPS, i.e. satellite signals drop significantly with drone powered ON. Not shown are results where I found that the satellite signal increased significantly when I moved the GPS module farther away and/or added shielding. 

What do you suggest as next steps? 

Thanks for your help. 

![Holybro.jpg](https://forum.modalai.com/assets/uploads/files/1742912543484-holybro.jpg) 

![holybro-gps-drone-off.png](https://forum.modalai.com/assets/uploads/files/1742912557431-holybro-gps-drone-off.png) 

![holybro-gps-drone-on.png](https://forum.modalai.com/assets/uploads/files/1742912563307-holybro-gps-drone-on.png)

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-28 21:34:37 UTC (in reply to ROBERT JUDD)

Hi @ROBERT-JUDD, 

We are actively testing to find a solution (including myself, I just got my hands on a Starling 2 Max a few days ago and was able to confirm similar SNR to what you have experienced - my drone is without 5G modem). My colleague is testing one with a 5G modem. We acknowledge that there is an issue and we are working on a short-term workaround and a longer term solution.

We understand that this can be concerning and if you are not able to wait for a solution, please reach out to https://www.modalai.com/pages/rma and we can work on a return / refund.

If you are able to work with us on this issues, we are trying out different options including different gps units, disabling different components to find the source of the interference, and also re-locating the position of the gps unit to help reduce the effect of the noise. My gut feeling is that elevating the GPS receiver on a  lightweight but rigid mast (4-6in) above the drone and include some shielding right below the receiver should significantly improve the performance (as a short-term workaround). I will test this ASAP and provide the results and pictures). Please give me a few more days.

Alex

## Reply by ROBERT JUDD · 2025-03-29 15:19:58 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Thanks for the reply, and yes, I'm happy to work with you to find a solution. As an attempt to improve SNR, I took the STEP files and created a "stretched" 3D-printed version of the GPS mount, see below, but I haven't had a chance to install it yet. Based on some previous testing I think the added distance will improve SNR somewhat, and adding some shielding should also help, but I think the best long term solution would be to find the source of EMI and target that. I don't have the equipment or knowledge to do that, however. 

Please keep me posted, and let me know if there's any way I can contribute. Thanks for your help!

![IMG_4511.jpeg](https://forum.modalai.com/assets/uploads/files/1743261452376-img_4511.jpeg)

## Reply by Alex Kushleyev (ModalAI staff) · 2025-03-29 15:54:12 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD 

Sounds good. Please keep in mind that if you relocate the gps receiver, you should update the offsets for gps sensor position in px4 (prior to flight)

My test will be putting a 4-6in mast either where the gps receiver is now (in the back) or right in the middle, on top of the “roll cage”.

Alex

## Reply by ROBERT JUDD · 2025-04-01 12:19:23 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Got it, thanks. FYI here's an interesting graph regarding the frequency of the EMI from a prior post: 

https://forum.modalai.com/topic/3912/problem-acquiring-gps-satellites-possible-voxl2-board-emi

## Reply by ROBERT JUDD · 2025-04-07 15:03:32 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Have you made any progress with this yet? Please let me know if/how I can help.

## Reply by Alex Kushleyev (ModalAI staff) · 2025-04-08 18:58:23 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , thank you for your patience. A few updates.

Please note that this is an effort to come up with a short term workaround the issues with GNSS interference, so it may not be the most elegant solution.

- I have used a mast to offset the GNSS receiver upwards in order to get it further from the interference source(s). The mast is about 4.25 inches (11cm) tall. It is made up of a carbon fiber rod and two 3d printed parts.
- Images of the mast attached
- on top of the 3d printed plastic, there is a FR4 disk with a copper layer (on the bottom of the FR4 board, so it is not shown in the image)
- the 6-wire cable was extended to reach to the top of the mast (the extension is not very clean, i will make a better cable soon and test again).
- the mast was attached on top of the roll cage, but also tested with the mast sitting on top of the location in the back, where the GNSS receiver was originally located (while elevated from that location by the mast)
- in order to compare know what SNR to expect, i hooked up a Ublox EVK to my laptop so i can use Ucenter2 to plot the signal strengths while the EVK is placed about 2ft from the drone. 
- we now have a simple python script that can grab the satellite info from px4 (satellite info needs to be enabled via px4 param, see script), so that the bar graph of voxl2 gps SNRs can be running live on a laptop that is also running ucenter. 

Results
- using the mast with the FR4 (with copper) shield achieves SNRs that are very close to the SNRs from EVK
- Running Commando 8 transmitter in close proximity (less than 5ft, the closer the worse, especially TX antenna above the gps antenna) to the gps receiver can degrade SNR up to 10dB !! This can happen if you are standing right next to the drone before take off. It looks like the RC TX is saturating the GNSS receiver, even though the RC is in the 900mhz band.
- the shield on top of the mast (FR4+copper, but i also tried thin carbon fiber) helps increase SNR by around 3-6dB. Also, it may be good to add some copper tape (with non-conductive adhesive) to cover up the back of the GNSS receiver in order to prevent noise being injected into the short trace connecting the antenna and the GNSS receiver. I will try that, need to buy some copper tape. Using copper tape can reduce the mass of the top of the mast (the FR4 itself does nothing for shielding, since it's not conductive)
- I found better results when the 6-conductor cable is tightly wrapped around the mast as opposed to hanging loose , I may consider trying a shielded cable, perhaps there is some noise that can be picked up by the conductors as well (TBD)
- I would like to flight test this configuration (TBD, maybe Weds or Thurs). It is important to make sure the mast is stable and does not vibrate.
- the Lepton cable did not seem to matter, whether it was plugged in or not, i did not see any change when using the mast and unplugging the lepton cable in real-time.
- wifi dongle did not affect the gps signal, especially since it's normally mounted underneath the drone

Conclusion:
- based on these numbers from a non-moving test, the satellite signal strength looked very good (can't do much better than that) and I got a DGPS lock (i guess SBAS)

Other Thoughts
- using a GNSS receiver with a larger antenna, can help a bit more, but it will also increase the weight on top of the mast

You could try to replicate this type of testing and use a second (reference) gps receiver so you can compare the SNR to a (close to) ideal gps receiver without any interference. The reason for this is that the satellite SNR vary significantly as their position changes (over time), so a reference will allow you to always see what the SNR for each satellite (roughly) should be.

Images and plots:
![starling2_max_gps_mast_mod_and_evk.jpg](https://forum.modalai.com/assets/uploads/files/1744137982500-starling2_max_gps_mast_mod_and_evk.jpg) 

SNR plot. Left: Starling 2 Max (plot using attached script), Right: Ublox EVK (using Ucenter2)
![starling2_max_gps_mast_snr.png](https://forum.modalai.com/assets/uploads/files/1744138083097-starling2_max_gps_mast_snr-resized.png) 

Mast
![gps_mast1.jpg](https://forum.modalai.com/assets/uploads/files/1744138132556-gps_mast1.jpg) 
![gps_mast2.jpg](https://forum.modalai.com/assets/uploads/files/1744138137027-gps_mast2.jpg) 

GPS SNR Plot script (run on voxl and then open the browser using <voxl-ip>:8050 . Install the dependencies (see script) and run using `python3 gps_satellite_info.py`
```
import subprocess
import time
import numpy as np
import argparse
import ast
import plotly.graph_objects as go

from dash import Dash, dcc, html, Input, Output

# pip3 install plotly typing-extensions dash --upgrade

parser = argparse.ArgumentParser(description='GPS Test Script')
args = parser.parse_args()

# to enable publishing of satellite info, set px4 param (and restart px4):
#   param set GPS_SAT_INFO 1

#px4-listener satellite_info
#
#TOPIC: satellite_info
# satellite_info
#    timestamp: 2611309684 (0.868903 seconds ago)
#    count: 13
#    svid: [5, 8, 10, 13, 15, 18, 23, 24, 27, 32, 131, 133, 138, 0, 0, 0, 0, 0, 0, 0]
#    used: [1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]
#    elevation: [11, 1, 30, 11, 47, 64, 68, 59, 13, 15, 27, 19, 33, 0, 0, 0, 0, 0, 0, 0]
#    azimuth: [74, 232, 213, 36, 37, 138, 241, 85, 209, 172, 165, 173, 158, 0, 0, 0, 0, 0, 0, 0]
#    snr: [0, 0, 26, 17, 32, 14, 29, 30, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
#    prn: [5, 8, 10, 13, 15, 18, 23, 24, 27, 32, 131, 133, 138, 0, 0, 0, 0, 0, 0, 0]

def get_px4_satellite_info():
    cmd = 'px4-listener satellite_info'

    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

    timestamp = None
    count  = 0
    svid   = None
    used   = None
    elev   = None
    azim   = None
    snr    = None
    prn    = None

    for line in p.stdout.readlines():
        l=str(line)
        #print(l)
        if 'timestamp' in l:
            ll = l.split(':')[1].split()[0]
            timestamp = float(ll)
        if 'count' in l:
            ll = l.split(':')[-1][:-3]
            count = int(ll)
        if 'svid' in l:
            ll = l.split(':')[-1][:-3]
            svid = np.array(ast.literal_eval(ll.strip()))
        if 'used' in l:
            ll = l.split(':')[-1][:-3]
            used = np.array(ast.literal_eval(ll.strip()))
        if 'snr' in l:
            ll = l.split(':')[-1][:-3]
            snr = np.array(ast.literal_eval(ll.strip()))
        if 'prn' in l:
            ll = l.split(':')[-1][:-3]
            prn = np.array(ast.literal_eval(ll.strip()))

        retval = p.wait()

    return (timestamp, count, svid, used, snr, prn)

app = Dash(__name__)

app.layout = html.Div([
    html.H4('VOXL GPS Signal Strength '),
    html.Div(id='output'),
    dcc.Interval(id='interval-component', interval=1000, n_intervals=0),
])

@app.callback(
    Output("output", "children"),
    Input('interval-component', 'n_intervals'))
def display_graph(render_option):
    (timestamp, count, svid, used, snr, prn) = get_px4_satellite_info()
    
    idx_valid = np.logical_and(svid != 0, svid != 255)
    svid_plot = svid[idx_valid]
    svids = [str(x) for x in svid_plot]
    snrs  = snr[idx_valid]
    print('svid : ', svids)
    print('snr  : ', snrs)
    
    fig = go.Figure()
    fig.add_trace(go.Bar(x=svids, y=snrs, text=snrs, textposition='outside'))
    fig.update_traces(marker_color='rgb(100,202,150)', marker_line_color='rgb(8,48,107)',marker_line_width=1.5, opacity=0.6)
    fig.update_layout( yaxis=dict(range=[0, 50], title=dict(text='dB') ) )
    fig.update_layout( xaxis=dict(title=dict(text='svid') ) )
    fig.update_layout(height=800)
    return dcc.Graph(figure=fig)

app.run(debug=True, host='0.0.0.0')

```

## Reply by ROBERT JUDD · 2025-04-09 17:54:58 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Very interesting, thanks for the update. 

Regarding the EMI from the Commando 8 transmitter, I wonder what would happen if you removed the Ghost Atto receiver and antenna from the drone. Maybe somehow they are involved in the EMI. 

Noise from the 6-conductor cable is also interesting, I wonder if passing them through an RF shield would make a difference. 

Please let me know the results of your test flight. If it's successful I may do something similar and repeat your testing. 

What ideas do you and your team have for a long term solution? Do you have access to something like SignalHound equipment to search for the source of EMI? 

Thanks
Bob

## Reply by Alex Kushleyev (ModalAI staff) · 2025-04-09 18:35:17 UTC (in reply to ROBERT JUDD)

@ROBERT-JUDD , the behavior of the RC receiver on the drone as is as follows:
- when the Transmitter (Commando 8 ) is off, the receiver does not send (broadcast) anything
- when the Transmitter is on, the receiver sends back telemetry packets (even if there are no telemetry updates from the PX4 side).

However, the GPS signal degradation seems to be related with proximity of the RC TX when the TX is on. The RC RX antenna is already located at the bottom of the drone and it should be OK, but there could also be some sort of interference, so possibly moving the RC RX antenna to the landing gear could resolve that (if it's an issue, TBD).

I don't personally have a spektrum analyzer for EMI scanning, but our team does and this work is also happening in parallel. 

Will keep you posted!

Alex

## Reply by ROBERT JUDD · 2025-04-15 15:43:17 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Did you have a test flight yet? How did the GPS perform while flying? 

Thanks

## Reply by Alex Kushleyev (ModalAI staff) · 2025-04-18 04:56:35 UTC (in reply to ROBERT JUDD)

Hello @ROBERT-JUDD ,

Apologies for the delay. I have been out of office and did not quite perform the testing I wanted last week. I am returning to testing this on Monday, will provide an update then.

Alex

## Reply by Alex Kushleyev (ModalAI staff) · 2025-04-25 04:07:58 UTC (in reply to Alex Kushleyev)

Hello @ROBERT-JUDD ,

I was finally able to do basic flight testing with the GPS mast. I was able to observe 23-26 satellites reported by PX4. In my initial test I was not logging the SNRs in px4 directly, but i will repeat the test again (with SNRs logged) and double check that SNRs were high throughout the flight. I did not see number of satellites drop between non-flying and flying modes. 

I will continue testing more actively in the next few days. Meanwhile, If you want to get your Starling Max flying with better GPS, I would recommend that you try to replicate my results using the mods from images i posted above. The only changes i made from those images was just orient the slot in the FR4 board towards the front of the vehicle so that i could align the GPS module in the same orientation as the original one. 

Please note that when you move the GPS unit (which also has the magnetometer), the mag needs to be re-calibrated. Additionally EKF2 GPS POS px4 param should be updated if the location of GPS module changes. It looks like these offsets are just defaults (0) on the Starling 2 Max, which may be OK, considering the offset is pretty small.

Please let me know if you need any additional details to help you get started with the mods.

Alex

## Reply by ROBERT JUDD · 2025-04-28 17:38:11 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Thanks for the update. I had to pivot away from this project and plan to revisit it when ModalAI has a long term fix. Have your colleagues made any progress identifying the source of the EMI? 

Thanks again for your help.

## Reply by ROBERT JUDD · 2025-06-02 19:30:15 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Circling back on this problem now, has your team identified the source of the EMI? Can I expect a long term fix that will allow me to fly my Starling 2 Max? 

Thanks

## Reply by CJoseph · 2025-07-07 20:24:43 UTC (in reply to Alex Kushleyev)

Hey @Alex-Kushleyev,

I'm attempting this short term fix for a project I'm working on and I'd like to keep in line with recommended practices.

Can you kindly provide the .stl file used for the 3DP mount and also inform me of the material you used to 3DP?

Thanks in advance!
Christopher Joseph.

## Reply by ROBERT JUDD · 2025-07-09 16:47:31 UTC (in reply to CJoseph)

@CJoseph said in [Starling 2 Max no GPS data](/post/22901):
> Hey @Alex-Kushleyev,
> 
> I'm attempting this short term fix for a project I'm working on and I'd like to keep in line with recommended practices.
> 
> Can you kindly provide the .stl file used for the 3DP mount and also inform me of the material you used to 3DP?
> 
> Thanks in advance!
> Christopher Joseph.

@Alex-Kushleyev: I'm also planning to repeat your modification, and the .stl file would be very helpful to me as well. I tried a different modification yesterday but it didn't work, so copying yours is my next step. 

Thanks for your help. 
Bob Judd

## Reply by Sam Kiley · 2025-09-25 19:36:09 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev 
Was the source of this noise ever found?
My solution with the starlings was to just use the F9P ultralight, but those are also very expensive. They must just work well because of the L2 support, since L1 is almost fully being jammed by voxl2.

Thanks

## Reply by DavidTorres · 2025-10-05 19:30:44 UTC (in reply to Sam Kiley)

Hello all,

I have a Starling 2, and I was experiencing the same issue where the GPS would not get a fix. After some debugging, here’s how I managed to “solve” it.

The root cause seems to be EMI. When placing the receiver as shown in the first image, I was able to reach ~40 dB signal strength, compared to only ~8 dB in the original location. I understand this is a development drone and that the design prioritizes robustness, so GPS placement is not straightforward.
![WhatsApp Image 2025-10-05 at 21.05.47.jpeg](https://forum.modalai.com/assets/uploads/files/1759691401649-whatsapp-image-2025-10-05-at-21.05.47-resized.jpeg) 

I tried many of the suggestions mentioned in this and related threads, but the only two approaches that consistently improved signal strength enough to achieve a fix were:

* Increasing the distance between the GPS receiver and the rest of the electronics (some manufacturers recommend >10 cm).
* Shielding the receiver.

After experimenting with several designs, the setup shown below gave me ~30 dB signal strength while still allowing WiFi functionality, adequate cooling, and a compact profile that won’t break in case of a crash. For shielding, I used copper foil and Kapton tape (as an extra precaution).

With this arrangement, I can now get a fix quickly and achieve about ~1.5 m HDOP.
![WhatsApp Image 2025-10-05 at 21.20.38.jpeg](https://forum.modalai.com/assets/uploads/files/1759692102493-whatsapp-image-2025-10-05-at-21.20.38-resized.jpeg) ![WhatsApp Image 2025-10-05 at 21.07.26 (1).jpeg](https://forum.modalai.com/assets/uploads/files/1759692102747-whatsapp-image-2025-10-05-at-21.07.26-1-resized.jpeg) ![WhatsApp Image 2025-10-05 at 21.07.26.jpeg](https://forum.modalai.com/assets/uploads/files/1759692102992-whatsapp-image-2025-10-05-at-21.07.26-resized.jpeg) 

I’m sharing the STL file here in case anyone else finds it useful. Hopefully it helps others experiencing the same issue!
https://cad.onshape.com/documents/09d5e2f9cd88026c26cc7f0f/w/477eee1375596be3c9e530ed/e/1fbd7ed82367117110cba263

The only downside is that the design isn’t exactly pretty—but I’m sure the ModalAI team will come up with a more elegant solution soon :)

https://forum.modalai.com/topic/3879/gps-not-working-for-starling-2-max
https://forum.modalai.com/topic/3912/problem-acquiring-gps-satellites-possible-voxl2-board-emi

## Reply by Sam Kiley · 2025-10-15 23:46:41 UTC (in reply to Sam Kiley)

@Sam-Kiley 
Correction on my statement above. Holybro Ultralight F9P seem to perform better due to their antenna setup (RCP Helical Antenna) rather than L2. L2 isn't fed into the NMEA like I originally thought.

## Reply by Alex Kushleyev (ModalAI staff) · 2026-03-18 19:22:52 UTC (in reply to Sam Kiley)

we just posted an update on this topic, please see https://forum.modalai.com/topic/5116/gnss-emi-mitigation-guidelines
