Today we have a test on the communication distance between 2 ESP32 modules running ESPrtk firmware.

The focus of this test is the distance ( long range), not the accuracy of the RTK receiver.

The communication distance between the two ESPrtk modules was amazing, we started with 500m, 800m then 1km, 1.6km and even 2km. At these distances ESPrtk can receive signals if there is a line of sight from Rover to Base.

At a distance of 1.6km, the received signal strength level is 5 (the highest is 9 for 1m distance).

The packets received on both Base and Rover are 100% accurate, they are encrypted with AES256 before being sent with 3 CRC integrity checks (1 in PHY layer, 1 in MAC layer and 1 in frame layer of ESPrtk). Only ESPrtk Rover devices can decode ESPrtk Base’s packages, this is to ensure the data is transmitted correctly and reliably on the receiver side.

We believe that ESPrtk can communicate at a distance of 3km, unfortunately our test area does not have a good line of sight to go further. Maybe we will come back with another video to check at a distance of 3km . If you intend to test your ESPrtk and make videos about it, try to go beyond our 2km distance.

Video Testing

(The video has 2 parts: Prepare the hardware and check the distance outdoors. Skip to 5:00 start the journey right away.)

Circuit diagram

Below is a circuit diagram for the test, but a complete diagram for RTK receivers such as F9P / NS-HP can be used for this test.

The firmware version of ESPrtk in this test is 3.2.5.

Learn more about creating ESPrtk board and loading Firmware for ESP32 here:

3.x.x How to use ESPrtk ? – Things need to know.

ESPrtk Rover circuit

Rover needs to return NMEA, specifically $ GGA.

You can use Ublox’s U-Center to configure NEO M8N.

Here, I will configure NEO M8N directly with ESPrtk without U-Center. Connect NEO M8N as above, start ESPrtk in WEB Configure mode, login and go to Ublox tab.

  • Step 1: Select ‘MSG’, configure GGA output at 1Hz, press Send.
  • Step 2: Select ‘CFG’, tick save to SRAM + Flash, press Send.


You can then check NMEA with ESPrtk’s GNSS Viewer application .



(Full Size)(Full Size)

ESPrtk Base circuit

Wireless Transmit Model

We check the transmission distance on both ESPrtk Base and ESPrtk Rover devices.

  • Base sends data on RX_UART_RTK (GPIO17) port and exports Rover’s NMEA ($ GGA) data to TX_UART0 port.
  • Rover exports the data received from Base to TX_UART_RTK port (GPIO5) and sends NMEA ($ GGA) data on RX_UART_RTK port (GPIO17) to Base.

So both Base and Rover have the ability to send and receive in real time.

Base antenna height is about 15m and Rover’s is 2.5m.

Note that both Base and Rover use 3dBi antennas, which are the most efficient antennas for the configuration.   receive and send at the same time (tx power +20dBm) for this test.

For applications when Rover only receives data from Base (without sending back NMEA), you can choose the antenna with higher gain ( 5dBi, 10dBi ….).

Rover Manager on U-Center

The Rover sends the NMEA data to the Base, then ESPrtk Base will export that data to the TX_UART0 port (GPIO1).

In addition to the GGA data, there are other data such as: Size of NMEA to be output, Type of NMEA message to be exported, and ESPrtk Rover ID (to know this NMEA message come from which Rover ).   In the video we only use 1 Rover, in fact, ESPrtk supports more than 1000 Rover to send GGA at the same time.

Below is a snapshot of our path on the U-Center software (green dots). Sometimes Base doesn’t receive Rover’s location, it can be explained because at some checkpoints, we are surrounded by crowded residential areas while the height of the Rover antenna is only about 2.5m.

Next Post

I created 3 Rover’s, in the next video, I will show you how Base can receive and manage NMEA data from all 3 Rover’s at the same time use “ ESPrtk Pro Tracking software ” .

Then check the Bluetooth and LoRa support on ESPrtk. Test ‘UART to Bluetooth ‘ mode on ESPrtk – ESP32 RTK.

ESPrtk logo Firmware

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –