Send Windows system stats to Arduino via USB (Serial Port) - DIY Fan Controller

Hello there,

I´ve got a question regarding an idea I just had.

I couldn´t find any specific information on Google, so here I am.

My question is: How/is it possible to send system stats like the temperature of your CPU and GPU to an Arduino via USB under Windows 10?

My goal is to build a system fan controller for my PC since I´m not happy with the existing solutions. I´ve got an NZXT h200i case with an integrated fan controller (connected via internal USB) which I use to controll my CPU radiator and two case fans. I´m using the smart hub (integrated into the case) to controll the fans and not my motherboard because Gigabyte´s BIOS fan controll is terrible and it likes to reset itself. Not the complete BIOS but just the fan settings. The problem with NZXT´s included smart controller is that it requires the "CAM" Software to run in the background all the time. Normally not an issue. BUT: CAM requires an internet connection for some reason and during startup it ramps the fans up to 100% for a couple of seconds which sounds like a jet engine. Also the software takes ages to start just to sync with your account. Another reason why I´d like to build my own fan controller is because everytime the systems power is disconnected (e.g. turned off the power supply) the controller forgets its settings. I don´t need a fancy GUI but it would be nice to be able to send the CPU and GPU temperature to an Arduino via USB in order to controll the PWM fans for my case, CPU and maybe also my GPU (I´ve watercooled it with a NZXT Kraken G12 but I´m able to controll the GPU fans via MSI Afterburner). I would then write some functions in my code that regulate the fans power/rpm depending on the temperature values it receives from the system.

Does anybody have any tips on how to achieve this goal? There are a couple of different external fan controllers available on the market so it must be possible. Such a controller propably is nothing more than an Arduino.

Please ask me if I forgot any information :)

I appreciate any help.

I might expect a fan controller to have its own temperature sensors. However, if you want information sent over the USB connection, you use a program on the PC to send serially, and you use code on the Arduino that receives this information serially.

What Arduino experience do you have?

Write a Python script to get CPU temp data and then send the data via USB to your Arduino