AssetTrackerRK and external antenna

I’m using an asset tracker V2 and started using the AssetTrackerRK lib.
I wanted to enable the external antenna, so I was looking for something similar to antennaExternal() (present in the official lib) but could not find one in the AssetTrackerRK lib.

Is there a way to enable an external antenna in the AssetTrackerRK?
Thank you,
PS: @rickkas7

I updated the AssetTrackerRK library to version 0.1.4. It contains the antennaInternal and antennaExternal methods now.


Great, thank you!

@gusgonnet I’m curious if the v2 of the tracker with the Active GPS antenna has much better GPS reception vs the 1st version GPS hardware?

I was wondering if the new antenna worked better at receiving signals when taken indoors. I have not tried an active antenna yet so not sure how much improvement to expect.

Have you compared the 2 units as far as accuracy and fix times go?

@RWB, that is a good question. I have an active antenna like this:

I am using it indoor (2nd floow office) with my V1 board. My V2 board is not always able to lock until I put it near my office window. I will try using the antenna with the V2 shield for comparison and report back when I get a chance.

1 Like

I haven’t and I won’t be able to since I have only one V2 board, sorry.
We count on your test @peekay123 - thanks!

1 Like

I’m using a new I2C GPS sensor and it works great but when I take it inside any building with aluminum or metal roofs at the grocery or Target even with multiple skylights I loose signal as expected.

I keep wondering if the newer Asset Tracker v2 with the latest uBlox active antenna chip and larger antenna would be able to receive a signal inside these type of buildings or if the GPS signal is just too weak to pass through these types of roofs.

Usually, the normal passive antenna works just fine getting a signal inside a single story stick frame house.

@RWB, to clarify - the Ublox M8N-M8 does not provide an active antenna. It simply has a better, multi-band LNA/SAW front end than previous models. The ATV2 board adds an external LNA/SAW to the passive onboard antenna, making it active. In general, GPS needs good line-of-site access to the sky in order to lock on the satellites. It’s all about signal quality. An active antenna can help but it won’t do miracles. This is a classic case of YMMV.

Where did you find that small active antenna you posted above?

I’m looking for one to test out, my GPS chip has an external antenna with auto switching to Active once it notices an active antenna pulling power.

I modified the Asset TrackerRK library to work with this chip over I2C instead of serial.

@RWB, the antenna is from NavSpark:

Would you share your mods?

Thanks for the link. $9 for that antenna is pretty reasonable :slight_smile:

I shared the library for the I2C GPS sensor if anybody wants to use it.

I had to merge the Sparkfun library for that GPS over I2C with the Asset Tracker RK library so that the GPS data output showed up the same as if it was coming over serial.

I also updated a part of the code where it was using old Fix positions that were no longer a valid Fix which caused the incorrect location publishes. I changed it to find a new Fix if the old fix is older than so much time. I let RK know about this in the past.

The adapted library is here:


I have had good success using the GP-20U7 receiver. It operates on 3.3V, TX 9600baud NMEA-0183 serial link, with the unmodified AssetTrackerRK library.

Details here:

I have also had good success with the V2 shield without an external antenna.

My application is all outdoors.

1 Like

The specification for the u-blox GPS receiver used in Asset Tracker 2 can be found here:

The AssetTrackerRK and AssetTracker drivers do not support setting any parameters in the ublox device other than enabling an external antenna.

The ublox receiver allows tuning many parameters such as which satellite networks to use, type of fix to use (2d, 3d), measurement rate, etc. I have written and published a driver that enables use of many of the features of the device and tried to make it easy to add additional functionality as needed. The ublox driver (UbloxM8Q_GPS) is accessed via a thin driver layer called AssetTracker2 which is similar in capability to the original AssetTracker driver.
I haven’t yet published the latest version that uses the odometer and static hold features of the ublox receiver but I can if anyone is interested. Static Hold tells the device to suppress duplicate position reports. It includes the ability to set distance and speed parameters to filter out the jitter when the receiver is sitting still in a position where it gets noise and reflections of gps signals causing variable position readings.

Please do share your updated driver with the extra features that sound great.

I updated it the AssetTracker2 and UBloxM8Q_GPS libraries. If you are interested take a look at the example in AssetTracker2 0_GPS_Features. It has basic examples of the functionality.