Voltage should be constant, I read @rootwyrm 's interposer firmware and it seems the PWM frequency is 25kHz in the 7450 series. @fohdeesha is not engaging the thread right now, but he probably knows all this / can easily test. If the frequency, etc, is all the same for both 6450 and 7250, then it will be quite easy to write a modified interposer that "translates" the speed mode 2 RPM to slower speeds (while reporting roughly the same to the mainboard).
@rootwyrm put some "overkill" design to work in his HW, I asked him if the BAV99 diodes are really needed, but it won't hurt to have them. The teensy is definitely overkill considering we have ESP32 or plain Atmega if you forego the Wifi, which I am personally not interested in at all (out of caution too).
His code is documented here: icx-fan10-mod/src/main.c at main · rootwyrm/icx-fan10-mod
For 7250/6450 mainboard/chassis fans you need a maximum of 3 digital/PWM GPIOs and 3 digital GPIOs for the tachometer, for each side (fan side and mainboard side) for the three fans, so, 12 GPIOs total, to do it properly. The convenience of using the ESP32 is cost and the architecture for multitasking is already there (FreeRTOS with esp-idf). Arduino IMO is crap, as far as the library/glue code is involved.
@rootwyrm put some "overkill" design to work in his HW, I asked him if the BAV99 diodes are really needed, but it won't hurt to have them. The teensy is definitely overkill considering we have ESP32 or plain Atmega if you forego the Wifi, which I am personally not interested in at all (out of caution too).
His code is documented here: icx-fan10-mod/src/main.c at main · rootwyrm/icx-fan10-mod
For 7250/6450 mainboard/chassis fans you need a maximum of 3 digital/PWM GPIOs and 3 digital GPIOs for the tachometer, for each side (fan side and mainboard side) for the three fans, so, 12 GPIOs total, to do it properly. The convenience of using the ESP32 is cost and the architecture for multitasking is already there (FreeRTOS with esp-idf). Arduino IMO is crap, as far as the library/glue code is involved.