Optimizing Power Consumption for RAK 1910 GPS Sensor with RAK 4631

Hey everyone,

I’ve been working with the RAK 4631 and RAK 1910 GPS sensor for a LoRaWAN project and noticed that battery life drains a lot faster when using the “GPS-Tracker” example code. My assumption is that the GPS module is running continuously instead of waking up at intervals to acquire data and send it via LoRaWAN. This seems different from other examples like Weather Monitoring, where sensors only activate periodically.

I’ve tried tweaking the implementation to introduce periodic wake-ups for the GPS, but I haven’t had much luck. Has anyone faced a similar issue or found a way to optimize power consumption in this setup?

My end goal is to read data from multiple sensors e.g. RAK 1901 (temperature/humidity), RAK 1902 (barometric pressure), RAK 1903 (ambient light), and RAK 1910 (GPS) and send it to TTN every 30 minutes. Any advice or best practices on managing GPS power usage efficiently would be greatly appreciated!

Thanks in advance!

Welcome back @hgarambha

Our LPWAN-Tracker-Solution example is more optimized for low power consumption.

Another example is the RAK4631-Kit-2-RAK1910-RAK1904-RAK1906

Hi beegee,

Thanks for your response—I really appreciate it. I’ve reviewed the information, but my setup differs slightly.

I’m using RAK 1901, 1902, and 1903 to gather weather data, rather than an environmental sensor. Additionally, I’m not using the acceleration sensor. My hardware setup includes:

  • WisBlock Dual IO Base Board
  • RAK 4631
  • RAK 1901
  • RAK 1902
  • RAK 1903
  • RAK 1910

I’m curious—does your system use the acceleration sensor to manage intermediate GPS data collection? I’ve noticed that in my case, the GPS sensor is running continuously, leading to significant power drain.

Would you like to take a look at my code? Let me know!

Thanks,
HG

If you do not need to detect motion, you can just use a timer to read the GPS.
Power it up with WB_IO2 set to high, then read from GPS until you get location (or a timeout), then power down the RAK1910 by setting WB_IO2 to low.

Hey beegee,

We’ve tried the exact same! but that is what put us in this trouble! If you can share a code of yours that’d be great.

Thanks,
HG

I shared links to my examples two posts above