I’ve been using the RAK12500 for quite a while now and regularly plot it on a map.
My code waits for GNS Fix Ok, so i’m assuming it’s than within the parameters defined by the device.
However, when i do this fix every 5 minutes, the dots on the map can easily be 50 meters apart.
I’m wondering why that is. I always thought GPS fixes were 3m accurate.
I’ve looked at the setting the gps position accuracy and although this has an effect, i’m not able to get this to 3m or so. At around 10m accuracy it just doesn’t get more accurate.
I’m guessing that this is just how it is, but am surprised to see this variance, and wondering how i can improve this?
I’m doing geofencing with the data, and having a 50m difference leads to issues for my application.
GNSS Fix Ok just tells you that it has a fix, but not the accuracy. You can get a fix with 4 satellites already, but the accuracy is very poor. In this case hdop will be a high value of 4 or 5.
You can let the GNSS module continue to search until it has more satellites and hdop will get better.
So, the ublox data sheet says that the value should be divided by 100, so when i have it at 300, then it’s 3.00.
I asked somewhere else (more GPS related channel) and they said it might be reflections of the GPS signal of buildings and so on. So, i moved the tracker out to a more open space and the dots on my map are now much more consolidated.
So, this was in the end a reception issue. Makes me wonder how important placement of the antenna is in the enclosure that I have.
Nothing wrong with the RAK12500 though! All works as expected!
I also have the RAK12500 and use the PVT message to deliver position at 1Hz. From a warm start I usually get within 10 metre of ground truth within the first 10 seconds, and that’s indoors under a metal roof. It’s a very impressive bit of kit.
I have replaced the standard GPS antenna with this one. It’s a bit expensive, but it physically suits the rest of what I’m doing. I suspect that the antenna might be a contributing factor.
I currently use IO2 to turn ‘off’ the GPS when my device is asleep. Is that what you’re also doing?
btw - i’ve also started trying some of the powersave modes. the 1hz aggressive profile is quite good. It depends on how often you need a fix of course, but it’s a good consideration if you need fixes quite often. My ‘fix time’ has gone to 1s or less because it just keeps track as it goes along.
I’ve been doing loads of testing here as well, my conclusion at the moment is that with GNSSFixOk and HDOP checks, you get good accuracy. But i’ve also noticed that heat simply makes it less accurate.
I have great grouping in the morning/evening when it’s cooler, but now (here in the UK) with the sun during the afternoon, it simply becomes quite bad.
For reduction of power consumption, I power up the device, then check every 2.5 seconds for the status from the GNSS chip, inbetween the MCU sleeps.
Setup of the used satellites ==> line 76
Check if number of satellites has increased ==> line 196
Check if accuracy requirements are fullfilled and number of satellites didn’t increase for 4 times ==> line 206
I will publish the whole project once I am finished with it.
Regarding the temperature, I don’t see much influence, but that might be because of my location.
Measured temperature on my outdoor air quality sensor, directly exposed to tropical sun:
I think my code is roughly the same already. I’m using the same library and also using I2C. I do a g_GNSS.factoryReset(); in setup() because i’ve seen some values remain. You might have set a setting somewhere that we don’t have, like the dynamic model. I’ve got dynamic model on pedestrian.
I do not check nr of satelites, but just the HDOP value which i can configure.I’ve not even tried it below 2.5 but can do that.
You do use setMeasurementRate() which i have not played with, so will try that as well
As for the temperature, i need to figure that out. So i’ll take a hairdriver to the device to see if that makes a difference. If it is really the heat, then is it the antenna or the pcb that’s causing issues with heat. Need to figure that out
(1) is the older one, its sensitivity is lower, takes longer to get a fix
(2) is the latest one, higher sensitivity, faster location fix. But it is very sensitive to surrounding RF noise. You might check how the cable is routed inside the enclosure and avoid areas like DC/DC converter on the Base Board and the Core module (RF and BLE).
Is there a specsheet for these antenna’s? I’ve been wondering what the difference was between them.
Your timing couldn’t be better. I’ve just put together a tracker with nr 2 and not getting a fix at all. I came to the conclusion that it must be antenna related and have just routed the cable slightly different.
Will experiment a bit and also see if this makes a difference on accuracy.
I’m wondering @beegee
Does the LoRa Antenna of the RAK4630 also suffer from interference when it’s close?
I’ve got the GPS antenna right next to the PCB and i’ve now routed the cable differently and i do get fixes. Obviously this means the cable/antenna should be further away, but if i change that then the PCB goes closer to the lora antenna.
Wondering if due to the different frequency the LoRa antenna is less effected?
Out of curiousity… what makes this new antenna so much more sensative then the old one? And is there a way to check for this with software?
I’m building an enclosure, and of course i want to do that best as possible. At the moment i’ve already adjusted by making the GPS antenna further away from the PCB. When i didn’t have that, i could re-route the cable and it helped, but how do i know that my old design is better than my new design?
I never compared the two antennas directly and the datasheet of the old one is not really good.
In the R&D team they made some tests with an application from u-blox. I just tried it, it seems to give really good information about the performance of the antenna/u-blox chip.
It reads data from a serial port, so you have to forward the data from the RAK12500 to the USB of the Base Board.