Hey there all, my first post here.
I have a small project to do. I'd like to use a AtMega32u4 based board I have (the beetle) to control a 4 wire pc fan via pwm @25kHz. On top of that, I'd like to be able to control the set speeds via i2c.
The long and short of it is, I have a x86 developer board. It has a fan header that is controlled not by the bios but a separate system. That system does not read cpu temps, it instead has a sensor near the cpu. This causes serious delays in the cooling at throttling at times due to it.
One neat feature this board does have though is i2c headers. So part of this project would be to write a python script to read the cpu temps. Then via the i2c tell the arduino what speed to run the fan or fans if I add a 2nd.
Browsing around, I saw posts from people who had stated getting 25kHz pwm is doable on AtMega32u4 by adjusting the timer?
Is controlling the arduino easy enough through i2c to pull off my project? Im sure there are many ways to tackle my issue, but this seemed fun and it's stuff I have here.
Also as a bonus, is it possible to read the tach line of the fans in through the arduino?
All insight is very appreciated.