M10 GPS 3D Fix Enhancement - iFlight-RC Europe

M10 GPS 3D Fix Enhancement

Latest UBLOX GPS modules have a feature that's not yet activated from factory but can be unlocked within a couple of minutes. I have an instant 3D GPS fix every time I plug in my battery or let's say within 10-30 seconds, you should get 10 to 20 sats within 2 minutes.

What you need:
- Download Ucenter2 https://www.u-blox.com/en/u-center-2
- Make an account for AssistNow https://www.u-blox.com/en/product/assistnow
- Apply for the AssistNow token (which you'll receive per email)

-

!!!

Work with caution and at your own risk! I'm not responsible for bricked modules!

!!!

-

This enhancement will lock baudrate to 115200 and 10hz update frequency between FC and GPS module. Second part adds an Almanac that tells your GPS what sats it's supposed to see (predicted data) instead of blindly searching for sats.

-

Let's begin!

1. Connect USB cable and battery (for GPS power) and open up the Betaflight Configurator and confirm that the correct UART (Port) is activated for GPS (remember the UART number for later) and select baudrate 115200 if not already selected. (Don't forget cooling for your VTX while the battery is connected !)

2. Go to CLI and enter "serialpassthrough 3 115200". Most iFlight BNFs have the GPS module installed on UART4(-1 to address the serial address) = 3, that's why 3 and not 4.

 

3. Some cryptic stuff should appear, not sure why but it does. If it doesn't, start all over again by disconnecting battery and USB cable, close and open up again the Configurator.

4. Cryptic stuff there? Then close the Betaflight Configurator and open up Ucenter2. Click on "Add device" and select the only STM device available. Leave auto bauding on for now.

5. Click on Device Configuration and then "Import" on the left.

6. Download and select the Configuration file from https://drive.google.com/file/d/1G0_jd9WnVG30PEvGIsJL6wtevVywxZuS/view?usp=share_link

7. Click on Send. Green checkmarks should run down the commands on the right.

8. Since your GPS module is supposed to change baudrate and I'm not sure if during the process everything was successfully stored, we now close the Configuration window and click on "Add Device" again but this time select a manual baudrate of 115200.

9. Your GPS should be connected again. If that's not the case then repeat step 2-4 but and reconnect it. Remember to use the baudrate 115200 instead of auto bauding this time.

10. GPS should be connected again with the status "receiving data". We now repeat step 7 and send all settings again. We close the Device Configuration Window. So far we've setup our GPS to run at 10hz and baudrate 115200.

11. Now there comes the magic. Click on the tool icon and AssistNow Offline.

 12. Click on Default server (it pulls an URL by itself) and copy paste your token from the email you received, then hit Save settings.

13. Select every available checkbox option, leave the rest at the default and click on Download from server. This small file should just take a second. Scroll down and hit Transfer with reset and aiding (Host). 

-

ATTENTION: You'll get 7 days of data but your GPS will also further update the Almanac while flying. You can also select 35 days if you don't regularly fly. Since this is an offline Almanac you'll either need to fly or keep updating it in intervals to enhance the GPS cold start speed.

14. Wait for it to finish. Click on close and select "Flash" this time, then hit Transfer again.

15. Finished. If you want to know what AssistNow is doing, please go and checkout the ublox documentation. Your GPS is now setup with 10hz, 115200 baud rate and has an Almanac installed for instant cold start GPS fix.

Thank me later. 

Back to blog

22 comments

Hello

For al the people where the green check marks not working……..!!!!!!!!!!!

step 2: “serialpassthrough 3 115200” ( wait a little bit till the Alien text message working out) and then CLOSE Betaflight app with the X button. )

The rest of the instruction is perfect !!

THNX for the one that takes the time for al this information !!!!!!!

Moes

not working red triangles

Moes

The 3D Fix Enhancement works as described, but unfortunately some M10 GNSS receivers like the BE-220 (not the BN-220) doesn’t come preconfigured with the correct ubx messages.

according to my understanding, m10 GNSS receivers have specific messages configured that are not described in the betaflight wiki:

https://github.com/martinbudden/betaflight/blob/master/docs/Gps.md

One example:
UBX-NAV-SOL PUB => UBX-NAV-PVT instead

https://content.u-blox.com/sites/default/files/u-blox-M10-ROM-5.10_ReleaseNotes_UBX-22001426.pdf

Would it be possible to dump the u-center 2 configuration of a the working GNSS receiver so that we can apply it to the mentioned BE-220?

mosch

I figured out the token, and I was in fact able to download the almanac as UBX using my browser and the url https://offline-live1.services.u-blox.com/GetOfflineData.ashx?token=XXXXXXXXXXXXXXXXXXXXX;gnss=gps;period=1;resolution=1 (perhaps not the best parameters).
Once I had the GPX I was able to apply it using PyGPSClient. I have no idea if it worked or not though. It also seems like the almanac will eventually be out of date, so unless it’s saving the new satellite information I won’t have any benefit from that.

Patrick Rogers

For people looking for a Mac (and other non Windows) solution I managed to reconfigure my GPS module using PyGPSClient. PyGPSClient is similar to UCenter2, but written in Python so its cross platform.
Once you have it installed (a bit tricky if you’re not familiar with Python software) you can change the refresh rate and baud rate by going to “Options > UBX Configuration”. One problem is that the supplied ucf file isn’t compatible with PyGPSClient, so I had to make a UBX version of it. I put the UBX in dropbox here: https://www.dropbox.com/scl/fi/587fj7err6bnjgt716boh/M10_115200_config.ubx?rlkey=rviry0pbvcrw4uih915w524wv&dl=0
The UBX should do the same thing as the ucf, but YMMV. I wasn’t able to download the almanac (trouble getting a token) but there’s also no ‘AssistNow’ feature in PyGPSClient (I was hoping I could get a ubx from assist now and import it manually, but I don’t even know if that’s possible.
I haven’t flown yet, but I did get a lock on 4 satellites in my house and got a position lock. I would hope that as my unit downloads more sats it saves the almanac in flash, and eventually I’m in the same situation as if I had uploaded the almanac explicitly (but I have no idea if that’s the case).

Patrick Rogers

Leave a comment