NMEA over BLE (external GNSS unit)

Martin Košút shared this idea 2 months ago
Collecting votes


At first, thanks for the awesome app for bikers! Currently I am using a Locus Map Pro in latest version. I am not happy with GNSS performance on the phone (Oneplus 5) in not ideal conditions, so I am planning to build my own (dual band L1+L5) GNSS receiver (LC79D) with BLE module HM-BT4502 from HopeRF (datasheet: https://www.hoperf.com/data/upload/portal/20200103/HM-BT4502 Bluetooth Low Energy (BLE) Pass-through Module Specification.pdf ).

I read somewhere in the forum that currently only Bluetooth 3 (over SPP?) external GNSS is supported. I will send the NMEA sentences directly over Bluetooth.

Is it plausible to implement a support for BLE for external GNSS unit with custom serial profile? Something like in this app (see attachment), https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal

There is also open source code for it on github: https://github.com/kai-morich/SimpleBluetoothLeTerminal

Thanks for your responds.

Martin K.

Replies (3)


Hello Martin,

this is definitely an interesting task. But because as I know, there is no service & characteristics specially made for GNSS units, this implementation will be only for users like you. So users capable of creating their own GNSS device, am I correct? I see a use cases also for radio-amateur users or some custom hardware units (like sea sonars) that may report data over BLE over custom service. But, quite some work and you are the first one interested ...

I'll keep this idea open and will forward users with the same interest here. Thanks for understanding.


Hello Menion,

I didn´t find any GNSS unit using a BLE protocol capable of sending full NMEA data directly from GNSS chipset. I found only Qstarz BL1000GT used for car racing, but they are using some custom protocol (very likely not sending full NMEA at 10Hz - too much data). So practically you are correct, that it is for users capable of creating own device, but they are a few BLE modules and chipsets with custom serial profile (from Microchip, NordicRF, Texas Instruments, HopeRF...). I don´t know if some product using a custom serial profile over BLE.

I am targeting long battery life that is why I choose BLE over Classic Bluetooth with Serial Port Profile with much higher current consumption. Latency in hundreds of milliseconds is not a problem for BLE, I will send the data with rate of 0,5 / 1 Hz. I would like to get the data GNSS unit into Locus app, because there is a lot of usable features not that easy to implement into unit itself (map, filters, logging in different formats....). Also there will be barometric pressure sensor, but the easiest way to get the data into locus will be find the altitude field in NMEA and replace it there with more precise barometric one (after calibration)...

The project is now in the design phase, prototype will be ready sometime in september next year. If you find time to implementation till then, it would be awesome :)


Martin K.


Hello Martin,

oki, understand. Currently I'm not a fan of solution, where user have to insert UUID for the service and read/write characteristics manually. But if your solution will have stable UUID values, I'm for sure willing to hardcode support for your device into app. We may at least try and confirm that BLE is usable.

But, warning: in recent version 4.4 of the Locus Map 4, completely new sensor manager was introduced (just 2 days ago). With this system I was working on for last 3 months, I'm finally able to add some special sensors like this one. So if any changes and testing, then only on the Locus Map 4 version (old Locus Map Free). Locus Map Pro is (and will be) in the maintenance mode.

Jiří M. aka Menion

Leave a Comment
Attach a file