The rover consists of a second UM980 GNSS receiver connected to an ESP32 equipped with either a W5500 Ethernet interface or Wi-Fi connectivity. The ESP32 runs a custom C++ NTRIP client, developed for the Arduino environment and inspired by
this Python implementation. It receives RTCM3 correction data from the NTRIP caster, transmits GGA position messages back to the caster, and broadcasts the rover's RTK position data over the local network via UDP.