FanShim: Stops regularly but is reported as on and starts again if I "manually" spin it

Hi all,

I’ve got a FanShim on a RPi 4. Every once in a while, the FanShim will stop spinning despite the Python lib reporting it as on. If I go “flick it” (for lack of a better word) with my finger, it will restart and then continue to operate for a period of time (anywhere between an hour or so and a day or two).

I’ve looked at the GPIO connections and it looks fine (especially pin 12/GPIO 18) although I may be missing something. I initially thought that dust might have been interfering with things but I’ve cleaned out the RPi with compressed air. Any thoughts as to what the issue might be?

The fan control Pin has to be pulled low to stop the fan. The default state with no software installed is on. As a test you could disable the fan control service. If the fan continues to run with no issues you’ll know its software. If it stops again then its almost certainly a hardware issue.
To disable it from a terminal window do the following

cd fanshim-python
cd examples
sudo systemctl stop pimoroni-fanshim.service
sudo systemctl disable pimoroni-fanshim.service

To enable it again its

cd fanshim-python
cd examples
sudo systemctl enable pimoroni-fanshim.service
sudo systemctl start pimoroni-fanshim.service

If flicking it starts it I’d go with a fan issue.

Update (for others and for those of you who kindly responded): I’ve concluded that this is a hardware issue. The shim is still flaky with the service disabled and now the problem seems to be worse (instead of being on for a period of time, now it seems to struggle staying on for more than a second or two).

I’m not sure if it’s the fan or the shim itself so I might replace the fan and go from there.

I’m with Crowbot, sounds like a failing fan to me.