diff --git a/docs/en/middleware/dds_topics.md b/docs/en/middleware/dds_topics.md
index 56d18173a3..252586b658 100644
--- a/docs/en/middleware/dds_topics.md
+++ b/docs/en/middleware/dds_topics.md
@@ -185,7 +185,6 @@ They are not build into the module, and hence are neither published or subscribe
- [GpioOut](../msg_docs/GpioOut.md)
- [GpioRequest](../msg_docs/GpioRequest.md)
- [GpsDump](../msg_docs/GpsDump.md)
-- [GpsInjectData](../msg_docs/GpsInjectData.md)
- [Gripper](../msg_docs/Gripper.md)
- [HealthReport](../msg_docs/HealthReport.md)
- [HeaterStatus](../msg_docs/HeaterStatus.md)
@@ -255,6 +254,7 @@ They are not build into the module, and hence are neither published or subscribe
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
- [Rpm](../msg_docs/Rpm.md)
+- [RtcmData](../msg_docs/RtcmData.md)
- [RtlStatus](../msg_docs/RtlStatus.md)
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
diff --git a/docs/en/msg_docs/RtcmData.md b/docs/en/msg_docs/RtcmData.md
new file mode 100644
index 0000000000..caa570cb95
--- /dev/null
+++ b/docs/en/msg_docs/RtcmData.md
@@ -0,0 +1,76 @@
+---
+pageClass: is-wide-page
+---
+
+# RtcmData (UORB message)
+
+RTCM3 data exchanged with GNSS receivers.
+
+Published under two topic names that share this definition (see TOPICS below):
+
+rtcm_corrections - external fixed-base corrections fed into the vehicle (MAVLink
+GPS_RTCM_DATA, UAVCAN RTCMStream, GPS drivers in dump mode). Multiple
+sources are allowed, one uORB instance each; consumers select an instance
+via their stale-link logic.
+
+rtcm_moving_baseline - moving-base GPS output (RTCM 4072 or equivalent) intended for a rover.
+Single publisher per vehicle (on-board moving base, or a CANnode
+forwarding MovingBaselineData); consumers only read instance 0.
+
+**TOPICS:** rtcm_corrections rtcm_moving_baseline
+
+## Fields
+
+| Name | Type | Unit [Frame] | Range/Enum | Description |
+| ----------------------------------- | ------------ | ------------ | ---------- | --------------------------------------------------------------- |
+| timestamp | `uint64` | us | | Time since system start |
+| device_id | `uint32` | | | Unique device ID of the publisher that produced this RTCM |
+| len | `uint16` | | | Length of data |
+| flags | `uint8` | | | LSB: 1=fragmented |
+| data | `uint8[300]` | | | RTCM3 payload (fixed-base corrections, or moving-baseline data) |
+
+## Constants
+
+| Name | Type | Value | Description |
+| ----------------------------------------------- | ------- | ----- | ----------- |
+| ORB_QUEUE_LENGTH | `uint8` | 16 |
+| MAX_INSTANCES | `uint8` | 4 |
+
+## Source Message
+
+[Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/RtcmData.msg)
+
+::: details Click here to see original file
+
+```c
+# RTCM3 data exchanged with GNSS receivers.
+#
+# Published under two topic names that share this definition (see TOPICS below):
+#
+# rtcm_corrections - external fixed-base corrections fed into the vehicle (MAVLink
+# GPS_RTCM_DATA, UAVCAN RTCMStream, GPS drivers in dump mode). Multiple
+# sources are allowed, one uORB instance each; consumers select an instance
+# via their stale-link logic.
+#
+# rtcm_moving_baseline - moving-base GPS output (RTCM 4072 or equivalent) intended for a rover.
+# Single publisher per vehicle (on-board moving base, or a CANnode
+# forwarding MovingBaselineData); consumers only read instance 0.
+
+uint64 timestamp # [us] Time since system start
+
+uint32 device_id # [-] Unique device ID of the publisher that produced this RTCM
+
+uint16 len # [-] Length of data
+uint8 flags # [-] LSB: 1=fragmented
+uint8[300] data # RTCM3 payload (fixed-base corrections, or moving-baseline data)
+
+uint8 ORB_QUEUE_LENGTH = 16
+
+# Sized for the fixed-base corrections case (up to four independent sources). The moving-baseline
+# topic only uses instance 0 (single publisher per vehicle).
+uint8 MAX_INSTANCES = 4
+
+# TOPICS rtcm_corrections rtcm_moving_baseline
+```
+
+:::
diff --git a/docs/en/msg_docs/index.md b/docs/en/msg_docs/index.md
index b481064212..9b68b3568e 100644
--- a/docs/en/msg_docs/index.md
+++ b/docs/en/msg_docs/index.md
@@ -161,7 +161,6 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [GpioOut](GpioOut.md) — GPIO mask and state.
- [GpioRequest](GpioRequest.md) — Request GPIO mask to be read.
- [GpsDump](GpsDump.md) — This message is used to dump the raw gps communication to the log.
-- [GpsInjectData](GpsInjectData.md)
- [Gripper](Gripper.md) — # Used to command an actuation in the gripper, which is mapped to a specific output in the control allocation module.
- [HealthReport](HealthReport.md)
- [HeaterStatus](HeaterStatus.md)
@@ -239,6 +238,7 @@ Graphs showing how these are used [can be found here](../middleware/uorb_graph.m
- [RoverSteeringSetpoint](RoverSteeringSetpoint.md) — Rover Steering setpoint.
- [RoverThrottleSetpoint](RoverThrottleSetpoint.md) — Rover Throttle setpoint.
- [Rpm](Rpm.md)
+- [RtcmData](RtcmData.md) — RTCM3 data exchanged with GNSS receivers.
- [RtlStatus](RtlStatus.md)
- [RtlTimeEstimate](RtlTimeEstimate.md)
- [SatelliteInfo](SatelliteInfo.md)