Can't get GPS fix outdoors

Posted on
  • What I have done so far:

    • Updated all apps (including Bootloader)
    • Installed/Uninstalled GPS Info app
    • Flashed firmware

    Despite all that GPS Info app still states "0 satelites". Even after an hour long walk away from tall buildings.

    To debug I used following code:

    Bangle.setGPSPower(1);
    
    Bangle.on('GPS-raw', function(gps) {
        print(gps);
    });
    

    Output is:


    | |_ ___ ___ _ ||___ ___
    | |_ -| . | _| | | | | . |
    |
    |_| || |_|||_|_|

         |_| espruino.com
    

    2v05.1 (c) 2019 G.Williams

    ÿ$GNTXT,01,01,02,u-blox AG - http://www.u-blox.com*4E
    $GNTXT,01,01,02,HW UBX-M8130 00080000*61
    $GNTXT,01,01,02,ROM CORE 3.01 (107888)*2B
    $GNTXT,01,01,02,FWVER=SPG 3.01*46
    $GNTXT,01,01,02,PROTVER=18.00*11
    $GNTXT,01,01,02,GPS;GLO;BDS*06
    $GNTXT,01,01,02,QZSS*58
    $GNTXT,01,01,02,GNSS OTP=GPS;BDS*26
    $GNTXT,01,01,02,LLC=FFFFFFFF-FFFFFFED-FF­FFFFFF-FFFFFFBF-FFFFFFF9*57
    $GNTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*3E
    $GNTXT,01,01,02,ANTSTATUS=DONTKNOW*2D
    $GNTXT,01,01,02,PF=3FB*4F
    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A
    $GNTXT,01,01,02,ANTSTATUS=INIT*3B
    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A
    $GNTXT,01,01,02,ANTSTATUS=OK*25
    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A

    Afterwards I updated the code to print GPS data every 5 seconds:

    Bangle.setGPSPower(1);
    
    Bangle.on('GPS-raw', function(gps) {
      if (Date().getSeconds() % 5 === 0){
        print(gps);
      }
    });
    

    And noticed a repeating block of values:

    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A

    I have attached a screenshot from a phone showing satellite coverage if it's of any help.


    1 Attachment

    • Screenshot_20200422-175817.jpg
  • Hi - and you definitely were outside for that time with the GPS app running?

    If the app isn't running then the GPS won't be on, so none of that time would help with getting a fix.

    edit: also just noticed $GNTXT,01,01,02,ANTSTATUS=OK*25 which looks promising. GPS info dump perfectly matches that of a Bangle.js that hasn't got a GPS lock yet

  • Wed 2020.04.22

    While taking a break from evaporating memory discovery ;-) this post caught my eye as I hadn't played with GPS in over a year, and hadn't attempted on a Bangle, yet. Now mine is a Beta KickStarter,

    >process.env
    ={
      VERSION: "2v04.218",
      GIT_COMMIT: "5439331a",
      BOARD: "BANGLEJS",
      FLASH: 524288, RAM: 65536,
    
    >process.memory()
    ={ free: 2035, usage: 65, total: 2100, history: 31,
    



    After reviewing my post from a year ago, contains links and images:

    Programming the Ublox NEO-6M GPS

    plucked out the spec on data packets:

    http://www.gpsinformation.org/dale/nmea.­htm#RMC



    Here is what I did while sitting at my kitchen table fifteen feet from my sliding patio door/window:

    Used verbatim the second code block provided by @Martin

    Bangle.setGPSPower(1);
    Bangle.on('GPS-raw', function(gps) {
      if (Date().getSeconds() % 5 === 0){
        print(gps);
      }
    });
    



    As the GPS has never been activated before, the return data is null as expected:

    $GNTXT,01,01,02,ANTSTATUS=OK*25
    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A
    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A
    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    



    After two to five minutes, the first satellite was detected and packet GNRMC starts to render the first [ 161332.70 ] detected:

    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,30*73
    $GNGLL,,,,,,V,N*7A
    $GNRMC,161332.70,V,,,,,,,,,,N*60
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,161332.70,,,,,0,00,99.99,,,,,,*7B­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,30*73
    $GNGLL,,,,,161332.70,V,N*57
    $GNRMC,161333.00,V,,,,,,,,,,N*66
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,161333.00,,,,,0,00,99.99,,,,,,*7D­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,30*73
    $GNGLL,,,,,161333.00,V,N*51
    $GNRMC,161334.00,V,,,,,,,,,,N*61
    



    And after five minutes the date [ 220420 ] 22nd of April, 2020 popped up:

    $GNGGA,161342.00,,,,,0,00,99.99,,,,,,*7B­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,31*72
    $GNGLL,,,,,161342.00,V,N*57
    $GNRMC,161343.00,V,,,,,,,,,,N*61
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,161343.00,,,,,0,00,99.99,,,,,,*7A­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,31*72
    $GNGLL,,,,,161343.00,V,N*56
    $GNRMC,161344.00,V,,,,,,,,,,N*66
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,161344.00,,,,,0,00,99.99,,,,,,*7D­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,32*71
    $GNGLL,,,,,161344.00,V,N*51
    $GNRMC,161345.00,V,,,,,,,220420,,,N*61
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,161345.00,,,,,0,00,99.99,,,,,,*7C­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,01,08,,,32*71
    $GNGLL,,,,,161345.00,V,N*50
    $GNRMC,161346.00,V,,,,,,,220420,,,N*62
    $GNVTG,,,,,,,,,N*2E
    



    After a good ten minutes I started to notice data populate GPGSV and slot three (option base 1) of that data packet now shows three sattelites detected, and five seconds after that, ten:

    $GNGGA,163756.00,,,,,0,00,99.99,,,,,,*78­
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,03,04,,,19,09,,,27,11,,,22*7A­
    $GNGLL,,,,,163756.00,V,N*54
    $GNRMC,163801.00,V,,,,,,,220420,,,N*68
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,163801.00,,,,,0,03,4.49,,,,,,*4F
    $GNGSA,A,1,11,04,09,,,,,,,,,,4.60,4.49,1­.00*19
    $GPGSV,3,1,10,01,03,153,,04,17,179,18,05­,00,301,,07,69,312,*74
    $GPGSV,3,2,10,08,68,090,,09,39,209,26,11­,37,141,22,16,14,066,*78
    $GPGSV,3,3,10,27,40,051,,28,14,257,*72
    $GNGLL,,,,,163801.00,V,N*59
    $GNRMC,163802.00,V,,,,,,,220420,,,N*6B
    $GNRMC,163806.00,V,,,,,,,220420,,,N*6F
    



    Would it make sense to attempt to flash the older firmware, just to allow @Martin a sanity test, as that version will not load current widgets or apps? (still waiting my device to flash my Bangle)

  • Yes, @Gordon, the app was running. Just to be sure I went outside again for half an hour with the app running. Still the "0 satellites" message.

    Great idea, @Robin, do You know where I can find an older version short of checking it out and building myself?

  • @Martin, I am not recommending reflashing just yet. I've not been immersed in Bangle ongoings for over a month, and it is apparent that many changes with the bootloader and apps have been underway. Has removing all the apps, and just booting been tried yet?

    For future reference, older firmware may be found by:

    http://www.espruino.com/Bangle.js
    Search for heading 'Firmware Updates'
    http://www.espruino.com/Bangle.js#firmwa­re-updates
    Search for 'Espruino Site'
    https://www.espruino.com/Download#bangle­js
    Select current build from DDL, or rollover link to get at parent destination
    https://www.espruino.com/binaries/travis­/master/

    The web page orders by a build reference value rather than by date.

  • I removed all apps and did a reset without loading any code.
    No luck, still no fix after 30 minutes outside.
    I'll try flashing older firmware in the evening.

  • I have the 2v05.1, and GPS still works.
    Went for a walk last afternoon, and the track data shows where I was looking for the path circling in one spot. :)

    One thing to note: The bangle has to download GPS data (almanac, all kinds of info) before it can determine your position via GPS itself. That does take some time.
    In my case the first ~500m of my walk is missing. Pretty open sky, only single level family houses around.

    In comparison, your phone can download GPS info via internet, and has all kinds of helping info like mobile cell towers, wifi hotspots, and of course your last known location. So usually it can get a pretty good location guess in seconds.

    So just leaving the Bangle with GPS app running outside with a good view of sky should get the required GPS data.

  • The bangle has to download GPS data (almanac, all kinds of info) before it can determine your position via GPS itself.

    Is that data stored for the next GPS fix? If yes, when will it get deleted?

  • Is that data stored for the next GPS fix? If yes, when will it get deleted?

    AFAIK (an I'm not even close to an expert, and didn't read uBlox's datasheet) the data is stored by the GPS module until it's expired.
    So the next GPS fix will be pretty fast compared to the first one.

  • Would it make sense to attempt to flash the older firmware

    No - this'll be squarely related to the GPS itself. At this level you're talking right to the hardware.

    Please could you try just leaving the Bangle on its own, with the GPS app on, ideally with the 'N' symbol facing towards the sky? It's possible that if you're moving it around and there are buildings to the side of you it's having a lot of trouble.

    Otherwise it may be there's an issue with the GPS radio but it's worth trying some other stuff first

    Is that data stored for the next GPS fix? If yes, when will it get deleted?

    Yes - I could be wrong but I believe it may be until power is lost. At least getting a GPS fix after losing power takes far, far longer.

  • Yes - I could be wrong but I believe it may be until power is lost. At least getting a GPS fix after losing power takes far, far longer.

    Ah okay, so this is handled by the GPS firmware then and not by Espruino?

  • Yes, absolutely - the GPS only sends data to Espruino. While it could configure the GPS, right now Espruino doesn't.

  • @Gordon I did what You asked. Line of sight is good, watch with the 'N' symbol facing towards the sky. No change. Even after 50 minutes the output is still as follows:

    $GNRMC,,V,,,,,,,,,,N*4D
    $GNVTG,,,,,,,,,N*2E
    $GNGGA,,,,,,0,00,99.99,,,,,,*56
    $GNGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99­*2E
    $GPGSV,1,1,00*79
    $GNGLL,,,,,,V,N*7A
    

    Otherwise it may be there's an issue with the GPS radio but it's worth trying some other stuff first

    Anything else I can try?


    3 Attachments

    • IMG_20200423_144437.jpg
    • IMG_20200423_144444.jpg
    • IMG_20200423_143836.jpg
  • Wow, thanks. Yes, I think that settles it - definitely should have got a fix!

    Do you think you could send it back to me and I'll get another one posted out to you?

  • Sure, no problem. Can we continue this discussion privately?

  • Thr 2020.04.23

    post #3   'Would it make sense to attempt to flash the older firmware'
    post #10   'No - this'll be squarely related to the GPS itself. At this level you're talking right to the hardware.'

    re: 'At this level you're talking right to the hardware'
    Yes totally agree, if using @Martins code block. It isn't clear if that referred to the GPS widget code.

    The point of reflashing was to prove that maybe the antenna (is there anyway to see if the factory botched connecting that?) wasn't connected, as the UBlox is talking to Espruino as we see the formatted data packets. They just don't conatin data. My assumption was the antenna, or the GPS itself. As I have a crippled (can't load apps as I am unable to flash yet) Beta version, that was working without any installs. With all the recent firmware version changes, reflashing to that three month old version would be the final say as to whether a return was necessary, without having to take the watch apart.

  • My assumption was the antenna

    That's a good point. If you're willing to look inside it'd be great if you could follow this video: https://www.espruino.com/Bangle.js+Disas­sembly

    When you take the inner 'puck' out from the watch casing, it should be pretty easy to pull the brown GPS antenna away and see if the little connector is actually pushed in to the PCB. I guess it's possible it just isn't connected.

  • I did both today, in one occasion used an app and in other used the code above. Just to be sure. Both testing cycles lasted 30 minutes or more. Neither produced results.
    I can open the watch and post some pics if needed.

  • @Gordon By that little connector You mean this area? I'm guessing that white residue should not be there?


    1 Attachment

    • IMG_20200423_190541.jpg
  • Wow, thanks for looking. That's really odd. Never seen anything like that (corrosion?), but that sure looks like it's your problem.

    I'll make sure I get a new one out to you early next week

  • hello, sorry to take this topic out again.
    I have only had my Bangle for a few months and hadn't looked into GPs and how to use them yet.
    Gps info, Gps setup and AGPS are freshly installed. Despite a good hour's wait, I still had no GpS fix on each of my attempts, indoors, outdoors, ...
    what were the solutions found for Martin's Bangle?

  • Nevermind, my last attempt seems to have fixed the GPS. Sometimes asking for help solves the problem on its own ^^

  • And you waited for an hour with GPS Info running? Did it show any satellites at all, or even a time?

    You'd need to install AGPS within ~24 hours (depending what option you choose) for it to help with a fix.

    In Martin's case (you can see from the pictures) something had leaked in his watch (either battery or water ingress) and it was completely shot, but that's pretty rare.

  • Actually, right after posting my question here, I tried again, but this time with Speedo, and after a few minutes, after the message that it is trying to find the satellites, it displayed speed.
    I then launched GPS info and found that it was finally showing the information. Ditto with Planetarium.
    The AGPS was loaded since last night already

    yes, indeed, I admit I was a little worried when I saw the photo Martin posted, as well as the lack of results

    patience is always worth
    thank you very much !

  • Great! Glad you got it sorted!

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Can't get GPS fix outdoors

Posted by Avatar for Martin @Martin

Actions