(Pi 4) Fan Shim suddenly stopped working

Hi everyone,
I purchased a Fan Shim for a Raspberry Pi 4 (4GB model) just over 2 months ago. It’s been running continuously since, but yesterday afternoon I noticed the fan no longer spins at all, and I can’t get it to work again. Can anyone help or advise?

I tried unmounting and remounting the shim but that didn’t help. I’ve tried a clean install of latest Raspbian Lite, with all updates via apt-get and the latest fan shim software from GitHub, and it still didn’t work.

I then tried it on another Pi 4, clean install of latest Raspbian Lite with just the FanShim API (pip3 install FanShim), and tried running the following manually:

>>> from fanshim import FanShim
>>> fanshim = FanShim()
>>> fanshim.get_fan()
>>> fanshim.set_fan(True)
>>> fanshim.get_fan()

Sadly it still didn’t work, and I can’t think of any other way to rule out software issues, so think it might be a hardware issue with the fan itself (does anyone know the best way to contact pimoroni about this?)

By the way, I can illuminate the LED using “fanshim.set_light(0, 255, 0)” so I know it’s getting power/data via GPIO, but can’t work out why the fan suddenly has stopped spinning at all.

My fan just runs continuously if I install the Fan Shim and skip installing the software. The LED doesn’t work but the button does. Its how I’m currently using mine.
The Fan I’m pretty sure runs off of the +5V, the LED I’m not sure? It may be running off of the 3.3V?
Do you own a multi-meter / voltmeter? If yes carefully measure the voltage on the fans JST connector. Be very careful not to short the two pins though. That could be bad, the Pi 4 doesn’t have a poly fuse.
Other than that, check the fan to see that it spins easily and hasn’t jammed or something. .

Same here… I’ve been using it without the software since it arrived, as I always wanted it to spin regardless of temp, and had no use for the LED on it.

I was hoping the software would make it “unstuck”, or re-enable it if I’d accidentally disabled it somehow, but nothing has worked. The Pi is kept in an open-case, inside a air-conditioned room with very little dust, which is why I wanted constant airflow over it. The shim still looks brand new, and spins freely in both directions if I move it with my finger, and the gap between the fan-blades and the mount looks clean too.

Would you mind sharing what your button press does without the software? My understanding was a python script would poll the shim for a button press, and without the software doing this, the button wouldn’t function. Perhaps I’ve switched it off or switched it to temperature-mode by accident?

I do have a multi-meter but I’m not great with really small things so… I know checking the voltage wouldn’t end well!

On a Pi 4 (with an updated eeprom), grounding GPIO 3 / Pin 5, will make it boot up if it has power. Pressing the button on the Fan Shim grounds GPIO 3. If you edit config.txt and add dtoverlay=gpio-shutdown to it. Pressing the button (ground GPIO 3) while the Pi is running will do a proper shutdown. The same as selecting shutdown from Raspbian. My button does on off basically. Only downside is if I shut down and leave my Pi 4 powered the fan keeps running.
With the factory shipped eeprom code on a shut down the Pi 4 goes into deep sleep. In that state grounding GPIO 3 won’t boot it up. You have to ground the global enable pin. I do believe the fan stops running though.

Wow… that’s a neat way to shutdown the Pi, I didn’t know that was possible with the button on the shim, thanks for sharing!

I think I might have to give in and buy a replacement fan shim, or seek an alternative cooling solution elsewhere, but thank you for the help and insight :)

The boot up shut down via GPIO 3 should work on just about any current Pi like a Zero, 3B etc. I know it works on a 3A+ and 3B+ for sure. I have momentary switches I soldered to pigtails and just plug them right into the GPIO. The pin right across from GPIO 3 is a ground pin. I just plug my pigtail into pins 5 and 6.
Two female jumpers will work too, just cut and strip on end to solder to a momentary switch.

If you do buy another Fan Shim, you could try plugging your current Fan into the new board. That will tell you if the fan died, or the board failed. I wouldn’t chuck the fan in the bin just yet.
Another option is to cut the JST connector off, strip the end of the wires bare, and apply 5V to the red wire, ground to the black. If the fan spins its still good and usable.

This will work too for reusing the fan.

For anyone who finds this in the future; the replacement also failed after a few weeks, and it turns out the fans used are not designed to be in a vertically-mounted position for prolonged periods of time, as they will fail to self-lubricate correctly and die.

1 Like

Thanks for the heads up. I’ll make sure it’s kept horizontal. I’ve been running mine on Libreelec with a spread threshold 40c-66c on constantly for 2 weeks but the fan only runs intermittently, all working fine, even vertically, but why take the chance? Will Pimoroni replace it under warranty? Running a pi vertically doesn’t seem like misuse to me.

Well if the fan is not designed for that orientation then yes is misuse of the fan. Pimoroni should add a warning to the product page though.

Most fans have at least one orientation they don’t like, although they do normally work vertically.

They are vertically mounted in a PC, case and CPU fan. Horizontal in a laptop though. As far as I know I have never had a fan fail because of its installed orientation. I’m not disputing that it may happen, just hasn’t happened to me. Mine have failed because they just wore out over extended use. Usually the bearing dry out / wear out and it gets noisy.

Have to disagree with you. (and I’m not saying that it is sure they’re failing due to vertical mounting) I disagree it would be considered misuse to mount a Rpi vertically and by virtue the fanshim. In the absence of clear instruction as to orientation, and the abundance of vesa mounts and cases for the Rpi, the man on the Clapham omnibus could not be expected to know that a design flaw prevented use vertically. From a consumer rights perspective it could easily be argued that the fanshim was not fit for purpose. The “warning” you suggest could not be retrospective.

1 Like

A normal fan will fail if you mount it with the rotor pointing down. It soon gets noisy and eventually the rotor can fall out. Some cheap Chinese 24V power supplies have that problem.

I agree there should be a warning but presumably the only way to fix it is use a different fan, which may or may not exist in that strange form factor.

I’ll bet that fan is not manufactured specifically for the fan shim but is a generic fan with 2 mounts that the PCB was built around. I have looked previously and couldn’t find a similar fan with the 2 mount points. Though my search was only limited to about 10 mins or so. I was pleased with the shim but concerned that as it was running 24/7 on Libreelec I wanted a backup fan ready in case of failure rather than having to replace the whole unit.

Search for graphics card fans and you may find similar fans with just the two mounting points. Those fans are a lot smaller than the CPU etc fans.

Thanks, good idea , but I now it’s working properly in Libreelec I am not as concerned so as to have a spare fan in hand. The fan should have a better lifespan than running it 24/7, I’ll keep it horizontal though, just in case.

Or plug jumpers into the jst

My Fan Shim has also stopped working. It does occasionally pulse, like its trying to get going but perhaps hits dead spots on the windings?
My unit has always been horizontal since fitment.

I would guess that its just not designed to run 24/7?

What fan specs should i look for if not replacing it with another fan shim from Pimoroni? I could just replace the fan on the shim.

Should have added, whats the warranty procedure for one of these?

There is a link on the Shop page to here

I’d go here first though an e-mail them and see what they say.