Hello guys !!
I just bought a new RaspberryPi 4 (4GB), and a FanShim.
I had followed this: link
After running sudo ./install-service.sh, all the functions working fine, (the fan turns on at 65C, and turns off at 55C, I can also run python script to toggle fan manually, …), except the function set_light.
I try set_light function and nothing happen, I try led.py, automatic.py, but got no luck, the LED shows nothing …
So please help me with this, thanks in advance !!
Hello guys !!
Pin 8 and or 10 likely aren’t making a good contact. I’d remove and reattach it. And check those two GPIO pins to see if one of them is bent or not straight etc.
Thank you for the fast reply !
I will try it now
Hello sir. I try reattaching it, but still got no LED. All functions work like a charm (the button on the fanshim work, too), except the LED :(
And I checked both GPIO pins too, they are both straight.
Is there anything else I could do, sir ?
Not that I can think of? My Linux skills are pretty basic.
The LED doesn’t use i2c, its one of those smart LED’s and gets its data via the GPIO. I think those are the pins usually used for UART.
Did you have anything else setup on that Pi prior to installing the Fan Shim? If yes, I would do up a fresh buster install, and install the Fan Shim software again. I’d probably do that anyway, just to rule out it being a software issue.
I have just downloaded and installed a fresh raspbian, and still not work :(
Edit: But I notice that, when I just plug in, the LED flashed (blue) in less than 0.1s, and turn off immediately !
Edit_2: Hello, now I am able to use the LED, I just use a pen and push the fanshim on the position of the Pin 8, and It works now. Thanks for the help @alphanumeric
Edit_3: But I got new problem !! When I turn off the raspberry pi, the Fan immediately spinning, and I dont know how to stop it !
You can’t stop it from running on shut down, not without unplugging your power supply.
Bummer but thats how it works.
If you watch it when you power up your Pi it will run as soon as you plug in your power supply. If your like me and haven’t installed the software it just keeps running and keeps you Pi nice and cool. As long as your PI has power the fan runs.
If you install the software and setup the Daemon for auto control. The fan starts off running as soon as your Pi gets power. But once Raspbian loads and the Daemon states it will turn off again, and only turn on when the temperature hits the on threshold. Even if off when you do the shutdown, once the Daemon stops the fan starts up again.
My thinking is the fan control pin on the Pi is pulled low to turn the fan “off”. On shutdown that pin goes high again (floating) so the fan runs. It’s a trade off to make the fan run with no software installed.
Okay, your answer really makes sense, thank you !
I think there is a way to make that happen, it has side effects though.
There is a POWER_OFF_ON_HALT option you can change in the boot eeprom options. It’s a bit of work to do it. Once done the +5V will be turned off on shut down and the fan will stop. The side effect is the Fan Shim button won’t be able to boot the Pi up. You would have to ground the Global _EN pin to boot the Pi up. That was the original factory setup. After complaints they changed it so the Pi can be booted up by grounding GPIO 3. The same way you can boot up a pi 3 etc.
If I change POWER_OFF_ON_HALT to 1, that means the fan will stop when I shutdown the Pi, but I won’t be able to use the button on fanshim to turn on the Pi, is that true, sir ?
Thats my understanding yes. My Pi4 shipped with power off on halt factory enabled. It would not turn on when I grounded GPIO 3. I flashed my eeprom with a new boot code that turned that off and switched it back to the old way. Grounding GPIO 3 then worked and it would boot up. I didn’t have my Fan Shim at that point, just a heat sink attached.
Right now my Fan Shim button will boot my Pi 4 up, and do a proper shutdown if pressed while the Pi is running. Fan never turns off though, I have to unplug my power supply. I don’t have easy access to the global enable pin so for now thats how I’m running it.