ceezblog.com

I like cat, isn't it obvious?

Category: Electronics

  • Building desktop PC with mobile chip 7945HX

    Building desktop PC with mobile chip 7945HX

    Why I want a new PC with mobile chip

    As recently, my 5 years old PC’s showing age: bsod and crash during web browsing. It was R5 5600G pairing with 1660 super, a mid-range budget build at the time. I don’t know what causes the crash, but I am not really interested in finding out. It’s served me well during the years. So yeah, let put it to rest and build a new PC.

    Choosing self-built PC instead of pre-built PC

    I’ve been contemplating for almost a month what CPU for my next PC. Thinking Strix Halo would be the best as the iGPU (8060s) is quite on-par with mid-tier discrete GPU, the like of RTX 4060. But the price is quite steep, such as Framework desktop Max+ 395 – 64GB for ~AU$2900 minimum. Let round it up to AU$3000 as you have to buy accessories and stuffs as well.

    I don’t care much about 10-20% CPU processing power difference, it still is huge improvement over my old PC. My work is about 2D and 3D cad (kicad + fusion) mostly. I also do some light gaming for entertainment.

    As for the budget AU$3000, I could build a better PC compare to Strix Halo. Just some rough estimate for AM5 R7 9700X system:

    • 600 for GPU
    • 600 for CPU
    • 300 for Motherboard
    • 300 for RAM
    • 300 for case + PSU
    • 300 for SSD

    That was around AU$2400 and I still had budget for better CPU or better GPU. Don’t get me wrong, I am not complaining about Framework desktop being overprice, because it isn’t. Of course, they have to make profit out of low volume product and that price point is quite good actually. Compare to HP Z2 Mini G1a for AU$3400 with lower specs, it is actually plenty cheap

    I could go with BD790i X3D with Zen 4 7945HX-3D (about 5-10% processing power lower from Zen 5 395+ AI Max), and still have ITX form factor (same as framework motherboard, but without the grunt of iGPU).

    The size is 170x170mm, very compact and small. But I have to pair it with a discrete GPU as well as SFF/SFX PSU which is not that small to fit into tiny case. I did have a thought about some fancy cases like Thermaltake tower 250, though it is huge considering support only ITX motherboard

    But then stepped down a notch, choosing mobile chip 7945HX coming with BD795M. I was lucky to get the low price before it was jacked up by tariff or whatever. And 3 weeks later, this is the new price almost as twice as much.

    US$360 = AU$546 and US$624 = AU$946 (exchange rate at the time of this post)

    Compare to R7 9700X, R9 7945HX is about 15% less to 9700X in single core task but overpower by 40% in multi-core task. This is quite easy to understand as it is 16 core Zen4 vs 8 core Zen5. This actually perfect for me. I don’t play game much so that single core task is less important for me, but I’d like to open multiple chrome tabs, like 20-30 tabs at a time.

    I saved about AU$350 out of AU$900 for similar performance.

    Yeah, this is mATX board and it takes SODIMM instead of DIMM. It’s common to use SODIMM in constrain space of small form factor PC, like Dell optiplex micro series, but there are plenty of board space here. It would be better to use DIMM ram instead. There are much more options to buy DDR5 desktop ram, but less options for DDR5 laptop ram.

    I feel funny about this board: AMD CPU but employs Intel 1700 socket heatsink fan. And of course, this spells trouble for me. More to it later.

    So, the TDP of CPU is configurable in BIOS for 75w or 55w, quite power hungry for a mobile CPU (a highend one actually).

    Assembly this PC is very much the same as normal desktop PC

    Except when it isn’t. This is the specs:

    • BD795M motherboard with mobile Ryzen 9 7945HX (soldered)
    • 2×32 DDR5 SODIMM Crucial 5600MT
    • 2TB Kingston NVMe
    • Old wifi module salvaged from broken laptop
    • XFX 9060XT 16GB
    • MSI MAG E240 AIO watercooler
    • 3x Thermalright 120 fan
    • Lian Li A3 mATX case
    • FSP Vita GM 750W (modular)

    The maximum power consumption is roughly 300w (CPU 75w + GPU 160w + FANS + SSD + RAM….). I was aiming for 500w or 550w PSU, say, 40% more for headroom. But for modular PSU, there is nothing below 750w, kinda sad.

    Overall, the process is quite straight forward:

    • sit ram, nvme ssd, wifi card on the board, install CPU bracket / backplate
    • put the board in the case
    • install GPU
    • plug in power cables
    • do cable management a bit
    • install radiator
    • install CPU cooler block/pump
    • install fans
    • boot up and install windows
    • do final cable management

    Nothing worth to note down really

    And here comes the trouble with AIO cooler

    It went smoothly but then I booted into windows the CPU temp was 95°C. I was kinda panic, as leaving CPU burning hot like this is not good. Fortunately, this board already has a beefy heatspreader, to prevent the CPU from release the magic smoke.

    Here is the problem: this AIO bracket/mount thing doesn’t have springs for compression like other waterblock mounting, but a fix-length spacer or standoff.

    The idea is good, as fix-height standoff like that won’t bend the motherboard if you tighten the nut too hard. I am sure it’d work wonderfully for Intel CPU.

    But… this isn’t genuine intel 1700 socket, so the height from the board to the top of the IHS isn’t the same. And that causes thermal throttling as the waterblock never touches the IHS of this CPU. When I removed the waterblock (also pump), the thermal paste, which applied in X pattern, was barely squashed down and still had the same X shape. Bummer! By judging the evidence of thermal paste, there would be about 1-2mm gap. I didn’t take picture of it so you have to take my word for it.

    Futhermore, the standoff doesn’t sit flat on the motherboard. The back plate was rattling around when I was installing the motherboard inside the case. I guess that is why they have 2 strips of double side tape on the backplate to keep it in place not rattling around.

    The solution is easy, 3D print a standoff 18mm height to replace original standoff. That is to reduce about 1.8mm off the height of original standoff of the cooler.

    These 3D printed standoffs combine with M3 screws 40mm long is perfect setup for me. I print this in PC. It has to be impact resistant as well as heat resistance. ABS or ASA may work but not PA (including PA-CF). Because PA does creep too much under compression, that’d potentially undo the nut holding it down.

    Well, if you don’t have a 3D printer or nuts or screws like what I have, then sucks for you. I really can’t imagine how you can deal this situation, probably return the MSI AIO cooler and try something else. I happen to have quite a collection of M3 screws and nylon standoffs for electronics and this designing and solving problem is kind of my work actually.

    You probably get away with 2x 8mm nylon standoff (PA6) + 2x washer + 40mm long M3 screw for each corner. These injection molded nylon part does not creep under compression unlike 3D printed PA6 part. However, it feels like fixing stuff with sticky tape, so that is why the 3D printed standoff instead.

    Yeah, I replace MSI fans to Thermalright TL-S12W since I bought 6 of them for matching style and lighting. Unfortunately, BD795M doesn’t have ARGB controller, which is quite odd. Nowadays all motherboards should have ARGB controller onboard already. I did have a thought to build the controller using arduino plaform since it is just Addressable RGB LED and mostly arduino library would run just fine, but meh! Just buy a off-the-shelf cheap controller and be done with it.

    The system runs very well and cool, and very quiet

    The CPU is cool, as it is watercooled of course. Anyhow, this thanks to great performance of MSI MAG CORELIQUID E240

    TDP of 7945HX is set 75w in bios, which is slightly higher than 65w of most AMD desktop chips but still no problem for MSI MAG E240.

    I really don’t care much about benchmarking number. It is like, your car can do 350 KMH but speed limit here in Australia is 110 KMH for motorways and 50 KMH for local streets. I agree you need some number to tell the performance differences between systems, but I’m just too lazy to install those benchmarking software (haha). A youtuber claims this BD7950M is quite close to Cinebench R23 benchmark of 7950X desktop variant, which is 170w TDP and costs twice as much.

    Compare to my old system, this is much aesthetically pleasing

    Possibly improvement CPU cooler mounting

    For now, the CPU cooler mounting is exactly the same, only the height of standoffs are different. And yes there is a tiny chance of the nut will loosen itself because of thermal cycling. To fully eleminate it, I have a plan to use blinded M3 nuts + springs to have constant pressure, which of course would be better. The blinded nuts still stop it from going down too far. Combine with the same spring at 4 corners, then you’d have same pressure on four corners.

    I saw some dude chipped off a corner of the die of AMD Athlon K7 (Thoroughbred or Barton, I forgot) while installing homemade watercooler, around 2003 or so. Yeah, the good old days.

    And this would complete the build. But for now it is well enough!

    ————————

    If you have the exact same system and want to print the standoff, here is the fusion archive file:

    standoff_msi_cooler_for_DB795M.f3d

    ————————

    Edit 30-09-2025:

    After a week of daily use, I found a small problem that I couldn’t solve: The SATA drive pops in the “safe remove menu” of windows and I eject it by mistake. Actually I was quite careful before I click but I wanted to try and see if it is possible to eject the SATA disk like a USB drive, it did actually eject the SATA drive. So, I had to open the side panel of the case and reconnect the sata cable and *voila* the drive enumerates itself back in the system.

    I tried to look for an option to disable hot-swap feature but failed. I didn’t have high hope anyhow as I knew the BIOS is just bare metal before I bought it.

    Support from MINISFORUM told me that this motherboard does not support SATA hot-swapping (as expected) and thus there is no option to disable it in the BIOS.

    I found a registry hack to hide these SATA drives from Eject menu

    TreatAsInternalPort.Reg
    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device]"TreatAsInternalPort"="01"

    That will hide SATA port 0 and SATA port 1 from Eject menu

    You just save as reg file or open regedit and create a string TreatAsInternalPort with content “01”, DWORD 32 or DWORD 64 type also works but the content is different as byte string {‘0’, ‘1’} convert to DWORD32 = {0x30, 00, 00, 00, 0x31, 00, 00, 00}. You know, DWORD32 = 4 bytes for a single character while byte string = 1 byte for each character.

    Just reboot and enjoy!

  • Revisit my homemade T12 soldering station

    Revisit my homemade T12 soldering station

    TLDR; I upgrade my soldering station. Design and print standalone stand for the handle. Include some ranting and story behind it.

    My first homemade soldering station was made 8 years, more or less. It still works just fine. During the years, I’ve made a few more giving to friends. They haven’t complained, yet! (haha).

    I have opensourced my solder station here https://github.com/ceezblog/T12-Solder-station

    My first soldering station was HYLKKO 936, a Yihua 936 clone and chinesium copy of Hakko FX888D. As you might have guessed it, it wasn’t that bad, certainly an upgrade from cheap soldering iron that has a no temperature control circuitry. It took quite sometime for the iron tip (900M series tip) to get up to temperature. There was no sleep function, pretty much the tip stay hot up to target temperature as long as it powered.

    The problem is, I forgot to turn it off a dozen times. Yes, I left the solder iron 300°C hot for half a day until I turned off the light, going to bed. And just at that moment I saw the only frigging LED of the solder station was blinking on for a brief moment… That only red LED turns on when the temp rising up but off when reaching the correct temp. If it is idling at target temperature, that LED only turns for half a second then off for 10-20 seconds. The good news was it didn’t pump power to the iron tip constantly, but only top it up to keep the temp at target. But still, leaving something burning hot unattended was really really bad idea.

    There are two scenarios here:

    • They forgot to put an extra LED or on the face plate to help user like me to turn it off, or just want shave off $0.001 cost of an LED and a resistor.
    • They don’t care about user experience, the iron does get hot and that is enough, wrap it and sell it

    I tend to think the latter is the case here. This is what China is well-known of, the Chabuduo mindset, google it.

    At some point, I had to make a simple buzzer that beeps every 5 minutes to remind me to turn it off. Now it is permanently a heat set press jig for installing threaded brass insert. It did serve its job to help me build my own soldering station though.

    Recently, I moved house, set up new home-lab and I pretty much rearranged everything. I have 2 active soldering stations + hot air station now, exclude that weird heat set press jig.

    Before that, the soldering iron stand was bolted to the side of the case as one piece, very convenience, having them easy to pack up to go. The case was ABS print, still strong after years of service.

    Imagine when I stack 2 of them on top of each other. Yeah, kind of awkward with the iron stand on the side. Thus, I need a standalone stand for the handle.

    What a big deal? just go buy a stand from aliexpress or go search Makerworld, printable and print one? Yeah, nah.

    I have a custom optical sensor (photointerrupter) to detect if the handle is docking, so it will trigger sleep function of the station. The sleep function will keep the tip around 200°C for 5 minutes then turn off the heater completely afterward. This is just for safegarding for user who forgets to turn off their stuffs like me! So, even the case I forgot to turn soldering station off for days, it’d still be safe, the iron would be room temperature cold.

    When the handle is put in the stand, the black lever is pushed down and blocks the IR beam –> hence it called photointerrupter. Pretty much the same as off-the-shelf part, but I don’t have to make a small PCB to hold it. Making PCB and design a way to mount that photointerrupter was kind too much to do. So I rolled with my custom design, it was easier, I don’t have to go back and forth between fusion and kicad.

    Some pictures compare the first PCB vs the second iteration

    The second iteration has some differences in pin configuration as well as minor change in circuitry:

    • Different pins for driving the LCD0802
    • Employ AMS1117 as post filtering, improve temperature reading. First iteration use mini360 directly without post filtering
    • Use a simple LED (forward bias) instead of zenner diode (reverse bias) to clamp voltage at input of LMV321
    • Use 0805 thermistor just to measure temperature inside the case, no need to measure temperature at the MOSFET

    Differences in docking sensors

    The left one used TCRT5000 in a module for line tracking sensor, as my first experiment. It was basically 2 LEDs, IR diode and IR phototransistor put inside a small plastic case. It works by detecting reflecting IR beam from a white-ish surface for a HIGH level output, while dark surface reflect much less IR beam for a LOW level output.

    But of course it only works with bright color handle! Yeah nah ~_~.

    Then I did some experiments with this reflection method. It never worked correctly. Then I changed the sensor design to interrupting instead of reflecting and it worked much more reliable.

    If you read to this point, congratulation! You are just bored and have nothing to do 😀

    And you probably wonder why would I want 2 soldering stations? The answer is: desodering SMD stuffs using 2 soldering irons, like 0805 or similar size. I just need to heat up 2 ends of the part and pick it up just like a tweezer.

    Hotair station is handy for SMD, but sometime this tweezer trick is a lot faster and safer especially working with PCB that has plastic connector such as JST XH. You simply don’t want to deform the connector, yeah?

    So yeah, after 8 years the very first soldering station I made still runs just fine. The cost of each station is about AU$60. Compare to Hakko FX951 ~AU$400 of the same function, it’s not bad at all.

    If you want the stand design by any chances, you can go to my github https://github.com/ceezblog/T12-Solder-station and look the the STL file in folder Enclosure