RTK Torch IMU / tilt compensation clarification

Hi SparkFun team and community,

I’m evaluating RTK Torch for a GNSS RTK rover / survey-pole use case and I’d like some clarity on how tilt compensation is implemented.

From the documentation, RTK Torch uses a Feymani IM19 IMU. I’m trying to understand the exact data flow:

  1. Is sensor fusion and tilt compensation handled internally (either inside the IM19 module or in the Torch firmware)?

    • Does the system accept antenna height / pole length and directly output tilt-compensated coordinates?

    • Or does the IMU only output orientation (roll/pitch/yaw), requiring an external MCU or host application to compute the compensated position?

  2. If onboard tilt compensation exists:

    • Where is antenna height configured (command interface, UBX/NMEA, etc.)?

    • What message/output format provides the compensated position?

  3. For custom hardware or firmware development:

    • Could a third-party IMU / tilt module (e.g., WitMotion IMU modules) be used instead of the IM19?
  4. Are there any recommended compact, cost-effective IMU/tilt sensor alternatives known to work well for GNSS RTK surveying applications?

Any documentation links, implementation notes, or real-world experience would be very helpful.

Thanks in advance.

This is a good starting point to answer questions #1 - #2 :

Hi @JIGOD ,

The IM19 Integration Guide is the best documentation we have for this. You can also refer to the RTK Everywhere Tilt source code for how the firmware configures the IM19. The critical part is ensuring the LEVER_ARM / LEVER_ARM2, INSTALL_ANGLE and CLUB_VECTOR are set correctly. This forum post contains more detail on the LEVER_ARM2 settings and coordinate system.

The RTK Everywhere firmware extracts the compensated pole tip position from the IM19 binary NAVI messages and - if enabled - will cut and paste that position into the standard NMEA messages from the GNSS. Please see applyCompensationGGA for more detail. In future firmware we will be moving from the binary NAVI message to the NMEA ASCII format GPFMI message; it contains the same information but is human-readable.

For alternate IMUs, you may want to look at the Forsense FSS-IMU614E-P. But we currently have no experience with that part. Integrating a AHRS IMU may be possible but you would need to calculate the compensated pole tip position manually. That’s not something we can help you with. We know the IM19 works well and is very accurate. We will be supporting the IM19 for the foreseeable future.

I hope this helps,
Paul