Hello, I just assembled and installed my Fan Shim. However, I can’t seem to get the fan to turn off whether a script is running or not. Using the “automatic” script, the fan runs constantly no matter what the temperature is. If I run the script in verbose mode, it shows that the fan should be off, but the fan continues to run. I’ve tried using the button to toggle the fan on and off while running the automatic script, per the instructions, but the fan does not stop. I’ve tried running the “toggle” script, but the button has no effect on the fan. I’ve even written a small script that simply sends the command to turn the fan off, and that does nothing, as well. Does anyone have any ideas what might be going on? Did I just get a bad Fan Shim? The LED seems to be OK. (I’ve tried the example script that cycles through colors, and that works beautifully) Any light you could shed would be greatly appreciated. Thank you!
I don’t have one yet but I’ll see what I can do anyway. Pinout is here
Best guess is maybe pin 12 BCM 18 isn’t making a good contact? I’d take it off and reattach it.
Maybe even rerun the installer, it can’t hurt anything doing that as far as I know. And if something glitched the first time it should fix it.
I think you’re on to something - I reseated the shim this morning, but the fan was still misbehaving - but I also noticed that when the system was powered on, if I applied gentle pressure to the shim, changing slightly how it contacted the pins, the fan would turn off when it was supposed to be off (but only for as long as I applied pressure.) So, based upon that, do you see any problems with soldering the shim to the pins? I don’t plan on removing it once it’s working, nor do I plan on using the GPIO pins for any other projects, so having the shim (semi) permanent would be fine with me. Thank you for your help!
Other than being a pain to remove latter on, I don’t see any other issues with soldering it.
I have a couple of the LED shims, I soldered those to headers. That was more because of how I wanted to mount and orientate them than anything else though. And one was mounted in a portable project that gets knocked about a bit. I didn’t want it coming off or moving around on me.
What you could do before soldering it is take a good look at your GPIO pins and see if they are nice and straight or if maybe one or two have gotten bent out of place or something?
I checked the pins and they all seem to be straight - so one of my projects this weekend will be to solder the shim onto the pins - maybe that will get it to behave. :) Thank you for all of your help!
I hope that gets it working. If it doesn’t its going to be a PITA to remove it. Good luck with your soldering.
After a lot of head scratching and looking into the installation thinking something was not installed correctly, reading this post fixed a similar issue I had with the fan-shim.
The fan was working perfectly but the button and the LEDs were not. I bent the pins (6 used by the shim) on the pi slightly outwards to give a chance of a better interference fit and switching it back on everything works as expected.
Thanks to pinout.xyz for giving me a clue on what pins could be the problem. Looking closer it looked like the fan controller pin was connected well but the others looked a bit dodgy. Very small tolerance here and difficult to tell.
I’m not sure about the interference connection boards in general. I would rather solder or put a header on it for a guaranteed fit. Perhaps a female header could be included in the kit? This may help with stacking of hats.
Hopefully this might help someone else.
Adding a standard female header is going to raise it up and away from the SOC (CPU). That could affect how well it works.
What I’d like to see is one of those low profile surface mount headers soldered on top.
Like what’s used on the TV Hat
https://www.raspberrypi.org/products/raspberry-pi-tv-hat/
Just skip using the booster header and plug it directly to the gpio with the gpio pins going through the board like they do now.
I plan on getting a Fan shim at some point. My Pi 4 already has the heatsink on it so I’ll need to raise my fan shim a bit anyway. I plan on soldering on a standard female header. Then mount the fan under its holder instead of on top to move it back down closer to my heatsink. Thats my plan anyway. I’ll test fit before soldering anything.
I apologize for not responding sooner - over the weekend, I soldered only the pins in the oval-shaped holes, and that seems to have taken care of my problem - now everything works as advertised. As @alphanumeric mentioned, it’s going to be a major pain if I ever want to remove it, but for now it’s working great, so I’m going to leave it alone. Thanks for your help!
That row is the main ones used for power, the LED and the fan control.
The only other two used are pins 5 and 11 for the button. They may be making contact anyway now that you have it solidly in place.
Your GPIO is more than likely still usable too. Although plugging in a Hat on top of the fan is likely going to impact its effectiveness. Still may work OK if you jack it up with a booster header and tall standoffs.
Female jumper wires should be doable though without any issues.
Hi All.
I’m a newbie - so be gentle!
Received my Shim Fan - fitted - and as you’ll see from below - installed.
That’s the good news. The bad news is it does not work. The fan runs all the time - no LED - no switch function.
Thought I’d try with a few terminal commands below and got the following results. It’s installed but the two further command seem to contradict that.
Ideas please.
Finished processing dependencies for fanshim==0.0.3
Enjoy your Fan SHIM!
Done!
pi@raspberrypi:~ $ sudo python3 led.py
python3: can’t open file ‘led.py’: [Errno 2] No such file or directory
pi@raspberrypi:~ sudo systemctl stop pimoroni-fanshim.service
Failed to stop pimoroni-fanshim.service: Unit pimoroni-fanshim.service not loaded.
pi@raspberrypi:~ sudo ./install-service.sh --on-threshold 75 --off-threshold 60 --delay 5
sudo: ./install-service.sh: command not found
To stop the service you have to first have the daemon installed and running.
Try the following
git clone https://github.com/pimoroni/fanshim-python
cd fanshim-python
sudo ./install.sh
To install the service do the following
cd examples
sudo ./install-service.sh --on-threshold 65 --off-threshold 55 --delay 2
That should have the fan turn on at 65c and turn off at 55
The LED should be working too at this point.
to change the service settings
sudo systemctl stop pimoroni-fanshim.service
sudo ./install-service.sh --on-threshold 75 --off-threshold 60 --delay 5
to disable the service
sudo systemctl stop pimoroni-fanshim.service
sudo systemctl disable pimoroni-fanshim.service
enable again
sudo systemctl enable pimoroni-fanshim.service
sudo systemctl start pimoroni-fanshim.service
To run the examples the path has to be correct, if the example is in the Pimoroni folder that has to be in the path. I’m on my windows PC and don’t remeber what the path is.
Bingo !! So glad there is a community to help get me started with Pi.
Thank you.
No problem, have fun and enjoy your new tech. =)