SODAQ ONEv3 + UniversalTracker-v3 gets unstable after a few hours

We have been doing some LoRa testing and mapping by using our SODAQ ONEv3 board with the UniversalTracker-v3 software on it. I find after a few hours it starts to malfunction and having a tracker that doesn’t work for more than a couple hours is really frustrating. I’ve searched but can’t find anybody else talking about this so I don’t know if we have a faulty board or are just the first ones to run into this.

Here are my problems, ranked in order of most severe to least severe:

  1. Eventually transmissions stop, with the debug console citing “PayloadSizeError”. A section of log from the device is included below. The last message I have in my log seems to be a new join request from the device but since this happens at difficult times to observe the device (overnight) I don’t have the debug log from when that happened.

  2. Duplicate messages begin showing up in my TTN console, they get marked as historical and are ignored but this seems like it might be related to #1

  3. I occasionally seem to get downlink messages (is it requesting ACKs?..) even though no application on my side is configured to ever send downlink (aside from OTAA join messages)

  4. Sometimes the GPS goes completely nuts when signal strength is low, moving as much as 4 degrees (this is also visible towards the end of the debug log I am pasting below)

The first two seem like perhaps some kind of memory leak or allocation problem is occuring, and I wonder if maybe that is bleeding over and causing the last two?
Has anybody run into this? Sodaq people - can you offer any help here?

So far I have attempted reconfiguring the device, and recompiling then reflashing the firmware. I have ensured the device is powered over USB and also has the battery connected so that it does not lose power at any point in time.

I have censored exact locations since this is being publicly posted.

Here is a screenshot from my TTN console showing the extra messages

And here is a section of the debug log

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536161101, 111, 22, 499XXXXX, -1194XXXXXX, 6600, 111, 1, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536161281, 111, 22, 499XXXXX, -1194XXXXXX, 6600, 111, 1, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536161461, 111, 22, 499XXXXX, -1194XXXXXX, 6600, 111, 1, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536161635, 111, 22, 513XXXXX, -1220XXXXXX, 6002, 412, 233, 4, 115

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536161731, 112, 22, 552XXXXX, -1235XXXXXX, 6254, 239, 56, 4, 91

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536161881, 111, 22, 552XXXXX, -1235XXXXXX, 6254, 239, 56, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536162061, 111, 22, 552XXXXX, -1235XXXXXX, 6254, 239, 56, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536162241, 111, 22, 552XXXXX, -1235XXXXXX, 6254, 239, 56, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1536162421, 111, 22, 552XXXXX, -1235XXXXXX, 6254, 239, 56, 0, 255

Received PayloadSizeError from the module.
Default fix event started.
Starting getGpsFixAndTransmit()...

It only seems to happen in areas where there are no gateways (i.e. if I drive out of range for a few hours), also after some resets it fails to join indefinitely and needs to be reset again.

Try setting RETRY = 1 in the options menu I had this too, after doing that it seemed to work non stop

I also had an issue if the frequany was set to 1 minute. it works on 2, but 1 it does not, ia ssume its not getting gps

Old thread, but I’m having a similar problem. Sodaq One worked fine for a month or so, now won’t report at all. WHen I enable debug mode and monitor, I get:

Initializing LoRa…
Initializing LoRa…
Trying to join…
LoRa initialized.
** Boot-up completed successfully!
Starting getGpsFixAndTransmit()…
Setting RTC from 946684884 to 1566327985
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1566328048, 96, 33, xxx508782, -xxx7907266, 586, 0, 13, 8, 64

Received PayloadSizeError from the module.

And then nothing happens for a bit, followed by essentially the same message:

Default fix event started.
Starting getGpsFixAndTransmit()…
Timestamp, BatteryVoltage, BoardTemperature, Lat, Long, Altitude, Speed, Course, SatelliteCount, TimeToFix
1566329041, 99, 33, xxx510895, -xxx7909802, 592, 10, 13, 5, 121

Received PayloadSizeError from the module.

Neither of these are received by the gateway, so assume they aren’t being transmitted.

OK, I’m guessing that a combination of the size of the timestamp and the extra character for the negative longitude are causing the string to be longer than the programmers anticipated. Will see if I can find a copy of the source code and see what’s going on.

There are restrictions on the maximum payload size.This maximum depends both on what region / band you are operating in and what data rate you are transmitting at. See the regional parameters specification for the details:
https://lora-alliance.org/resource-hub/lorawanr-regional-parameters-v102rb

There are exceptions though. For example in the the EU868 band you should ordinarily be able to transmit a 51 byte payload (regardless of the data rate). However, it is possible that the LoRa module needs to transmit some MAC layer data which will reduce the maximum payload even further.

Thank you, Gabriel… I’m not sure the problem is related to transmission restrictions. I’m using a unmodified SODAQ Cow Tracker (which is the SODAQ One V3), with unmodified Universal Tracker V3 sketch firmware. The device worked fine for several months, but recently stopped working.

I’ve hooked it up to a PC for monitoring and it seems to be attempting a transmission every 15 minutes (as configured), but shows the “Received PayloadSizeError from the module.” after every cycle. This error message seems to be generated by one of the libraries used by the sketch, but I haven’t figured out which one.

And @GabrielNotman was correct. :slight_smile: Not sure why the payload size increased all by itself, but increasing the spread factor to 9 and unchecking ADR reenabled transmission.

Hello,

i have the same problem, With the Tracker V3 works all fine.
You have a solution ?

Thanks

Hi @Philipp_Luond,

The payload does not fit in the SF10 of the RN2903 US firmware.
Turning ADR off and using SF7, 8 or 9 should solve the issue.

Best regards,
Jan

1 Like