PX1122R /F9P + ESP32 + TRIMBLE, TOPCON, John Deere - NTRIP BaseStation ESPrtk project

PX1122R /F9P + ESP32 + TRIMBLE, TOPCON, John Deere .

Basically the PX1122R/F9P is not manufactured to be compatible with TopCon and Trimble devices. Although the PX1122R/F9P fully supports the latest generation satellite system, L1 / L2 band and RTK RTCM3.x format, it will always be inadequate to want it to be compatible with all other brands in the world.

We start to develop “Position Antenna” and “Stream Manager” feature from 2020. Since ESPrtk 3.9.90 we’ve completed the requirements required for this feature.

FULL Size -

It supports the RTCM message generator and injects some special bits into the RTCM RTK stream to work with some TopCon and Trimble devices.

  • Inject RTCM 1005, 1006, 1007, 1008,1032,1033. (Automatic injection and sequencing, automatic MSM packing).
  • RTCM MSM4 message generator (1004 and 1012) for TOPCON / John Deere.
  • The issue of locking the satellite L2 (1004,1012) and setting the variable TADJ = 1 on the RTKLIB .
  • Automatic filtering NMEA, RTCM, UBX, SKYTRAQ.
  • Stream Manager: insert data, remove a message, repeat a message, replace a message with other data, minimize the appearance of a message… and set a speed limit (highest) for Push-Out data.

This will provide PX1122R/F9P scalability for more purposes and allow ESPrtk to integrate features for inserting and injecting some RTCM messages that other brands require.

For TRIMBLE and TOPCON , you need to configure the PX1122R/F9P to output RTCM MSM7 messages in the settings 1005 (Antenna) 1077 (GPS), 1087 (GLONASS). And use a combination of both modes POSITION_ANTEANNA (auto insert) and STREAM_MANAGER (raw data injection) in ESPrtk .

ESPrtk internet NTRIP model transmit .

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

Darren Lobb’s BaseStation (ESPrtk + F9P) system on with several months of continuous uptime without problems.

Step 0 : Preparing .

NTRIP account.

To use NTRIP service, users need to have an NTRIP account, if not, Click here to create an NTRIP account .


  • App Build : NTRIP/MQTT RTK BaseStation+Rover
  • ESP32 : ESP32 DEV KIT C Espressif (ESP32_WROOM_32U CHIP)
  • RTK GNSS: F9P or PX1122R
  • Ethernet : W5500 ( option !)
  • Display: OLED SSD1306 ( option !)
  • Power supply: 5V 2.5A Adapter
  • Other: LED , Button, Switch , 2.4Ghz WiFi Antenna , GNSS RTK Antenna, RJ45 Etheret cable, Micro USB Cable , 3.3V Active Buzzer , …

Connection + Build custom board.

Step 1 : Hardware connection - WIFI + BASIC for Beginner.

For users who prefer simplicity and minimize all connections or for quick test purposes. Wireless internet connection using WIFI on ESP32 will be suitable.

FULL Size -

Step 1 : Hardware connection - ETHERNET + Full standards.

For RTK Basestation applications with up to several months or years of continuous uptime, we always recommend users to use the W5500 Ethernet module for their systems to ensure a stable 24-hour connection !.

In addition, it is possible to add 1 buzzer on the ERROR LED pin (3.3V Active Buzzer) and 1 small OLED module to be able to see the operating status, (connection status, error, flow rate, etc.) of the whole. system .

To connect ESPrtk with RTK receiver, Ethernet, OLED …, Click here for more detail.

FULL Size -

Step 2 : Configure Action Planning - NTRIP MASTER .

  • Get RTCM/RAW /… data from RX_UART1 then send to NTRIP Caster (Cloud Server).

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

FULL Size -

Step 3 : Configure Type Internet connection - WIFI .

FULL Size -

Step 3 : Configure Type Internet connection - ETHERNET .

FULL Size -

Step 4 : Configure NTRIP Master.

FULL Size -

Step 5 : Configure Position Antenna - insert RTCM 1007+1032 for TRIMBLE + new TOPCON.

FULL Size -

Step 5 : Configure Position Antenna - insert RTCM 1007+1032+1004+1012 for old TOPCON.

FULL Size -

FULL Size -

Step 6 : Final : Testing and Running.

Please make sure the configuration is saved correctly. Now press the “Reset” button on ESPrtk, it will start working.

For Base “Standard” : < video >

After about 1 minute run, can visit http://www.rtk2go.com:2101/SNIP::STATUS to check Status of your NTRIP Base:

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

After about 1 minute of operation, the information of the station is automatically published by SNIP, from the 2nd minute on, these information will be fully updated…

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

Insert 1008 message.

You can insert RTCM 1008 message or any RAW data you want to stream , total RAW data ESPrtk can store up to 2000 Bytes ( 500 Byte x 2 HEX x 2 Rover +Base) .

ESPrtk will automatically insert messages with an algorithm that adapts to every user’s RTCM input to ensure the stream is correctly inserted.

Below is a snapshot of when I inserted the 1008 message at 1 Hz, everything worked perfectly.

To configure insert RAW data , see this post : Insert custom RAW data to stream data in RTK applications

To configure auto insert other RTCM , see this post : Profile Tab - Position Antenna

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

UART Bridge and Radio link. .

FULL Size - ESPrtk MQTT NTRIP Radio LoRa Bluetooth F9P M8P F9P Ublox Navspark Ethernet ENC28J60 WW5500 MPU9250 IMU SD Card SARA 2G 3G 4G Cellular

This function is similar to NTRIP Base, however instead of sending RTCM to NTRIP CASTER, data will be output on ESPrtk UART_TX2 port and transmitted from RADIO Base (Transmitter) to RADIO Rover (Receiver).

You can read more about this feature here: UART Base to UART Rover mode

Contribution recognition.

During development, we have received help and advice from many ESPrtk users, including members of the AGOPENGPS forum.
We would like to send a special thanks to:
Darrenjlobb , Torriem , Mdmcurt , THiamu and Barleypicker/Ross .

Ross MC Aulay - ESPrtk TopCon Basestation:

Ross MC Aulay - ESPrtk TopCon Basestation 3

Ross MC Aulay - ESPrtk TopCon Basestation 2
Ross MC Aulay - ESPrtk TopCon Basestation


Emlid now has Legacy corrections as well!

I see you claim Deere corrections, is that for native NAVCOM corrections, or for Deere Mobile RTK corrections?

1 Like

Converting to NCT from RTCMv3 on the fly would be quite useful if they managed to figure that out. I suspect, though, they are referring to MobileRTK, which uses stock RTCM.


Rumour has it, Digifarm is in the know of this tech.

Also thank you @torriem, you were working on 1008 inject while I was still trying to figure out how to get my own base. The threads were thrilling to read and also got me into programming C, and embedded systems.

1 Like

That is “RTK Mobile”, we will take the RTCM from F9P / PX1122R and build 1 RTK BASE station and mount point with the free NTRIP CASTER like http://rtk2go.com:2101 or http://caster.centipede.fr:2101.

NCT was developed and exclusively for the GNSS RTK John Deere receivers (acquired from NavCom). This is a PHY layer format (encapsulating, encoding and transmitting control data, RTK correction, etc. over wireless communication).
This format was once released, but then the documents were retrieved by John Deere himself on the internet platform around 2008.
Some of the people were lucky enough to get the documentation in that period and develop RTCM to NCT converters afterwards.And you know, everyone is trying to hide NCT format documents for themselves (for business purposes). So it is difficult to obtain information about this format.
Honestly, John Deere or Trimble have always wanted to be exclusive, and they often lose their points when they are always looking for ways to charge users the way they feel best for them.
And I understand how people feel every time John Deere increases prices or adds expensive annual premium features each year.


I don’t believe so. Digifarm’s network uses Starfire receivers that natively speak NCT for their John Deere customers.

Ok, you got me scared now, not only did JD modify an existing plow to be self scouring using a used saw blade and common open source blacksmith techniques, JD also invented time travel and became exceptionally computer literate, all to enslave his future GPS marketshare into paying way too much. John Deere the man, the myth, the legend.

I smell a new nerd meme brewing.


Is a corporation a person or a thing? If a person, what gender? :slight_smile: The law is rather conflicted on the issue of companies’ personhood in general.

Language use is interesting in how it differs across the world. In North America a company is an “it.” In Britain a company is a “they.”

On a serious note, I think Mr John Deere would be rather upset with where the company he founded has gone as far as its paranoid and adversarial relationship with its own customers, particularly with the right to repair.

1 Like

Well, every time we mention John Deere, it is definitely a brand of a company, it was founded by a man named John Deere too !.
John Deere is a brand that emerged from the 19th century and the way it exists to this day is worth looking at, people are pleased and complimenting them, people criticize and get angry at them, but after all of that, everyone is still using their product .
I won’t comment on AGOPENGPS, for me personally I still expect AGOPENGPS to be the “second John Deere” (although John Deere becomes exclusive at this point), because there are still so many other values ​​that AGOPENGPS will need to learn from other brands including John Deere before becoming a brand.
The day when AGOPENGPS can stand shoulder to shoulder with John Deere in the AG / GPS field will be a success for AGOPENGPS, but not the end for users because then there will be XX_OPENGPS created by someone.
And above all, from a broader perspective, the world will take the next step in its continued development.


1 Like

Yes, it is a fact … :sweat_smile: :rofl:

That’s a very good thing in my mind. That means we’ll have arrived at the point when the hardware and software is interchangeable and completely customizable to the user’s needs. This is really where the power of the open source model comes into play. Rather than spending ridiculous money to develop their own obsolete monitors and autosteer systems, they can leverage and contribute to something like AgOpenGPS[1].

It’s only a matter of time before the big companies learn the lessons about keeping the source open and interoperable that the world’s most giant software companies have learned. No one would consider a large internet-based project today without using, contributing to, and releasing their software as open source in some way. Even Microsoft has learned this and has opened many of its crown jewels which is great to see. I honestly believe they would open source windows at this point if they could, but for various reasons to do with third-party copyrights and licensing, it’s not currently possible.

[1] Let’s be honest. The state of autosteer in the incumbent companies hasn’t really progressed in years and is not actually that great. Trimble’s NAV II does a terrible job at finding and smoothly driving onto an AB line. I grow more frustrated with it every year. Imagine if I could modify the software and improve it’s path planning. That’s what AOG does. I think I have my first candidate for an AOG build next winter I hope, unless the sprayer kills me first by throwing me through a window on another missed turn.


If Trimble, Topcon, and Deere were all interchangeable (standards!), some what customizable, and not priced like gold plated, solid gold, stuffed with diamonds. AOG would not exist.

But its not that way, so here we are doing what farmers do best. Innovating!


Could you explain what you mean by the term NTRIP MASTER in this? Are you by chance trying to avoid the term NTRIP Server with this?

On the topic of John Deer and their old NavCom (NCT) format, I will post to a new thread.

1 Like

Oh Hello, David Kelley.

Wow. A senior figure in SNIP , Nice to meet you here !

Yes, the NTRIP MASTER is exactly the NTRIP SERVERin the NTRIP model connection ( RTK Basestation PUSH up RTCM data to CASTER) We wanted to avoid the NTRIP SERVER concept as it is often confusing with NTRIP CASTER server systems.
So again, for those of us who are not familiar with this new concept,

  • NTRIP MASTER / BASE is RTK BASESTATION. (Ntrip server in old concept).
  • NTRIP CLIENT is RTK ROVER (Ntrip client).
  • NTRIP CASTER is RTK DATA BRIDGE (Server system).

These are just representative names (or a way to call) for the lower level communication concepts we choose for our ESPrtk users so that they distinguish between Base RTK station and Caster Server.

For this article we are trying to build a NTRIP MASTER (RTK BASESTATION).

Well, I was thinking about opening an NCT topic myself or expecting someone with this experience to open a similar topic, we have the log file of the raw NCT format (taken directly from AG 4’s RADIO receiver) was provided by a user from HUNGARY ( Manager of axial.hu) and we tried for a very long time to analyze it.
We are happy and ready to talk to people about your new topic to bring NCT back to life again!

Also, yesterday a C099-F9P users asked us for support for the C099-F9P board.
Here is the connection diagram for those interested:

1 Like

Hi esprtk,
did you already open somewhere a thread about NCT?
I am also interested in the raw dump of the messages.
Best regards,

1 Like

Its possible?

Yes to Trimble and Topcon (assuming you have the unlocks purchased), no to John Deere Starfire. Although I think Starfire has an unlock you can buy called “mobile rtk” that might allow it to receive RTCM. But I know of no one who’s tried it.

I am getting RTK on my Trimble 372 from the setup as you describe it above.