Is the UM982 an F9P killer for AOG?

The code I have seen so far does not look like it is parsing the KXST sentences. The two examples in this thread are using the NMEA parser to parse the GGA sentences from the UM982 just like having a single F9P. The GGA sentence has position data only. The code I have seen is using either the 1115 or BNO for roll, pitch and yaw. I have seen a report that the UM982 development boards do work in the bynav header on the AIO board.

I have not received the UM982 yet so I have only been able to bench test an example KXST sentence with the NMEA parser and it seems to work. Adding an additional NMEA parser / handler to the existing code is pretty easy. Might also need to parse ROT sentences from the UM982 to get the rate of turn or yaw rate information.

Need to get my hands on one to figure out a query to determine if the GPS is a UM982 and set some variables to force the use of the dual code already in the existing AOG firmware implementations.

You can configure the um982 to send out a version message that includes the receiver data. This way if the AIO code picks up this message it can act as dual. The board is super easy to configure with just a usb to serial adapter.

1 Like

If use it with usb You must remember about heading offset 90

Here’s how the pinout compares to the bynav. It looks to me like only UART1 can be used, and possibly only the DIFF LED connected to PVT_STAT. Also, if I’m reading the specs correctly, it can be powered by 3.3-7V so I should be able to just jumper the Vin to Vout at the MP1584?


There are two more UARTs, could I program it via UART2 or 3 while it’s on the PCB?

Can it handle 5V IO from the USB to Serial adapter?

uart1 connect to teensy. uart2 for xbee. uart3 to hc05 for programming.

Can the teensy feed rtcm back in through uart1?

Yes uart1 can send nmea and receive rtcm3 at the same time just like f9p.

I am sure um982 is 3.3v on uart and not 5v tolerant. I would not use 5v ttl as I would expect that to let the magic smoke out of the um982. Use 3.3v ttl usb adapter or hc05 bluetooth module.

The UM982 is definitely not 5v tolerant. If I recall correctly there shouldn’t be 5v on any pins of the UM982 module, all 3.3v.

Has anyone tried the CANBUS functionality? I don’t see it in u precise but it was in the data sheet.

From the footnotes “* I2C, SPI, CAN: reserved interfaces, not supported currently”.

Is anyone using a tri band antenna yet? I was looking for one but any of the decent ones seem to be a little pricey. So far I have only heard of people using the Ann mb antennas.

Not too expensive for helix antenna.

Second um982 antenna can be dual band.

Only tested on dual band, as base station needs to be triband as well to use triband RTK.

This would be an inexpensive full band GNSS antenna

Hi! I just started to play with UM982. Not exactly for farming tracktors, but small USV that we developing.
In my ideal world, UM982 should provide position and heading information to the Ardupilot via Uart1 and in the same time raw observation data to logger, based on Raspbery Pi CM4. Because we are using PPK mode.
But there is lack of information of this reciever using. Did anybody here have sucessfull experience?

The user manual, command reference manual and a pinout of a development board are in this thread. Attached is another PDF on the development board. It has the mechanical layout. What other info are you looking for?

AFAIK, Ardupilot already supports the UM982. Need to set a couple of software switches and set the UM982 to output AGRIC data sentences. The details are on the Ardupilot site.

UM982EVB V1.0 differential positioning directional board.pdf (794.9 KB)

Link to the Unicore download site.

Here is an alpha version of a UM982 parser. It handles Unicore Data Output commands where the sentence starts with “#”, ends with CRLF and uses CRC32 for error checking. It is based off of the NMEAParser by Glinnes which is used by AOG for parsing NMEA sentences. It operates the same way by adding handlers for the various sentences to obtain the parsed data. I have tested it with AGRIC and BESTNAVXYZ sentences.

The BESTNAVXYZ and BESTNAVXYZH sentences contain the ECEF coordinates for the Master and Slave antennas respectively. From those coordinates, the relative position NED vector can be calculated using standard coordinate translation formulas published by NOAA and other national geographic data bodies. This is the same data output by the U-blox F9P using the NAV-RELPOSNED setting. AOG uses the RELPOSNED packet to calculate roll from the dual antennas.

Haven’t had a chance to put it up on my Github yet. If you downloaded this prior to 11/17/23 there is a bug in the old version. Long sentences like AGRIC overflowed some buffers. This version fixes that issue. Still alpha software so caveat emptor. Added the crc32 calculator used by the parser.

UM982_Parser.h.zip (5.0 KB)

calc_crc32.h.zip (1.9 KB)

7.2.13 GPTRA2 — Heading, Pitch & Roll Information
It is similar?

I know ComNav Technology’s K825, which is also a dual-antenna GNSS product. I have some knowledge about its use, including some receivers for autonomous driving.

GPTRA2 roll info is always 0. Heading and pitch are populated. I checked with Unicore support and that field is there for future use when integrating with an external IMU. No ETA on when or what IMU will be used for the integration.

Roll can be calculated using currently available data from the UM982 like how it is done now when using dual F9P’s.