C-RTK3 G5 Centimeter-Level Positioning and Heading Module
The C-RTK3 G5 is a new-generation centimeter-level positioning and heading module launched by CUAV. It integrates the high-performance STM32H5 processor and GNSS+ technology suite, and supports the CAN FD bus.
It reliably handles complex application scenarios such as radio interference, electromagnetic interference, positioning spoofing, high vibration, and high maneuverability. It effectively expands the application boundaries of intelligent devices and provides core support for stable, safe and accurate positioning and heading. It is widely applicable to satellite positioning devices including vehicle navigation systems, robots, drones and unmanned ground vehicles.
Product Features
- RTK positioning accuracy: 0.6 cm + 0.5 ppm
- Dual-antenna heading, no compass calibration required
- Multi-constellation and multi-frequency positioning & heading
- High-performance STM32H5 processor
- CAN FD + 20 Hz high refresh rate
- Interference detection and alarm
- All-round anti-interference and anti-spoofing capability
- LOCK+ fusion algorithm for stable signal tracking under high vibration and impact
- 2-channel EVENT with configurable PPS output
Electrical & Hardware Specifications
| C-RTK3 G5 | Specifications |
|---|---|
| Processor | STM32H5 Arm® Cortex®-M33, 250 MHz |
| GNSS Hardware Channels | 789 |
| Supported Constellations & Frequency Bands | GPS: L1C/A, L2C, L2PY, L5, L1C GLONASS: L1CA, L2CA, L2P, L3 CDMA BDS: B1I, B1C, B2a, B2I, B3I, B2b Galileo: E1, E5a, E5b, E6 QZSS: L1C/A, L1 C/B, L2C, L5, L6 |
| Antenna Configuration | Dual-antenna; single/dual-antenna working mode configurable |
| Raw Data Output | Supported / TF card logging available |
| Positioning Accuracy | Single Point: Horizontal 1.2 m, Vertical 1.9 m DGPS Aided: Horizontal 0.4 m, Vertical 0.7 m RTK: Horizontal 0.6 cm + 0.5 ppm, Vertical 1 cm + 1 ppm |
| Velocity Accuracy | 3 cm/s |
| Heading Accuracy | 0.15° @ 1 m antenna baseline 0.03° @ 5 m antenna baseline |
| Max Update Rate | 20 Hz |
| RTK Initialization Time | 7 s (Baseline < 40 km) |
| Timing Performance | PPS Resolution: 1.4 ns Event Accuracy: < 3 ns Cold Start: < 35 s (No ephemeris / No approximate position) Hot Start: < 10 s (With ephemeris & approximate position) Re-acquisition Time: 1 s |
| Tracking & Acquisition Threshold | Tracking: 20 dB/Hz Acquisition: 30 dB/Hz |
| Onboard Compass | RM3100 |
| Communication Protocols | DroneCAN / SBF / NMEA-0183 / RTCM |
| Communication Baud Rate | 1 Mbit/s (CAN) 8 Mbit/s (CAN FD) |
| Firmware Upgrade | Supported |
| Default Firmware | C-RTK3 M4C |
| Interfaces | 1 × CAN (GH1.25 4P) 1 × UART (GH1.25 6P) 1 × USB Type-C 2 × Antenna Port (BWMCX-KEF) 1 × TF Card Slot |
| Dimensions | 55.5 × 50 × 16.5 mm (Including mounting holes) |
| Weight | 43.5 g (Excluding antenna and cable) |
| Operating Temperature | -10 ℃ ~ +80 ℃ |
CRA-602 Antenna Specifications
| CRA-602 Antenna | Specifications |
|---|---|
| Coverage Angle | 360° |
| Polarization | Right-Hand Circular Polarization |
| LNA Gain | 38±2 dB |
| Connector Type | SMA-J |
| Dimensions | Φ40 × 84.5 mm |
| Weight | 36 g |
Dimensions
C-RTK3 G5 Dimension Drawing
CRA-602 Antenna Dimension Drawing
Pin Definition
C-RTK3 G5 User Guide
This chapter applies to the scenario of using the C-RTK3 G5 with ArduPilot vehicles.
Note
ArduPilot 4.4.0 and later versions support the C-RTK3 G5.
Flight Controller Parameter Configuration (CAN Connection, Recommended)
- Take out the CAN cable from the accessory package, connect the flight controller to the CAN port of the C-RTK3 G5; install the antennas for the C-RTK3 G5, and keep the distance between the two antennas more than 20 cm.
- Connect the flight controller to the ground station (such as Mission Planner / LGC) via USB.
- Enter the Full Parameter List, input parameter names in the search bar and set the following parameters.
// Mission Planner path: Configuration/Tuning → Full Parameter List → Search bar on the right
| Parameter | Value | Remark |
|---|---|---|
GPS1_TYPE | 9 | DroneCAN: 9; UART: 26 |
CAN_P1_DRIVER | 1 | Enable CAN1 driver |
GPS_AUTO_CONFIG | 2 | Auto configure DroneCAN GPS |
EK3_SRC1_YAW | 2 or 3 | 2: GPS; 3: GPS priority with compass backup |
GPS1_MB_TYPE | 1 | Master-to-slave antenna offset configuration |
GPS1_MB_OFS_X | Value (m); set according to installation | X-axis offset of master antenna, positive forward of slave antenna |
GPS1_MB_OFS_Y | Value (m); set according to installation | Y-axis offset of master antenna, positive right of slave antenna |
GPS1_MB_OFS_Z | Value (m); set according to installation | Z-axis offset of master antenna, positive below slave antenna |
GPS1_POS_X | Value (m); set according to installation | X-axis offset relative to center of gravity, positive forward |
GPS1_POS_Y | Value (m); set according to installation | Y-axis offset relative to center of gravity, positive right |
GPS1_POS_Z | Value (m); set according to installation | Z-axis offset relative to center of gravity, positive below CG |
Note
If you are unclear about the relative installation position, refer to the antenna offset diagram in the following part; Antenna 1 (ANT1) is the master antenna, Antenna 2 is the slave antenna.
For firmware versions below ArduPilot 4.6 (exclusive):
| Parameter | Value | Remark |
|---|---|---|
GPS1_TYPE | 9 | DroneCAN: 9; UART: 26 |
CAN_P1_DRIVER | 1 | Enable CAN1 driver |
GPS_AUTO_CONFIG | 2 | Auto configure DroneCAN GPS |
EK3_SRC1_YAW | 2 or 3 | 2: GPS; 3: GPS priority with compass backup |
GPS1_MB_TYPE | 1 | Master-to-slave antenna offset configuration |
GPS1_MB_OFS_X | Value (m); set according to installation | X-axis offset of master antenna, positive forward of slave antenna |
GPS1_MB_OFS_Y | Value (m); set according to installation | Y-axis offset of master antenna, positive right of slave antenna |
GPS1_MB_OFS_Z | Value (m); set according to installation | Z-axis offset of master antenna, positive below slave antenna |
GPS1_POS_X | Value (m); set according to installation | X-axis offset relative to center of gravity, positive forward |
GPS1_POS_Y | Value (m); set according to installation | Y-axis offset relative to center of gravity, positive right |
GPS1_POS_Z | Value (m); set according to installation | Z-axis offset relative to center of gravity, positive below CG |
Master-Slave Antenna Offset Diagram
Heading Verification
- GPS heading data is displayed as gpsyaw in the status bar of Mission Planner flight data toolbar.
- Check whether the gpsyaw value is consistent with the actual heading.
- Rotate the airframe and verify if the gpsyaw value responds correctly to rotation.
Note
If you cannot confirm the actual direction, you may use the built-in compass of a mobile phone for reference. Keep away from batteries to avoid magnetic interference.
Troubleshooting
- If the gpsyaw value remains always 0, the flight controller fails to obtain heading data. Possible causes:
- Incorrect master-slave antenna offset settings; setting error shall not exceed 20%.
- Poor satellite positioning quality; place the module outdoors with open sky view.
- Poor or no positioning of the slave antenna; check antenna and feeder connection.
- The module is working in single-antenna mode; check related parameters.
- The vehicle spins 360° and cannot hold position in GPS mode:
- First exclude compass faults, then check the following items:
- Excessive error or incomplete configuration of GPS position offset parameters (
GPS_POS1_X/Y/Z). - Poor GNSS positioning quality.
- Disable SBAS augmentation. In areas with weak or no SBAS coverage, enabling SBAS may cause position drift.
UART Connection Parameter Configuration
Note
ArduPilot 4.4.0 and later versions support the C-RTK3 G5.
| Parameter | Value | Remark |
|---|---|---|
GPS1_TYPE | 26 | DroneCAN: 9; UART: 26 |
GPS_AUTO_CONFIG | 2 | Auto configure serial GPS |
EK3_SRC1_YAW | 2 or 3 | 2: GPS; 3: GPS priority with compass backup |
GPS1_MB_TYPE | 1 | Master-to-slave antenna offset configuration |
GPS1_MB_OFS_X | Value (m); set according to installation | X-axis offset of master antenna, positive forward of slave antenna |
GPS1_MB_OFS_Y | Value (m); set according to installation | Y-axis offset of master antenna, positive right of slave antenna |
GPS1_MB_OFS_Z | Value (m); set according to installation | Z-axis offset of master antenna, positive below slave antenna |
GPS1_POS_X | Value (m); set according to installation | X-axis offset relative to center of gravity, positive forward |
GPS1_POS_Y | Value (m); set according to installation | Y-axis offset relative to center of gravity, positive right |
GPS1_POS_Z | Value (m); set according to installation | Z-axis offset relative to center of gravity, positive below CG |
SERIAL3_PROTOCOL | -1 | Disable Serial3 if no GPS is connected to GPS&Safety port; GPS2/UART4 will be recognized as GPS1 |
SERIAL4_PROTOCOL | 5 | Set Serial4 as GPS port, generally no modification required |
SERIAL4_BAUD | 460800 | Set Serial4 baud rate to 460800 |
Interference Status Display
Note
The C-RTK3 G5 supports interference status display, which requires compatible flight controller firmware and ground station support. Please contact CUAV technical support if needed.
C‑RTK3 G5 System Parameters
Note
The following are internal configuration parameters for the C‑RTK3 G5; modification is generally unnecessary.
| Parameter | Range / Options | Default | Description |
|---|---|---|---|
| GPS_TYPE | — | — | Fixed system configuration, not applicable |
| GPS_MB_ONLY_PORT | — | — | Reserved for APM compatibility, unused |
| CAN_NODE_ID | 0~125 | 0 | CAN node ID; 0 = auto‑assigned by controller; set to a unique non‑zero value if conflicts occur |
| CAN_R | True/False | False | Enable CAN 120Ω termination resistor; True = enable; recommended for multi‑node buses |
| GNSS_ITFM_SEND | — | — | Send interference/spoofing detection data via CAN |
| FLASH_BOOTLOADER | True/False | False | Update bootloader; automatically resets to False after completion |
| CAN1_FD_BITRATE | 1–8 (Mbps) | 4 | CAN1 FD data segment bitrate |
| CAN1_FD_EN_MODE | 0~2 | 2 | CAN FD enable: 0 = disable (Classic CAN); 1 = force enable CAN FD; 2 = auto (system selects based on bus load and handshake) |
| GNSS_MODE | 0–65535 (bitmask) | 109 | Satellite constellation: Bit0=GPS, Bit1=SBAS, Bit2=Galileo, Bit3=BeiDou, Bit4=IMES, Bit5=QZSS, Bit6=GLONASS, Bit7=NavIC |
| GNSS_EN_ATTITUDE | 0/1 | 1 | 0 = single‑antenna; 1 = dual‑antenna heading |
| GNSS_DYN_MODEL | 0–13 | 10 | Dynamic model: 0=Base Station,1=Quasi‑static,2=Robot,3=Pedestrian,4=Automotive,5=Motorcycle, 6=Racing,7=Heavy Machinery,8=Marine,9/10/11=UAV,12=Wearable,13=Unconstrained |
| GNSS_RATE_MS | 50/100/200/500 (ms) | 100 | GNSS output period: 100ms=10Hz, 50ms=20Hz |
| GNSS_UART2_BAUD | 1200~4000000 | 460800 | UART2 baud rate |
| GNSS_UART2_PROT | 0–65535 (bitmask) | 8 | UART2 protocol: Bit0=UBLOX, Bit1=NMEA, Bit2=RTCM, Bit3=SBF; Common: 2=NMEA, 8=SBF, 10=NMEA+SBF |
| SEP_ELE_MASK | -90~90 (°) | 10 | Satellite elevation mask angle (angle from local horizontal to satellite); satellites below this angle excluded from PVT; recommend 15~20° in urban/mountain/interference environments |
| SEP_SL | 0–200 (s) | 20 | Carrier‑smoothed pseudorange duration |
| SEP_PPS_PRD | 0–21 | 15 | PPS output period: 0=Off;1=10MHz;2=1MHz;3=100KHz;4=10KHz;5=5KHz;6=2KHz;7=1KHz;8=100Hz;9=50Hz;10=20Hz;11=10Hz;12=5Hz;13=4Hz;14=2Hz;15=1Hz;16=2S;17=4S;18=5S;19=10S;20=30S;21=60S |
| SEP_PPS_DUTY | 1–99 (%) | 5 | PPS duty cycle (max pulse width: 1000ms) |
| SEP_PPS_POL | 0/1 | 0 | PPS polarity: 0=Low→High;1=High→Low |
FAQ
- Does C-RTK3 G5 support working as an RTK base station?
Answer: The C-RTK3 G5 can only be used as a rover station. It supports single-antenna and dual-antenna heading modes, and does not support functioning as an RTK base station.
- What base stations are compatible with C-RTK3 G5? Answer: It is compatible with mainstream RTK base stations such as C-RTK 9PS, C-RTK 2HP, and network RTK base stations (NTRIP, Continuously Operating Reference Station).
- Does it default to standard CAN 2.0 or CAN FD? Answer: To ensure peripheral compatibility, the factory default is standard CAN 2.0. It can be switched to CAN FD mode via parameters. After switching, all devices on the bus must support CAN FD; otherwise, normal communication and device recognition will fail.
- What application fields is C-RTK3 G5 suitable for? Answer: It applies to all devices and scenarios requiring high-precision GNSS positioning, such as robots, unmanned ground vehicles, and underwater vehicles.
Set rtkbase in Missionplanner
If you use Ardupilot firmware to build an RTK differential system, you need to perform base station-side positioning configuration and data forwarding through the missionplanner. During the positioning configuration of the base station, there is no need to start the mobile station and drone.
- Open the Mission Planner
- Enter the initial settings
- Click on optional hardware
- Click on RTK/GPS Inject you will see the following page:
- Set the base station port in the upper left corner
- Click connect
- In the SurveyIn Acc section, enter the absolute geographic accuracy that you expect your C-RTK base station to achieve. In the Time field, enter the shortest search time you want.
- Click Restart (the ground station will transfer the data you input to the C-RTK base station, and the base station will start a new round of search star positioning)
- You will see the following page: During the search process, the current search star positioning will be displayed in the box on the right side of the Mission Planner page:
- Position is invalid: The base station has not yet reached a valid location;
- In Progress: Search Star is still in progress;
- Duration: The number of seconds the current search star has been executed;
- Observation: the number of observations obtained;
- Current Acc: The absolute geographic accuracy that the current base station can achieve.
- The green vertical bar below Mission Planner shows the satellite and satellite signal strengths currently searched by the base station. The base station requires a certain amount of convergence time to meet your desired accuracy requirements. After testing, in an unobstructed area, it takes a few minutes to reach an absolute accuracy of 2m, and an absolute accuracy of less than 30cm takes about one hour, and it takes several hours (under ideal conditions) to achieve an accuracy of less than 10cm.
Note
The absolute geographic accuracy of the base station here will affect the absolute geographic accuracy of the mobile station without affecting the relative accuracy of the base station and the mobile station. If your application does not require drones with high absolute geographic accuracy, you don’t need to set the base station’s accuracy too high, resulting in longer search times. Even if the accuracy of the base station is 1.5~2m, the positional accuracy of the mobile station relative to the base station can still reach the centimeter level.
After the base station search star is completed, the Mission Planner will display the following page:
Using NTRIP Network RTK Base Station
Missionplanner supports NTRIP protocol to access CORS network RTK base station service instead of RTK base.
Setup Tutorial:
- Set to NTRIP in MP Ground Station>Initial Settings>Optional Hardware>RTK/GPS Inject
- Click “Connect” to enter the URL.
Tip
URL format:http://Account:password@host:port/RTCM32_GGB.
Note
Ardupilot uses the WGS84 coordinate system, and the CORS port number should be set to 8002; the MP ground station will save observation log files in the log storage folder during work, which can be used for PPK post-calculation.
RTK positioning status
Using the paired digital transmission module to connect to the same Mission Planner ground station, the data of the base station will be transmitted to the C-RTK mobile station on the drone through the data transmission module. On the main page of Mission Planner, you can see that the current GPS status of the drone is displayed as RTK Float/RTK Fixed/3D RTK, indicating that the UAV’s positioning has entered the RTK state.
- RTK Float is a floating point solution.
- RTK Fixed is a fixed solution.
RTK Fixed has higher accuracy and is extremely environmentally demanding, and positioning can enter the RTK Fixed state when the signal is good enough。
Leave a comment
You must be logged in to post a comment.