OpenStreetMap logo OpenStreetMap

Simple F9P (rtk) howto

Posted by grin on 14 November 2021 in English. Last updated on 21 November 2021.

Simple uBlox F9P howto

I got a question about specific usage of the F9P from zero to hero, so, here’s some summary from the beginning.

It is simple and almost hassle-free.

I got my board from uBlox directly but I guess it works the same with all the F9P boards. The board came with an external antenna (if you don’t have that you definitely have to find a good one, makes a lot of difference), and an USB-B cable for power.

As for the hardware, you need:

  • power source; I am using a 10 Ah powerbank which is enough for 10+ hours (probably even more)
  • a box, to put the board into, and preferably stable within, either by screws or some foamy stuff. The connectors are said to be sensitive, so try to find a way to relieve any stress on them.
  • for the external antenna you should find a way to keep it at the top seeing the satellites. My antenna has a strong magnet and I got a metal plate so I usually put the antenna outside of the top of my backpack sticking to the metal plate inside.
  • You need a mobile phone with bluetooth. Preferably Android, since I can’t help with iAmrich models. (Theoretically you could use a laptop but, uh.)

The board does not really need any setup, but there are freely available windows® programs turning the internal knobs. Since the board came with Bluetooth enabled I didn’t need to fiddle with settings (but I’m a fiddly type, so I have, but you don’t have to).

For the phone you need an app which can

  • connect to the board by bluetooth
  • able to retrieve an NTRIP stream from the network (about that later)
  • can send the stream to the board
  • can retrieve the NMEA log from the board
  • and preferably can provide mock locations for the phone.

There are two free apps available at the moment I am aware of:

  • Lefebure NTRIP client is an older, non open source program which works quite well but has the nasty habit of disconnecting and never reconnecting
  • Bluetooth GNSS is an open source program which shows a bit less logs but way more reliable, and the author is more responsive. I suggest using that one.

Also you need continuous internet connection on your mobile to get realtime position. (In fact you can do it offline by recording the raw GPS stream and later use correction with NTRIP but that’s way beyond this howto.)

You need an NTRIP stream

You need an NTRIP stream, which is an internet service sending you atmospherical corrections from a Base station through a continuous TCP stream. There are countless services selling you that for a lot of dineros, but there are some nice people providing freely available streams.

I am using EUREF-IP, which has a perpetually dying chain of webpages, right now it seems to be available through, but may be accessed through or or else. You have to request access to the streams on this page and they usually respond within days. You need a bit of luck to find the streams for this specific login, I am using TCP/80 as a server with the login they accepted.

As StephaneP mentioned there may be a lot of other freely available streams, or community provided streams - generally you need a base station as close to you as possible. It may work from 300 km but way better within 10 km. Search… (Check the maps on

Enable mock locations for Android

To let whichever app to see/use your location you have to enable Developer options on your Android (it needs no root or modification, just a few clicking, google it), then enable your NTRIP app to provide Mock locations.
This will let you to use any of the usual apps, like OsmAnd.


At this point you are ready. Power up the board, go outside to see some satellites, then fill out the data in the app (stream server and port, login name and password, and the NTRIP station you chose). Then connect to bluetooth of the board, and the app shall start retrieving NTRIP from the internet, send to the board, and get GPS data. You will probably see a DGPS fix pretty soon, and if your NTRIP stream fits your atmosphere and you stay put you will have FloatRTK or real RTK fix within minutes. And the location will be seen in OsmAnd or navigation or logger or else.

You go and start mapping.

At the end, you stop track recording, then disconnect the app from bluetooth then disconnect power from the board. Then you process and upload to OSM. :-)

[Update]: It is usually useful to request your NTRIP app to log the GPS stream (usully NMEA), because it may contain more precise information about the fix type, which help you later when you are mapping. JOSM has nice setting to display GPS tracks with precision circle showing how precise the GPS unit thinks the measurement was. It is usually reliable, but the more money you pay for something the more reliable it is, and since F9P is a midrange chip it sometimes make mistakes; I have seen 1-2 meters error when moving but for non-moving measurements I haven’t seen any errors so far.


Comment from Marcos Dione on 15 November 2021 at 19:11

Any chances of pictures of the final setup? schematics? Links to the products?

Comment from grin on 15 November 2021 at 19:32

@Marcos I am not sure what you mean. The schematics is “plug in the usb power, connect the antenna plug and start walking”.

power bank —usb—[BOARD]====external antenna

I am extremely incapable of doing hardware, I was the one and only kid around who actually succeeded burning through a circuit board with a soldering iron. ;-) [Not on purpose.] The above config needs no intervention, apart from the box, where I was similarly careless so it’s actually thrown into a 10x8 cm plastic box with some sponge remnants and two holes; I wouldn’t dare to share it’s image. (=You should do what I say and not what I do.)

My product is C099-F9P-1 board but I guess any F9P based board will do.

Comment from Marcos Dione on 15 November 2021 at 20:28

Ah, I was only finding on their site the F9P module and was wondering abut soldering :)

Comment from StephaneP on 16 November 2021 at 09:17

Hi, If you want to build your own Rover, there is some documentation (in french) here :

Or you can buy some ready to use rovers from company like Sparkfun (RTK Surveyor, RTK Express).

I have build my own “dirty” logger, based on this work :

Comment from kucai on 17 November 2021 at 02:41

Interesting. The price is a bit steep for a developing country, but the bigger obstacle is getting available local NTRIP stream. Anybody got any idea if positions using averaged dual band gps phones (example Mi 8 or newer) can approach the decimeter level comparable to this board?

Comment from StephaneP on 17 November 2021 at 06:45


Anybody got any idea if positions using averaged dual band gps phones (example Mi 8 or newer) can approach the decimeter level comparable to this board?

smartphones usually have a bad gnss antenna. You can look at this articles:

Comment from grin on 17 November 2021 at 12:02

@kucai: the price is indeed steep if you compare to a phone; if you compare to a professional RTK GPS ($15000) it’s not that bad. :-)

I would say you won’t be able to use a phone, first because it has a really bad antenna and second because you probably won’t get raw GPS data from the hardware. Some models may let you, but I’d guess most won’t. Also I haven’t found any free and working app to actually make something useful even if there was data available.

You can create a base station, costs a bit more, and it will cover about 25-70 km with more or less usable fix quality. StephaneP have linked some webpage for one based on the same F9P chipset.

Comment from Marcos Dione on 18 November 2021 at 07:15

@StephaneP: have you read anything about enhancing phones’ GPS by attaching external antennas?

Comment from StephaneP on 18 November 2021 at 21:49

@Marcos Dione I don’t know any phone with a connector for an external antenna. The only solution I know is using an external bluetooth receiver.

Log in to leave a comment