Bluetooth on ESPrtk.

Download ESPrk datasheet + Documents

Go to this page to download all ESPrtk document : ESPrtk documents

 Bluetooth on ESPrtk.

This article guides you to check Bluetooth on ESPrtk in UART_to_Bluetooth mode.  


 On ESPrtk 3.x.x version, Bluetooth supports the following features:


MQTT Base / NTRIP Base / Radio Base / MQTT Client / NTRIP Client / Radio Client:

         Bluetooth is used as an auxiliary function, sending all data on the RX_UART-RTK port to other external Bluetooth devices such as Phones, Tablets, and computers that support Bluetooth.


MQTT Client Repeater / NTRIP Client Repeater / Radio Client Repeater:

           Bluetooth is used as an auxiliary function, sending all RTCM / RAW data .. received from Base (MQTT Base / NTRIP Base / Radio Base) to external Bluetooth devices.


UART_to_Bluetooth :


 Bluetooth is used as a main function, acting like Bluetooth-to-Serial modules like HC05.

          + Send data on the RX-UART-RTK port to an external Bluetooth device.

          + Export data received from an external Bluetooth device to TX_UARTK port.


Bluetooth_to_RF_Base (ESPrtk_1) and Bluetooth_to_RF_Rover (ESPrtk_2):

          Bluetooth is used as a main function.           Connect an external Bluetooth device (A) to ESPrtk_1 and connect an external Bluetooth device (B) to ESPrtk_2.

          Now, device A can communicate with the device B in two directions via the wireless data bridge ESPrtk_1 <-> ESPrtk_2 with a radio communication distance of several kilometers.


 In particular, ESPrtk 3.x.x supports power management and supports two options: Bluetooth Classic and Bluetooth Low Energy (BLE 4.2).   When using both WIFI and Bluetooth on ESPrtk, we recommend using Bluetooth in BLE mode to achieve the highest performance.

Video Testing

In the first test, we will test the ability to receive and send raw data via Bluetooth on the UART port. In the next test, we connected ESPrtk to GPS module and then tested ESPrtk with RTK applications running on phones like NTRIP Client, GNSS Survey, …

Check Receiving and sending raw data.

I use the application running on my phone as an external Bluetooth device, the data received and sent will be output on ESPrtk’s TX / RX-UART port and displayed on the screen.


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.


ESPtk configuration – Bluetooth.

              Here you can change the Bluetooth name of ESPrtk and choose the Bluetooth type is Classic or BLE 4.2 (recommended).

ESPtk configuration – Action Planning.


  • For the connection diagram as above, TX And ​​RX need to map to TX_UART1 (GPIO5) and RX_UART1 (GPIO17).

  • Baudrate is 9600. (Although I chose the baudrate as 9600 for this test, in fact the lowest limit for RTK applications should be from 57600 to avoid bottlenecks.           ).

  • Select the Main Action as ‘UART_to_Bluetooth’ .


Scan and add ESPrtk to the connection list.


After configuration, restart ESPrtk. Now turn on your phone, Open Bluetooth Settings and scan for ESPrtk devices.  

   Please note, if the bluetooth mode on ESPrtk is set to BLE, your phone also needs to support BLE.

By default, the Bluetooth name of ESPrtk is of the form ‘BTU-ESPrtk: xxx’ if using Bluetooth Classic or the form ‘BLE-ESPrtk: xxx’ if using Bluetooth BLE.

Add ESPrtk to the connection list on your phone (you only need to do this once).

      Now open the app, you will see ESPrtk appear in the connection waiting list.


       For Bluetooth BLE, the name of ESPrtk will be on the BLE tab.

      Touch the connect icon to connect to ESPrtk. If the connection is successful, ESPrtk will send a message telling the successful connection with a description of the device.


       Now all data sent to ESPrtk will be exported to TX-UART-RTK port and all data received on RX-UART-RTK port will be sent back to the phone. (TX-UART-RTK and RX-UART-RTK are TX1 / TX2 and RX1 / RX2 depending on the configuration in your Action Planning above).

I connected the UART-RTK port to the computer and opened the software to send some text.

Check with the RTK apps and the RTK GNSS receiver.

ESPrtk can be used with many RTK applications today, just need to connect and run like other devices.


NTRIP Client Lefebure

       Above is the test model, I would choose Lefebure NTRIP Client application as an example. (In the video above, there are a number of other applications that are also tested.)

Phone :

  • Send RTCM to ESPrtk.

  • Print NMEA received from ESPrtk to screen.

ESPrtk :

  • Export RTCM to TX-UART-RTK port.

  • Resend NMEA data on RX-UART-RTK to the phone.

Next Post

In the next post, we will check that ESPrtk runs in Bluetooth_to_RF_Base and Bluetooth_to_RF_Rover mode.’ 3.x.x Radio Data Bridge mode on ESPrtk

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

Join diydrones

Email me when people reply –