RAK 4630 Tracker solution

Continuing the discussion from RAK4630 not connecting to LoraWan:

Hi Bernd.

I try to load the RAK10700 tracker firmware to my RAK4630, It loads ok, but I can not use it. It do not respond to AT commands and I can not acces to it any more.

I only can load the GPS Tracker example who is included in the Arduino IDE, who works ok, but this one. How can I load tghis LPWAN Trackerd solution?

Hi Alejandro,

It seems the Github repo was not updated. I just updated the Arduino files in the repo with the latest code.

Can you retry to download the code from Github and retry.
You need to update the WisBlock-API library to the latest version V1.1.18 as well.

Thank you Bernd. It compiles and I can load it in the tracker. It join the network, but it do not get position, even in the window wher it ever get position for other trackers. It just give me the battery voltage. When I reset the unit I can not contact it through AT command any more.

[11:01:34.886] +EVT:LOCATION NOFIX

[11:01:39.766] +EVT:BUSY

[11:01:39.767] +EVT:START_LOCATION
[11:01:41.929] +EVT:SEND OK
[11:44:10.192] AT+BAT=?

AFTER RESETING IT BY THE BUTTON, STOPS RECEIVING AT COMMANDS (THE COM PORT IS OK). iT DOES NOT JOIN THE NETWORK NEITHER.

[11:44:44.534] AT+BAT=?
[11:46:38.671] AT+VER=?
[11:46:40.027] AT+VER=?

What send interval did you set with AT+SENDFREQ? If you set it too short, the GNSS might not be able to acquire a location. It can take up to 30 seconds after a cold start to get a location.

I recommend a send interval of 120 seconds.

When you push the reset button, what is the status of the blue and green LED’s?

Hi. I set the interval to 150 sec, then I reset it. The leds blinks one time green blue and then blinks green several time and then off.

But still does not fix.

That is strange if you are testing the device at a location where the GNSS antenna can see the sky and is not indoors or shadowed by roofs or tinted windows.

Can you change #define MY_DEBUG 0 in the file app.h to #define MY_DEBUG 1 to get more debug output.

Hi Bernd
I recompilte and reload the firmware to my device.
image

This is the location:

And this is the outpout i get so far:

  • Event Length : 2
  • HVN Queue Size : 16
  • WrCmd Queue Size: 16

--------- BLE Settings ---------
Name : RAK-GNSS-09FFFE0570FE
Max Connections : Peripheral = 1, Central = 0
Address : D5:FA:15:85:8E:D6 (Static)
TX Power : 0 dBm
Conn Intervals : min = 20.00 ms, max = 30.00 ms
Conn Timeout : 2000 ms
Peripheral Paired Devices:

+EVT:JOINED
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
+EVT:SEND OK
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
+EVT:SEND OK
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
+EVT:SEND OK
+EVT:START_LOCATION

This I got from wistool

Oh, I gave you the wrong instructions, you changed the wrong code line.
It should be like this.

But beside of this, it is strange that you don’t get a location fix, as the RAK10701 next to it can get it.

Can you check

  • GNSS antenna cable is properly connected
  • point the GNSS antenna towards the window
  • put the lid with the solar panel to another position

Other than that, I am running out of ideas.

It should be something with the code, because with the example code work ok and get position in seconds near the same window, even with 10 seconds reporting, like the 10701.

I am not sure why it doesn’t work for you. It works fine here for me. I have no USB cable long enough to reach a window. But when I connect BLE for debugging and go to my frontyard, I get perfect location fix within a short time (~10 seconds):

19:48:40->UBLOX found on I2C
19:48:40->
19:48:41->Could not find a valid BME680 sensor, check wiring!
19:48:41->
19:48:41->============================
19:48:41->GNSS Precision:
19:48:41->   6 decimal digit precision
19:48:41->Data format:
19:48:41->   Cayenne LPP data format
19:48:41->============================
19:48:41->+EVT:GNSS OK
19:48:41->+EVT:ACC OK
19:48:41->+EVT:ENV FAIL
19:48:41->Successfully joined network
19:48:41->
19:48:41->+EVT:JOINED
19:48:41->GNSS Task started
19:48:41->
19:49:44->ACC triggered
19:49:44->
19:49:44->Timer wakeup
19:49:44->
19:49:44->GNSS Task wake up
19:49:44->
19:49:44->+EVT:START_LOCATION
19:49:44->poll_gnss
19:49:44->
19:49:45->GNSS timeout 90000
19:49:45->
19:49:45->Using RAK12500
19:49:45->
19:49:53->Fixtype: 3 Fix type 3D
19:49:53->
19:49:53->Lat: 14.4212 Lon: 121.0069
19:49:53->
19:49:53->Alt: 110.42
19:49:53->
19:49:53->Acy: 1.48 
19:49:53->
19:49:53->+EVT:LOCATION FIX
19:49:53->GNSS Task finished
19:49:53->
19:49:58->Packet enqueued
19:49:58->
19:49:59->LPWAN TX cycle finished ACK
19:49:59->
19:49:59->+EVT:SEND OK

Did you double check the connection of the cable and tried to relocate the GNSS antenna direction?

I fix the log and also change the GPS antena for a new one.
I would like 6 decimal precision.

This is my configuration:

And this is the log I get:

============================
GNSS Precision:
4 decimal digit precision
Data format:
Cayenne LPP data format

+EVT:GNSS OK
+EVT:ACC OK
+EVT:ENV FAIL
--------- SoftDevice Config ---------
Max UUID128 : 10
ATTR Table Size : 4096
Service Changed : 1
Peripheral Connect Setting

  • Max MTU : 250
  • Event Length : 2
  • HVN Queue Size : 16
  • WrCmd Queue Size: 16

--------- BLE Settings ---------
Name : RAK-GNSS-09FFFE0570FE
Max Connections : Peripheral = 1, Central = 0
Address : D5:FA:15:85:8E:D6 (Static)
TX Power : 0 dBm
Conn Intervals : min = 20.00 ms, max = 30.00 ms
Conn Timeout : 2000 ms
Peripheral Paired Devices:

+EVT:JOINED
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
01740197
Packetsize 4
+EVT:SEND OK
+EVT:START_LOCATION
+EVT:LOCATION NOFIX
017401A1

Something with the GPS type selection? or with the 4 or 6 decimal selection? I saw that you have 6 decimals and I just 4.
Something with the RUI or not RUI configuration? the 10701 is RUI and this is not.

With the GPS example works fine with 6 decimals.

Hello Alejandro,

There are a few differences between the RAK10701 and the WisBlock Kit

RAK10701 WisBlock Kit 2 comments
RUI3 code Arduino code should make no difference for location acquisition
GNSS module RAK12500 GNSS module RAK1910 RAK12500 is supporting more GNSS satellite systems (could be a cause) and is faster in location acquisition
Uses I2C communication Uses UART communication should make no difference
Has better GNSS antenna Has standard GNSS antenna could be a cause

Changing the format between 4 and 6 digits makes no difference, the location acquisition is the same, only the latitude and longitude values are truncated in the 4 digit format.
You can change the format with the AT command AT+GNSS=1 to 6 digits.

I tried both 4 and 6 digits format and this time using the RAK1910 and it shows no difference. Going outside, I get a location with the RAK1910 within a short time.

I have no more ideas regarding your problem, I cannot reproduce your problem.
Can you try to take the device outside and give it a try? You can connect to the device after boot with a BLE Terminal app or my WisToolBox to see the debug output over BLE.

I load the firmware from the flash image and works! To compile it and to load do not… I do not why!

The only problem that I have now is to decode it. I just get the battery voltage who is under uplink_message/frm_paylod , but the position is under locations/frm_payload.
I try with the decoder in TTN-Ext-LPP-Decoder.js but I can not get the data.
Another important data I need is the Accuracy to use the device as a mapper device in TTN mapper too.

This is the payload i’m receiving.

{
“name”: “as.up.data.forward”,
“time”: “2023-01-20T04:08:36.088171213Z”,
“identifiers”: [
{
“device_ids”: {
“device_id”: “eui-ac1f09fffe0570fe”,
“application_ids”: {
“application_id”: “lorawan-scanner”
},
“dev_eui”: “AC1F09FFFE0570FE”,
“join_eui”: “70B3D57ED00201E1”,
“dev_addr”: “260C5522”
}
}
],
“data”: {
@type”: “type.googleapis.com/ttn.lorawan.v3.ApplicationUp”,
“end_device_ids”: {
“device_id”: “eui-ac1f09fffe0570fe”,
“application_ids”: {
“application_id”: “lorawan-scanner”
},
“dev_eui”: “AC1F09FFFE0570FE”,
“join_eui”: “70B3D57ED00201E1”,
“dev_addr”: “260C5522”
},
“correlation_ids”: [
“as:up:01GQ6NTDFFQ46RZ2NEBJHE9RXW”,
“gs:conn:01GQ63WNFKE258W4W0Z0Z7JNSB”,
“gs:up:host:01GQ63WNM73AN0RWZEAX70A4GM”,
“gs:uplink:01GQ6NTD8VVJMSJ8BJXREEW11K”,
“ns:uplink:01GQ6NTD8WSBV2QYX40K2BH07M”,
“rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01GQ6NTD8W1ZCEXYPF6PRXPD2P”,
“rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01GQ6NTDFF7J74GPJ5J572K75G”
],
“received_at”: “2023-01-20T04:08:36.079647131Z”,
“uplink_message”: {
“session_key_id”: “AYXNIQgh14/GVnUzgrXtrw==”,
“f_port”: 2,
“f_cnt”: 25,
“frm_payload”: “AXQBng==”,
“decoded_payload”: {
“data”: {
“voltage_1”: 4.14
}
},
“rx_metadata”: [
{
“gateway_ids”: {
“gateway_id”: “eui-ac1f09fffe0148a2”,
“eui”: “AC1F09FFFE0148A2”
},
“timestamp”: 1774579068,
“rssi”: -39,
“channel_rssi”: -39,
“snr”: 11.8,
“uplink_token”: “CiIKIAoUZXVpLWFjMWYwOWZmZmUwMTQ4YTISCKwfCf/+AUiiEPzal84GGgwIw6eongYQseTYnQMg4Nie6dKnBA==”,
“channel_index”: 6,
“received_at”: “2023-01-20T04:08:35.766983205Z”
}
],
“settings”: {
“data_rate”: {
“lora”: {
“bandwidth”: 125000,
“spreading_factor”: 9,
“coding_rate”: “4/5”
}
},
“frequency”: “916400000”,
“timestamp”: 1774579068
},
“received_at”: “2023-01-20T04:08:35.868462350Z”,
“consumed_airtime”: “0.185344s”,
“locations”: {
“frm-payload”: {
“latitude”: -32.95006,
“longitude”: -71.53544,
“altitude”: 87,
“source”: “SOURCE_GPS”
}
},
“network_ids”: {
“net_id”: “000013”,
“tenant_id”: “ttn”,
“cluster_id”: “nam1”,
“cluster_address”: “nam1.cloud.thethings.network”
}
}
},
“correlation_ids”: [
“as:up:01GQ6NTDFFQ46RZ2NEBJHE9RXW”,
“gs:conn:01GQ63WNFKE258W4W0Z0Z7JNSB”,
“gs:up:host:01GQ63WNM73AN0RWZEAX70A4GM”,
“gs:uplink:01GQ6NTD8VVJMSJ8BJXREEW11K”,
“ns:uplink:01GQ6NTD8WSBV2QYX40K2BH07M”,
“rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01GQ6NTD8W1ZCEXYPF6PRXPD2P”,
“rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01GQ6NTDFF7J74GPJ5J572K75G”
],
“origin”: “ip-10-101-7-200.us-west-1.compute.internal”,
“context”: {
“tenant-id”: “CgN0dG4=”
},
“visibility”: {
“rights”: [
“RIGHT_APPLICATION_TRAFFIC_READ”
]
},
“unique_id”: “01GQ6NTDFRD5V3063B4H0GHY3M”
}

Strange that the fresh compiled code doesn’t work. Can you show me the settings
image
the BSP version


and the WisBlock-API library version

For the payload decoding, we have a payload decoder that works with most newer RAK devices RAKwireless_Standardized_Payload
The payload decoder works on TTN, Chirpstack and Helium.

Hi again Bernd.
I buy another kit to build another LPWAN Tracker following all the instaructions:
One
RAK 4630 Core
RAK 12500 GPS
RAK 1904 Accel
RAK 19007 Base
With this solution:

The sketch gaves me a compilation error so I try to flash it with the images. Both method does not work.

The previous time the flash method works, but this time not. I do not know what this happens.

It compiles for me without errors.

But I saw there is an updated version (customer request). I will update the repo.

1 Like

Hi Bernd.
I very confused about the behavior of the Tracker solution. I have a Lorawan scanner RAK10701 bought from you and I made a Tracker with exactly the same components and using the Tracker solution software. The RAK 10701 is reliable and accurate, it join the network back every time it loses coverages and get back to it, it follow a smooth track when I use it walking arround. Also the GPS works perfect an reliable.
However the one I made with the same components (RAK 4030, RAK 12500, RAK 1907 and RAK 1904) is completly unreliable and unaccurate.

Here you can see that the scanner (RAK10701) is tracking smoothly all the way over the sidewalks and the Tracker solution lost the GPS signal several times. (rarely captures 6 satellites). Both equipments lost Lora signal during the test bust just the RAK10701 retake it without any action. To retake the signal in the Tracker solution the only way is to reset it with the buttom.
Is there any explanation for this for these very different behaviors?

I am quite impressed by the accuracy and reliability of the RAK10701 and that is why I would like to replicate this behavior in a GPS tracker that I require for an application with many units where the normal behavior will be without coverage and it should report its position as soon as it enters coverage with reliability, such as the Scanner RAK10701 do.

The firmware in the RAK10701 and in the Tracker solution are very different.
But both are open source, so you can as well try the RAK10701 firmware, I am just not sure how it works without the display.

RAK10701 firmware is based on RUI3, so you will have to change the RAK4631 to RUI3 bootloader.

Updating RAK4631 to RUI3
RAK10701 firmware

It might be possible to improve the Tracker solution by keeping the GNSS module powered on all time, but that will lead to reduced battery life time.

Thank you Bernd.

I would like to try with the RAK10701 software. I already updated one RAK4630 to RUI but the sketch does to compile well. Do you have a flashable version to try please? I do not find it in the documentation.

You can try the version from our Download Center