Topcon AGI-3 correction via ESP32Xbee?

I may be looking at this in a too simplistic manner but would it be possible to send NTRIP correction data to the above receiver with the ESP32Xbee in client mode?

The receiver in question is on an a Topcon X30 (system 350). It is RTK unlocked and presently has a Satel-TA13 radio fitted. The radio has only one conection to the AGI-3 apart from power. Signal line to pin25 (port A). Could the radio be replaced by an ESPXbee?

I’m not familiar with the AGI-3 at all but it does seem to have a second serial port that was suggested for an external modem here:

The manual even lists the option for an external modem for correction data.

I thought the AGI-3 was mostly used with the System 110/150 screen. The System 150 manual talks about a GPRS option. I wonder if it is an option and possibly market area dependent.

Interesting if the OEM internal modem does not have two way connectivity. I would have assumed some kind of protection against hacking, perhaps not considered necessary at the time AGI-3 was designed. At least RSA is not possible. Perhaps an identification string at start-up but that you could log and copy. The AGI-4 RTK activation is linked to the presence of the internal modem, the AGI-3 could be different.

EDIT: the AGI-3 manual mentions unlock codes. I guess RTK unlock is one and then there is no need to disable unauthorised use of third party modems like on the AGI-4.

I’ve had it connected directly but it couldn’t be found by the receiver. I’m guessing I’ve got levels wrong or something. Yes, definitely only one way comms.

Do you mean the receiver did not recognise RTCM messages? Which RTK correction data source? Are you sure the correction data is compatible with AGI-3?

It didn’t find the modem.

I’ve read the satel manual and the pin that is sending data is an RS232 output only, so that is what is being sent to the AGI-3. I’m no expert on protocol or protocol levels.

Sorry but I’m not following what exactly happened. I understand the internal modem being only connected to the tx pin (tx from the modem). But I thought you tried RS232 via the external modem pin at the AGI-3 connector? This had better be true RS232 levels or at least +/- 5V. I did not check AGI-3 specs if it accepts 0 to 5 V, some RS232 interfaces do.

What do you mean with “it did not find the modem”? What information is available from the screen to debug the external interface status? I thought it only shows RTK latency and fix status.

Does AGI-3 actually only support RTCM version 2 messages:
https://www.topconcare.com/en/agriculture/precision-ag-gnss-receivers-base-stations/agi-3/specifications/

EDIT: some conflicting info above, RTCM 3.0 is mentioned but only RTCM V2 type of messages on the list.

You did not mention your RTK correction source, native F9P messages certainly do not work, not even with AGI-4.

Ok, the not finding modem issue was when we tried to use the internal modem. The Satel modem is external, in a box in between the receiver and the x30 screen. This is only connected to pin 25 of the AGI-3 and obviously power.

RTCM 3.x is an on screen option.

My caster is sending out 1005, 1008, 1077, 1087, 1097, 1127 and 1230. I also have a stream available from a local station that sends out 1006,1019,1020, 1033, 1075, 1085, 1095, 1125, 1230 and 4094. I tried this one too.

I’m pretty sure I’ve got the level wrong TBF. Well at least that anyway.

Sorry about my confusion on the Satel modem. The AGI-4 internal radio is a Satel modem and I assumed your Satel was the AGI-3 internal modem.

Perhaps you have an issue with the levels but the AGI-3 cannot work with those correction data streams. If it accepts RTCM V3, you would have to use 1004 and 1012 for the actual satellite correction data. The AGI-4 does not understand MSM messages, no way the AGI-3 would.

1075 to 1095 are all MSM-messages, even if part of RTCM 3.x, still not supported by those old GNSS receivers.

I now realise I probably need to use a MAX232 level shifter or similar to communicate properly.

With regard to the 1004 and 1012 messages, RTKLIB’s STRSVR will convert to these messages by the look. I’ve got it running on my laptop and the messages seem ok in snip to me.

1 Like

I should try to get familiar with this RTKLIB and specifically the message translator feature. Could try my F9P as a base for my AGI-4. If you ever have time, instructions for a newbie would be welcome.

1 Like

I only downloaded it yesterday myself! :grimacing:

STRSVR seems quite easy at first sight. Almost too easy! I need someone to test it’s effectiveness! Hopefully I can get this AGI-3 working with an ESP32Xbee. It isn’t mine so I’m being more cautious than usual!

Level shifter is on it’s way!

1 Like

I’m using STRSVR, taking a serial stream directly from the F9P board’s usb port, converting it to 1004 and 1012 then sending it to Snip as a pushed in stream. Snip is also taking the output of my first ESP32, which adds an empty 1008 and casts both as two seperate mount points.
Then I’ve got the second ESP32 sending f9p messages plus the 1008 to RTK2Go (WEBBPARTNERS).

One way or another the AGI-3 is going to work too!

It’s all interesting stuff. I’m probably doing some of it wrong but I’m learning in a way that I’ll remember it!!

Is 1008 not included in the stream that has 1004 and 1012? I assume AGI-3 needs it. I actually have all 1006, 1007 and 1008 on the stream for AGI-4. Not all three are needed, cannot remember if 1008 is enough.

AGI-4 works quite well without the additional messages if GLONASS was shut off (obviously not as well as if both constellations were active). It even finds RTK fix without 1008 but more or less only randomly and usually takes almost forever to move from float to fix. If I remember right, it is about the RTCM 3 interpretation by Topcon. The receiver needs to know if it is a Topcon base or some other brand (that did not make the mistake Topcon did).

AGI-3 could be different, have no experience.

Well, it’s very easy to add the 1008 if required. literally just add 1008 to the list of messages required in STRSVR. I’ve got no experience of this receiver as it isn’t mine but am determined to get it working.

My limited experience doesn’t go beyond an F9P.

Isn’t a 1008 just an antenna descriptor?

Isn’t it “an antenna descriptor”, not “just an antenna descriptor”? :slight_smile:

You tell me why 1008 is needed by many of the major brand GNSS receivers? I doubt the very detailed antenna model (available for all users from a public database) is really needed at cm level accuracy. I could guess why even a dummy 1008 can make a difference but others at the from must know this better, no need for guessing.

I’ve not looked at what STRSVR populates it’s 1008 with.Might be interesting.

Someone here said he inserted an empty 1008 into the stream. I assume Trimble was just looking if it can find a Topcon antenna description or not. An empty messages goes to the “or not” category. Surprisingly clever from Trimble eg. compared to their SBAS satellite number handling. :wink: Not sure if Topcon does the same.

Yes, I’ve got STRSVR adding a 1008 too now and it’s empty, exactly the same as the one my ESP32 is adding.

This project stalled as the system in question had issues. The issues turned out to be a cheap android type radio in the tractor causing severe interference!!

The system now has an AGI-3 with an internal GSM modem.

It will receive my corrections but takes an age to connect and is extremely unstable. I’ve tried STRSVR dome version converting to 1006,1075 and 1085 messages and also 1004,1006,1012. Same effect.

If I relay an euref base I have access to and strip out all but 1006,1075 and 1085 it connects immediately and is very stable.

Just wondering what I might have wrong.