Problem acquiring GPS satellites (possible voxl2 board EMI?)
-
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.
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.
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!
-
-
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.
-
@James-Strawson
Thank you for the update.We do actually have a lepton populated in the sensor socket, but will disable it for now.
-
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?
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 |
-
@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