All posts by Sam Fisher

Building a Better Mouse: Logitech G900/G903 Mod Parts

TLDR: Just go to the bottom if you want to see a list of parts you can buy to mod your G900/G903. See my older post or watch this video by Ents if you need guidance on taking one apart.

I’ve been using the Logitech G900 mouse since 2017; it has served me well especially after discovering how to upgrade the switches (although the G900 doesn’t seem to be as famous as the newer G903 models for double-clicking).

I’ve actually purchased the new G903 Hero on 3 separate occasions in an effort to get a “better” G900. When it was announced last summer, I preordered it for $149.99 – I used it for about a week before returning it Logitech for a full refund. The battery life improvements from the new Hero sensor were fantastic; the battery life percentage barely dropped during that entire week. However this was before my journey into upgrading mice switches and I returned the G903 Hero because the clicks seemed too soft and middle mouse button barely had any tactile feedback. I went back to my trusty G900.

Three months ago, there was a sale on the G903 Hero on Amazon for $99.99 so I pulled the trigger on two of them. I planned to upgrade them with Omron Japan D2F-01 switches but both units had zero feedback on the middle mouse button. There was no tactility or any movement when you pressed down on the mouse wheel for middle mouse clicks. Disappointed, I returned both of them to Amazon for a full refund. About a week later, Best Buy had the G903SE on sale for $69.99; I decided to gamble on one of these since it was relatively cheap. The middle mouse on this worked just like my G900 but aside from the addition of PowerPlay charging, there was really nothing else this mouse offered over my G900.

About a month after that, my G900 middle mouse started to double-click. Eventually I ended up going down the rabbit hole that is Aliexpress shopping; I found just about every part inside the G900 for sale including the entire PCB that contains the middle mouse button. I fixed the middle mouse click on my G900 with that part and then realized I could also fix the middle mouse on the new G903 Hero models…

Last week, Amazon had the G903 Hero on sale again for $99.99 so I ordered it again (just one this time). To my surprise, this G903 Hero had a proper middle mouse button and worked just like my old G900; sharp responsive tactile feedback. Only took three attempts and four units to get a proper one. Now that I had a G903 Hero that passed quality control properly, I went to work on modding it to my liking. Below is a list of parts you may be interested in if you like the G900/G903 mouse as much as I do.

  • Omron Japan D2F-01 – heavy switch with operating force of 150gf. This is my favorite switch for the G900/G903.
  • Omron Japan D2F-01F – light switch with operating force of 75gf according to the manufacturer; Ents rates it closer to 55gf.
  • Kailh GM 4.0 – popular heavy switch that I use for other mice; feels lighter than the D2F-01 when used in the G900/G903.
  • Replacement Batteries: 1000mAh and 2200mAh – I’ve had the 1000mAh battery in my G900 for the past year and it works as least as well as stock. I just put the 2200mAh one into my G903 Hero so I can’t comment on its reliability. Both of these batteries are larger than the original so you will have issues closing up the G903 properly because of the added height from the PowerPlay charging components. I ripped all of that out to make the 2200mAh battery fit.
  • Corepad Skatez for the G900 and G903 – 100% teflon replacement feet. Taking apart the G900/G903 requires ripping off the mouse feet. These are great replacements and glide faster than stock.
  • NetDot Magnetic Micro-USB adapters – a slick way to charge your G900/G903 – see it in action here. I use these with an Anker Powerline+ Micro USB cable and Anker PowerPort Mini.
  • WizGear Metal Mount Plate – this is a metal plate for those magnetic smartphone holders you put in your car. If you stick this plate on the back of your monitor, you can hide your charging cable out of sight with the NetDot adapter like this.
  • G900/G903 Mouse Wheel PCB – replacement PCB that includes the middle mouse button, rotary encoder and left/right horizontal scroll buttons. I used this to fix my G900’s middle mouse double-click.
  • G900/G903 Flex Cable – this connects the bottom PCB to the Mouse Wheel PCB in the top half of the mouse. It also contains the LED that lights the Logitech G logo on the back of the mouse. I ripped one of these by accident last year when I upgraded my G900’s battery.
  • G900/G903 side button PCB – replacement PCB that includes the left/right side buttons and DPI buttons on the top of the mouse. I bought a few extras of these but haven’t actually had to use them yet.

A Tale of Two Dreamcasts

I finally got around to buying some aftermarket Dreamcast shells from eBay seller hdzoneau. I bought a Gray Skeleton shell reminiscent of the Skeleton Sega Saturn and a Crystal Blue shell. I was surprised at the speed in which they arrived (AUS to USA in a week) and the build quality – I wouldn’t have guessed these were aftermarket shells.

I transplanted my previously modded Sega Dreamcast in the Crystal Blue shell. This particular VA1 Dreamcast is actually my first Dreamcast I bought back in 2001 just around the time of its decline. I still remember borrowing a friend’s burned games and going through a 100 CD-R spindle copying everything over a weekend with my 4x TEAC CD-RW. To go with this new shell, I picked up some new mods; I bought a ReDream PSU from eBay seller rexurepair0 and new GDEMU/Noctua mounts from Laser Bear Industries. This new GDEMU mount is an improvement over the one I bought last year since it doesn’t require any gluing to the top half of the Dreamcast shell. I also swapped the original LED with a blue one to match the new shell. Lastly, I also replaced the thermal pads on the Dreamcast with Fujipoly Extreme 1.5mm.

I also ended up fixing up another VA1 Dreamcast that was from a Goodwill auction I won for $21.50 about 2 years ago – it was a lot of 2 “as is” Dreamcasts, both of which were in poor cosmetic condition but otherwise functional. I fixed up this one with the same mods as my other Dreamcast but with a 5.15B GDEMU clone rather than original. This Dreamcast received a white LED instead to go with the Gray Skeleton shell.

The only mods I’m missing is the famed DCDIGITAL (aka DCHDMI) mod; fortunately I was lucky enough to snag 2 of these with spare flex ribbon cables last week. I’m still waiting for them to arrive but I will try my hand at installing them once I get better soldering equipment.

Fix Domain Trust Issues Through Powershell

It’s been a long time but today I tried logging into a PC and was greeted with the familiar “The trust relationship between this workstation and the primary domain failed”. Fortunately I was able to log in with the local administrator account and fix the domain trust issue with Powershell. This command is much easier and faster than the old way of unjoining/rejoining the domain and doesn’t require a reboot. Open Powershell as local admin and type:

Enter your admin credentials in the popup window and you should be all set.

Replacing Synology Fans with Noctuas

I have used Synology NAS devices for over a decade; I started with a DS209 in 2009. Later I added a DS1511+ in 2012 (sadly just before the launch of the DS1512+) and replaced the DS209 with a DS216+ in 2016. Recently I’ve noticed fans in both the DS216+ and DS1511+ are making extra noise like the bearings are worn out.

If you do any research on replacing Synology fans with Noctuas you will find two contradictory things: people saying they put in Noctuas and it worked fine and others complaining the Synology throws errors about the fans not spinning. As far as I can tell the 3-pin fans used by Synology all feature locked rotor detection on the 3rd pin rather than reporting the rpm as is standard in all 3-pin PC fans. I eventually found a blog that states the 3rd pin used for locked rotor detection is a grounded signal when the fan is spinning normally. Thus you can bypass the locked rotor detection by grounding the 3rd pin to the case of the Synology; the downside is that the Synology will always think the fans are spinning and you won’t be alerted when it fails.

I was able to pull off this locked rotor hack on my DS1511+ using 2x NF-A8 FLX to replace the fans in the rear and 1x NF-A4x20 to replace the fan on its Seasonic power supply. The PSU uses a 40x20mm fan with a 2-pin JST connector so I connected the NF-A4x20 to the first fan header and used a splitter for the NF-A8s in the rear. The only downside I’ve found is that the NF-A8 max rpm is much lower than the OEM fan; if you try to use anything other than the Full speed fan setting under DSM then they spin too slowly to move any air. To workaround this, I used the ULNA fan adapters from Noctua to lower the speed while the fan speed was set to Full under DSM. I also left the CPU fan alone as it’s 60x10mm which is: 1) an uncommon size and 2) uses a 3-pin JST connector. I might try replacing it in the future with a Noctua NF-A4x10 if I can figure out a good way to mount it directly to the CPU heatsink.

Unfortunately this hack did not work on my DS216+. I purchased an NF-A9 FLX and grounded the 3rd pin to the case. Approximately 3 minutes after boot, DSM throws an error stating the system fan has stopped. I suspect it doesn’t work on this model because it uses a standalone 12v power brick so the case isn’t grounded like the DS1511+. Fortunately I can just disable system notifications and beeps for system fan errors; this also persisted after a reboot and will hopefully persist after a system update. The NF-A9 FLX must be close to the OEM fan’s RPM range as I can run it on the Cool setting and it still moves a good amount of air. For reference, these are the OEM fans found in both models; I suspect that all DS15xx and DS2xx models use these fans as well:

DS1511+:

  • 2x Y.S.Tech FD128020HL (80x20mm fans in the back)
  • 1x Evercool EC6010L12ER (60x10mm CPU fan)

DS216+:

  • 1x FD129225LL-N (92x25mm fan in the rear)

Glorious GMMK Full Size with Tai-Hao Keycaps and Kailh Box Navy Switches

My main keyboard since 2012 has been the Ducky Shine 2 with Green LEDs and Cherry MX Blues. During the holidays I ordered some switch testers from Amazon to play around with and my favorite switch was the Kailh Box Navy. This is a very loud tactile switch with a very heavy spring; it took some getting used to compared to my old Cherry MX Blues. It’s definitely not a switch for everyone and some may find it too tiring due to the amount of force required to activate each switch.

Since I had recently completed my Black x Blue 3950x, I wanted a new keyboard to try and match the same color scheme. I ended up buying the Glorious GMMK Full Size as it seems to be the cheapest option with all of the features I wanted: RGB backlighting, hotswappable switches, full size and can be purchased without keycaps or switches. I ordered Kailh Box Navy switches separately from Novelkeys and a Tai-Hao black/blue PBT backlit keycap set from MechanicalKeyboards.

The Tai-Hao keycap set I bought has a rough matte texture that feels nice (to me) and is the only set I could find that was PBT, backlit and came in two colors (black/blue). Unfortunately the blue on this keycap set doesn’t match the blue on my Noctua Chromax fans but still looks pretty good. The only negative thing about this keycap set is the quality control; some of the keys are slightly off and some are very obviously crooked like the DEL and FN keycaps. I tried changing the switches under them but it appears to be a defect in the keycap alignment rather than the switch stem.

I’ve read mixed things about Glorious’s customer service but personally can only report a positive experience. I ordered my GMMK a few days before their end of year sale; I contacted support and they refunded me the difference (10%). The first GMMK I received was damaged in shipping (warped case); they sent me a replacement unit free of charge and didn’t even ask me to ship the old one back.

Overall I would say the GMMK is a good starter keyboard; experienced users will see the GMMK as a glorified switch tester. It doesn’t have the same build quality or heft to it as my Ducky Shine 2 or Vortex Pok3r RGB; bottoming out on some of the keys sounds a bit hollow on the GMMK as well. My next keyboard will probably be the Drop Shift or I will just build a custom YMDK96 from scratch. If you are shopping for your first mechanical keyboard, I recommend buying a switch tester to get an idea of what switch you like then getting the GMMK in the size you prefer.

Black X Blue 3950X – Final Final Form and Revision History

About a week ago I finally noticed the Define Nano S actually has mounting holes for 2x 140mm fans on the top exhaust despite it not being mentioned on Fractal’s website. So naturally I just had to replace the 2x NF-S12A 120mm fans with 2x NF-A14 140mm fans. Thankfully Amazon has a generous return policy during the holiday shopping season. I’ve had this new system for barely a month and I thought I’d share all the changes I made since I originally built the system.

Photo 1: The build as originally completed. I had planned to only use 3 intake fans, 1 exhaust and keep the Moduvent cover on top; however I was surprised by how hot things were during gaming because of the heat from the 2080 Ti (initially on the quiet bios). During gaming my x570 was over 80C, GPU high 70s and my NVMEs got up to 70C. This is the photo I originally used when posting to PCPartPicker.

Photo 2: I switched my 2080 Ti to the stock bios which targets 65C for the GPU temp whereas the quiet bios has idle fan stop and targets 75C. This brought down the GPU temps which also brought down my x570/NVME temps during gaming. I found that adding fans on top further dropped the temps by another 5-8C. I also added the GPU brace after receiving some feedback on PCPartPicker as I didn’t really notice the GPU sag at first. This is the photo I used when I shared my build with Reddit.

Photo 3: I changed thermal pads on the x570 and I also returned the NF-S12A on the bottom and replaced it with the leftover NF-A15 from NH-D15. I had to take everything apart to do the thermal pad swap and found that I used way too much thermal paste the first time around. I used the spread method the first time but switched to just doing an X pattern. The NH-D15 comes with 2x NH-A15 fans but I had to use an NF-F12 in the front due to clearance issues with the USB 3.0 header and the 24 pin ATX power connector. This is one of the photos from my last post.

Photo 4: The current configuration with 2x NF-A14s for top exhaust. I currently set all the chassis fans to run at 50% duty cycle which is around 830rpm for the NF-A14s according to HWINFO. I also changed to a manual CPU fan curve that is more linear than stock; min duty cycle 40% at 30C, linear all the way to 100% at 70C. I’ll probably tweak this further to eliminate the subtle ramp ups of the fan during regular use. With the fan changes, thermal pad swap, 2080 Ti on stock bios, and CPU fan curve adjustment, the max tempuratures I’m seeing in HWINFO are much lower than before. The max temps I’m getting now are 75C for the x570, 60C for the NVMEs, and 65C for the 2080 Ti. CPU temps are slightly improved which I suspect is just due to better application of thermal paste. On my early AIDA64 runs, the CPU temp according to Ryzen Master would bounce between 75 and 80C; now it hovers around 75C.

Black X Blue 3950X Final Form

More pictures and changes! I ended up returning bottom the intake NF-S12A fan and swapped it for the extra NF-A15 fan that came with NH-D15. The NF-A15 is a 140mm fan with 120mm mounting holes and performs slightly better than the NF-S12A which is a 120mm fan.

I also ended up trying a thermal pad swap on the Strix x570-I board. My first attempt was with the leftover 2.0mm Thermal Grizzly Minus Pad 8 I used for the rear NVME. This pad was thicker than the stock one and ended up being 1-2C hotter. I later tried a 1.0mm Fujipoly Ultra Extreme XR-m Thermal Pad that appears to be 3-5C cooler than the stock thermal pad.

New Personal Rig Update – AMD Ryzen 9 3950X

I recently finished an all-new build featuring the AMD Ryzen 9 3950X; with the exception of the 2080 Ti, this is my first build in several years that doesn’t use components from previous builds.

My previous builds have used the Fractal Design Define R4; over the years that case has been home to an Intel i7-930 and i7-4790K. I went through many more GPU changes in the R4: first Radeon 6970 Crossfire, R9 290 Crossfire, Asus Strix 980 Ti, Asus Strix 1080 Ti and finally Asus Strix 2080 Ti.

Finally decided to retire that old R4 case and do an ITX build inside the Fractal Design Define Nano S – essentially a miniature version of the R4. I posted the complete build on pcpartpicker.com a few days ago (I even got featured on the front page!) but the primary specs are as follows:

  • AMD Ryzen 9 3950X
  • Noctua NH-D15 chromax.black
  • 32GB G.Skill Trident Z Neo 16-16-16-36
  • Asus ROG Strix x570-I Gaming
  • Asus ROG Strix 2080 Ti
  • Corsair SF750
  • 512GB Samsung 970 Pro
  • 1TB Western Digital SN750

I originally built this without the 2x NF-S12A fans on top for exhaust but found that GPU temps were 5-8C cooler with them in. CPU temps reached 75-80C under 30min of AIDA64 and GPU reached 67-68C after 35 minutes of OCCT. What I found most surprising was NVME temps reached as high as 60C when the 2080 Ti was under load and warming up the case.

The x570 chipset itself idles around 60C and can reach as high as 80C during gaming; fortunately I can’t hear the fan at idle but I can make out the whine of the fan when it gets closer to 80C. I might try replacing the thermal pad with paste or a better thermal pad as others have done on Reddit.