I just got a new UM790 Pro Mini PC (barebones with RAM and SSDs separately purchased and installed). This blog post describes some fixes to improve WiFi and Bluetooth performance (range, speeds, reliability etc.) as well as cooling and fan noise.
Background
The UM790 Pro Mini PC by Minisforum with the AMD Ryzen 9 7940HS APU is a promisingly powerful piece of kit. Unfortunately, the promise is undermined by poor WiFi/Bluetooth performance and reports of general instability. A lot of the instability can be rectified by carefully selecting high-quality brands of DDR5 RAM and NVMe SSD drives and installing the latest drivers in Windows or kernel 6.4+ in Linux. However, the causes of poor WiFi and Bluetooth are due to physics; specifically, the way the antennas are mounted inside the case. This can not be rectified with software. So let’s look at various hardware fixes.
The UM790 Pro recommends attaching a heatsink on the lower DDR5 RAM stick. However, I do not want to attach the RAM heatsink immediately because the RAM needs to be properly tested over a period of days and in case it is faulty, it’ll need to be returned. The return might be tricky if the heatsink remains glued to the RAM stick or damages the RAM while coming off. The UM790 Pro’s bottom panel also has a small cooling fan and heatsinks/spreaders for the NVME SSDs. Similar to the RAM, the SSDs also need to be tested for some days. So I wanted to find a temporary solution to cool the mini PC RAM and SSDs during the early testing that does not involve gluing heatsinks. I found a solution that is so simple, effective, and low-noise that I might use it permanently.
Improving WiFi
By default, the antennas are glued to the inside of the plastic bottom panel. When the case is closed, the antennas seem to have problems with picking up RF signals. https://fast.com showed download speeds of about 15 Mbps. Meanwhile, my Macbook Pro M2, which was right next to the UM790 Pro showed 150 Mbps. However, after unscrewing and pulling aside the UM790 Pro’s bottom panel, the problem disappears and the UM790 Pro also achieves 150 Mbps download speeds.
Conclusion: At least in my circumstances, merely opening up the rear panel leads to a 10x improvement in WiFi speeds. So it is clear that the antennas’ default mounting is no good.
There seem to be at least 4 possible solutions:
- Use an external USB WiFi/Bluetooth dongle. These are fairly cheap, they bypass the problem entirely, and require zero tinkering. However, since I have already paid for the WiFi 6E card in the UM790 Pro, I’d like to use it, instead of leaving it dead inside the case and additionally purchasing a new dongle :)
- Insert plastic/nylon spacers on the mounting screws of the bottom plate. This will create a gap between the bottom plate and the rest of the body, due to which the WiFi performance will improve. However, in my testing, I noticed that a substantial gap (about 1.5 inches) needs to be opened up for the WiFi performance to noticeably improve. Such a substantial gap may reduce the cooling performance, lead to dust ingression, and it looks a bit ugly. Also, the screws that hold the bottom plate need to be replaced with longer ones. All in all, not an ideal solution.
- Replace the internal antennas with external ones. This requires replacing the existing cables with ones whose one end connects to the WiFi card and the other end goes to a coaxial RP-SMA connector that needs to be mounted to the case. External antennas can then be screwed on to the coaxial connectors. This requires modifications to the case in the form of cutting holes to mount the coaxial connectors. See these photos by Reddit user u/thekk_yasokuuhl for a very neat example. This solution is very nice, though it requires a bunch of effort.
- Finally, there’s the less elegant but effective solution that I ultimately adopted. It requires no new components and no modifications to the case. Simply peel off the existing antennas glued to the inside of the back panel. Remove the antenna cables from the WiFi card and bring the antennas and cables outside the case. Re-insert the cables back into the case through the side grid. The connectors that go on the WiFi card are small enough that they just about fit through the holes in the side grid. Now the antennas can be glued to the case externally (probably not on metal) or they can just be left dangling in the air, which is what I did.
Now both WiFi and Bluetooth have excellent performance and reliability.
Improving cooling
I happened to have an AC Infinity Multifan S3 which is a cheap, quiet, 120mm USB fan with manual speed control.
After removing the legs and finger guard grill on the side through which the fan sucks in air, this fan fits almost perfectly inside the UM790 Pro case (after removing the bottom plate). It rests on the metallic parts inside the case through which the bottom plate screws go when fastened. So literally all that needs to be done is to place the fan inside the case and plug the fan’s USB cable into one of the USB ports. The speed of the fan can be controlled manually using the switch that is integrated into the USB cable. When working, the fan pulls air from inside the case and pushes it out through the grill on the other side.
You can also turn the whole assembly upside down, so that it rests on the 4 rubber feet of the fan. The feet provide clearance for air flow.
The whole thing fits neatly beneath my monitor, giving some vibes of a Mac Studio beneath a Studio monitor ;)
In this configuration, the CPU, iGPU, and both RAM sticks stay below 32°C during my normal use (lots of tabs open in browser, a few other document editing, sync, and terminal programs running). All of this at an ambient temperature of 22°C. The fan is fairly quiet at 18dbA (I can hear it, but just barely) and has 52 CFM of airflow, which seems plenty for this Mini PC. The default case fan that comes with the UM790 Pro is also probably equally silent, but it remains to be seen if it can keep the internal temperatures as low as this fan.
Edit (15 August 2024): Someone created a 3D model for the fan case with ports for antennas. You can find it here.