Making fan shim "dumb"

As fanshim isn’t on yet - and given I like the form factor and prefer it to having a.n.other 5v 2 pin fan wired up and around my IQAudio DACPlus, I was wandering if there was any way to just turn fanshim into a dumb fan that’s always on.

The sounds not that obtrusive full on, and I don’t mind losing the features for my purpose.

Would anyone know what needs cutting (traces) or removing (components) or even additional shunting to achieve this ?

I only want I too take power and ground, leaving my IO clean.

I don’t have one, not yet anyway.
Looking at the examples it appears to be three sections.
The button, the LED, and the fan, all wired up separately / independantly.
The fan is likely turned on by a GPIO pin feeding a mosfet transistor. I think I see two on the board?
The LED is likely controlled over i2c
And the button wired to a GPIO pin. I think its actually wired to two pins for some reason? It was mentioned in another thread.
So I would think you could just leave the button and LED as is and not worry about them, assuming you don’t run the fan shim one line installer. They will just sit there doing nothing.
There are a couple of ways to do the fam. Find the pin on the mosfet that the GPIO usued to turn the fan on, determine if its pulled high or low, then just permanently wire it that way. Thats going to feed back to the GPIO pin if you don’t cut a track etc.
The other way is to remove the mosfet(s) and feed power into the pin it used to feed power to the fan. No signal going back to the GPIO.
Do you own a multi meter? If yes you should be able to poke around with the fan on and fan off and figure out what’s happening.

If you go to about 18 minutes in this video there is some info on the fan shim.

The pinout is now up. Looks like it doesn’t use i2c for the LED like I thought.

@wildestpixel Did you ever figure out how to make the fan shim a dumb fan?

I wish Pimoroni would offer a dumb shim fan. I had to remove all the led references in the code so that my gps would still work. I had to replace the use of psutil to get cpu temp as it conflicts with a DS3231 realtime clock. I ended up not using the software; and all is fine on four of my five RasPi 4s. On the last one, the LED likes to come on and stay on (perhaps because it’s the only one with 1-wire turned on, but I don’t see how that’s a problem).

If you mount it, and don’t install any of the software, the fan should just run continuous as long as the Pi has power.
I installed mine, and installed all the software. I originally had it running with the daemon / service. Turned on at 65c and back off at 50c. I have since stopped and then disabled the service. Now the fan runs continuously when I power up my Pi 4B. The LED doesn’t do anything now either. Its off. The Button turns my Pi on and off but thats because that functionality is built into the PI and Raspbian. Grounding GPIO 3, Pin 5, will make your Pi boot up if it has power. If you’ve updated the eeprom with the new boot loader. And I’ve done the config.txt edit to have it shut down the pi when grounded.
i2c should be usable even with the button making use of GPIO 3. It only grounds the pin when pressed and only while its pressed.
And the UART pins should be usable if the LED isn’t being talked too. Even more so if you haven’t run the fan shim installer.
I only just got my Fan Shim last Friday.

Thanks for the detailed response very good stuff.

Does GPIO 18 still get polled though ?

I do believe the way it works is as follows. If GPIO 18 is pulled Low, the fan is turned off. If its floating or a High the fan is on. Its just a Darlington transistor or something on the fan shim controlling the fan. Thats my theory anyway.
With the fan shim software installed the fan turns on while the Pi boots up. Then once the daemon / service stats running it turns the fan off until the temperature hits the turn on point etc. And when you shut the Pi down, even if the fan is off, it states back up once the software stops running.
Once I stopped and turned off the service, the fan turns on on bootup and never shuts off. I’m assuming GPIO 18 never goes low.
Now, if I’m correct in my theory, if you install something that uses GPIO 18, the fan is likely to turn on and off. If I think of it I may put my voltmeter on GPIO 18 and see what happens with the software running. I still have it installed, its just disabled. .

disable 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

I tried to measure that Pin with the Fan Shim running normally but didn’t get very far. I had to remove my Blinkt to get at the GPIO pins. After doing that my Fan Shim started acting up and not making a reliable contact. Even when I got it working the fan would start every time I connected my volt meter to GPIO 18 to measure the voltage. I decided to just give up and bailed out before I damage something. I still think I’m right though. Somebody from Pimoroni could confirm or deny it.

@gadgetoid @sandyjmacdonald

One way to nullify that pin would be to just drill that pad and make the hole big enough that it doesn’t touch the GPIO pin. You’d only have to make it slightly larger. Getting a drill bit that small may be an issue. I could likely do it with my smallest ball mill in my Dremel kit.

I appreciate the reply, @alphanumeric

As I tried to say in my post, on one of my PIs, the LED comes at some point after it is booted and then stays on. It does that with no software installed; and it does that with the software modified to rip out all support for the button and LED (I have that on github here: Note: it also replaces psutil for getting the temp because psutil does not work correctly with the DS3231 RTC.

I have a total of five RasPi 4s and four of them work without software running with the fan running continuously. They also work with the software, turning on and off as expected, with the modified software I mention above.

The last Pi, the only one with 1-wire turned on as I have some temp probes hooked up to it, works; BUT the LED comes on; I think always within the first 10 or 20 minutes, and then stays on for the duration. This is true with —noled specified in the original software, with the modified software and with no software running. It’s not likely the fan shim as I bought another and I still see the same behavior.

Since I have an extra fan shim, this morning I snipped pins 8 and 10 (i.e., BCM 14 and 15). It was easy enough to do. I figured I would still have contact as I saved pin 12. The fan doesn’t fit nearly as tightly as it did before; but it appears to have solved my LED problem.

Here is a photo. Look closely to see the snips so that pins 8 and 10 don’t make contact:

I’ll post another photo where it’s easier to see in a follow up. I’m a new user and can only include one photo in a post.

These pins are being used for the GPS ( One would think that something in the GPS communication (NEMA sentences) is causing the LED to turn on, but all five of my PIs have GPSs. The offending PI’s only hardware difference is the 1-wire.

Pimoroni, how about a dumb fan shim?

And that other photo that I couldn’t include:

I’m sure there are alternatives out there if you hunt around. Mounting the fan so you can attach something else to the GPIO is one obstacle. I am going to solder my Fan Shim at some point. I’m still mulling over what header I want to use and what else I may want to attach.