I hope this helps someone new or those wondering which CM module to buy.
Now that I’ve had a few days playing with both CM4 and CM5 with and without the Waveshare spacer board, here’s what I think about the setup…
There’s a huge difference between CM4 and CM5. I have swapped them out multiple times and, performance-wise, there’s a stark difference between the two Pi boards. I haven’t run performance comparison apps, but generally in daily use the CM5 is noticably much faster with everything. The CM4 runs well and is perfectly adequate for most things though, with some lag and high CPU usage. The CM5 suffers from these at times too, just nowhere near as often.
The big issue is heat. I have been using the CM5 fitted to the ‘Waveshare Interface Protection Adapter Board’ (available on Amazon), which is in turn fitted to the uConsole mainboard. This gives two layers of air between the mainboard and CM5. On top of that, I have a layer of 1.5mm ARCTIC TP-3 thermal pad between the CM5 and the rear metal case cover.
I wasn’t entirely happy with this setup though. The height of all these layers physically pushes the rear cover out and even bends it - not good. It certainly helped dissipate heat away from the boards and onto the rear metal cover, but can’t be good for the pressure being put on the boards.
On initial bootup with CM5/Waveshare the temp monitor in Linux shows 35 degrees with nothing but the OS running. This seems to stay fairly constant to begin with. After about an hour with nothing else running, the temp rose to 55 and stayed there. I think the passive cooling keeps it at this temp without anything other than the OS running.
Playing a full screen video in VLC immediately after bootup, for around 10 minutes, pushes the temp to 43-45. Again, leaving this running for longer takes the temp up to 60ish.
Adding a nooelec USB RTL-SDR dongle and running SDR++Brown software to listen to FM broadcasts for 10+ minutes takes the temp up further to 62 and it continued climbing. The CPU is showing 17-25% utilisation.
At this point, the rear cover gets hot around the area of the CM5!
So, I just re-fitted the CM5 without the Waveshare board and ran SDR++Brown with the nooelec dongle again. It lasted less than 3 minutes, the OS stopped and the screen went blank (although the power LED was still lit!) and I had to remove the batteries to shut it down. The last I saw was 82 degrees just before it died. Yikes.
So, I have a solution that I’m currently testing. I swapped out the stock hex bolts (M4x6mm) for some I bought (Amazon), which are M4x8mm. I also added two thin M4 washers to each of the four corner mounting holes. This adds a 2mm gap between the chassis and rear cover, which hopefully will improve air flow inside the unit and also prevents the CM5/Waveshare board combo from pressing against the rear cover.
The other solution I thought about for spacing is to 3D print some kind of surround between the chassis and rear cover. Think head gasket on a car. The thickness of the ‘gasket’ could be adjusted to accommodate space inside the case, if you could live with that. This, of course, would trap the hot air inside the case, unlike the idea I’m trying now with just washers.
After 20 minutes running SDR with this setup (along with Wifi and BT), I’m seeing a peak of around 63 degrees. It doesn’t go higher than that and drops to 61 every so often. GPU temp is showing 27-29 degrees fairly consistently.
The rear cover gets hot (almost too hot to touch) over the area where the boards are and it’s warm everywhere else (including where the batteries are). I guess that means the passive cooling is doing its job.
I do think the uConsole would benefit from some kind of active cooling given the CM5 heat issues, much like the tiny extractor fans we often see in handheld gaming consoles such as Odin 2 and Steam Deck. This would help enormously if there’s room in the case for something along these lines. I’m happy to go back to CM4, which never overheats, but would really miss the speed increases.