RAK2245; RPi3B; CPU Temp; 32- vs 64-bit; cases with fans

Issue: High RPi-3B+ CPU temp

Setup: RPi 3B+ with RAK2245; Raspbian 4.19.97-v8+ or 7l #1294; open case

Server: ttn-gateway

Details: I’m running RAK2245 on a RPi 3B+ under Buster. RPi is mounted on a plastic case but open sides and top; stands on its side. I run lora_pkt_fwd to forward packets to TTN (modified to store packets to local sqlite3 database):

*** Beacon Packet Forwarder for Lora Gateway ***
Version: 4.0.1
*** Lora concentrator HAL library version info ***
Version: 5.0.1;

I log the CPU temp every 6 minutes into an sqlite3 database and then monitor over time ( https://github.com/hdtodd/RPiTempLogger ).

I found that the CPU temperature with the 64-bit kernel is averaging 60 °C. I recall that the average with the 32-bit kernel was a few degrees less; I’ve just reverted to the 32-bit kernel.

I’m concerned that the high CPU temp will cause premature failure of either the RPi, the RAK2245, or both. And the system is only stable for a couple of days and then halts. I haven’t been able to determine the reason (messages indicate some sort of CPU or memory addressing failure, but varies). I’m concerned that this, too, may be temperature related.

I noticed that when the GPS wasn’t working (bad original antenna), the temperature ran a few degrees lower.

So I have a few questions:

  1. If anyone else is monitoring CPU temp with RAK2245, are you seeing similar temperatures?
  2. Can anyone recommend a case with fan that would hold both the RPi3B and the RAK2245?
  3. Can the 1-second GPS beacon be set to emit every 20 or 30 seconds? I think that reduced activity on the GPS would likely lower the temperature of the whole system.
  4. Any other ideas about how to get the CPU temperature lower?

Thanks for any advice you can offer.


Hi. As we make DIY outdoor Gateway based on the same setup. We exceed the 65 degree temp only on sunny weather. https://news.rakwireless.com/lorawan-outdoor-diy-gateway-with-rak2245-pi-hat-rpi-3b-ip67-enclosure-batteries/ . Can you stop the temp monitor script, and just check the temp few times with this command:
/opt/vc/bin/vcgencmd measure_temp
For the PPS signal , I think it is unchangeable, but i may be wrong.


Thanks for the quick response. I have two additional pieces of information to file away for future reference.

First, the 60.0 °C average CPU temp was when I was running the Pi-3B+ with the 64-bit kernel. After my message this morning, I rebooted with the 32-bit kernel. The average CPU temp since then has been 56.7 °C. So it appears that running the 64-bit kernel on the Pi-3B raises the temperature about 3 °C.

The same is not true for the Pi-4. I’m not running the RAK2245 on the Pi-4, but I have done the temperature measurements with 32-bit and 64-bit Raspbian kernels on the Pi-4, and the temperature drops a degree or two with the 64-bit kernel on the Pi-4.

The second piece of information is that disabling RPiTempLogger and doing occasional vcgencmd’s also gives an average of 56.7 °C as the CPU temp. RPiTempLogger doesn’t seem to load the CPU.

I’m still not comfortable with the 56 °C CPU temperature as a steady state, but at least at this point I’ll run the system with the 32-bit kernel and likely stay below 60°C.

I’ll poke around in the lora_pkt_fwd/lmic/hal code at some point and see if I can find a time setting for the PPS beacon. If I find it, I’ll post a followup note, particularly if changing from 1 sec to 15 sec affects the temp of the system.


I’d open up a couple of terminal windows and watch top on one of them whilst starting & stop processes and looking at the temperature - that’s a quick way to see what’s cooking your Pi. I do something pretty similar with my iMac!

Alternatively: https://raspberrypi.stackexchange.com/questions/61003/is-there-a-way-to-log-cpu-load

Plus a bash loop to log the temperature as well


Thanks for the suggestion, Nick. ‘uptime’ reports a load of 0.0. ‘top’ has only two semi-active processes: ‘top’ and ‘lora_pkt_fwd’ at about 1.3% each. A couple of kworkers pop up and go away but nothing consistently loading the CPUs.

I’ve got dormant processes for apache, smbd, nfsd, etc., but none of those are actively using CPU. My RPiTempLogger program samples and records every 6 minutes or so, but is dormant between samplings.

And the CPU temp is pretty stable at 57°C now. So reverting to the 32-bit kernel bought 3°C.

The case is open at the top and has numerous vent holes on the bottom; sides are open.

So I’m probably not going to get the temp lower without finding a case with a fan that’ll hold the Pi + RAK2245, with holes for the antenna leads. That’s gonna be hard to find. :slight_smile:

I’m thinking that maybe the PiHat RAK2245 is maybe not the best design, though I surely appreciate the compactness of the system. Or, perhaps, a ribbon cable that would allow the Pi and the RAK2245 to be installed in a larger case but physically separate, with or without fan.

I’ll put this issue aside for now and think about it a bit before trying to do anything else. I think I’ve done all I can with software & system configuration. Next steps would be in packaging, and that’ll take some thought.


Most of my Pi’s run cool because I don’t push them that hard, but a quick ask around and it was pointed out the official max temp is 85℃ so you are a long way off.

Doing next to nothing, 95% idle, this MacBook runs at 53℃.