Page 1
LEDs, Sounder, Relay, IR and 1-wire interface User Guide Designed for the Raspberry Pi® 4 Model B Compatible with All former models of Raspberry Pi® “Raspberry Pi” is a trademark of the Raspberry Pi® Foundation Designed by www.pimodules.com manufactured in co-operation with www.thepihut.com...
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Contents SYSTEM OVERVIEW ............................... 3 ................................3 NTRODUCTION FAN 4 PCB L ............................4 AYOUT SET UP PROCEDURE ............................... 5 ’ ? ..............................5 S IN THE ................................6 SSEMBLY ................................. 8 SING A EATSINK BASIC FUNCTIONALITY ............................
(‘hard’ cooling) or gradual changes in speed in-line with temperature changes (‘mild’ cooling). The PiCoolFAN4 does not use any GPIO pins - all communication with the Raspberry Pi is via I C. This leaves your GPIO pins free for your projects or other HATs, which can be stacked with the PiCoolFAN4.
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 PiCoolFAN 4 PCB Layout Designed by www.pimodules.com manufactured in co-operation with www.thepihut.com...
Set up Procedure What’s in the Bag? This package comes with everything you need to start using the PiCoolFAN4 right out of the box. It’s assembled, tested and contains all required accessories. Minor assembly is required by the user and no soldering is necessary.
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Kit Assembly 1. Cut the bag on upper side by scissors and remove components from the bag: 2. Place the fan on the top of the PCB with the cable to the right. It is important to place the fan this way, as there are slots on the PCB matching the fan position.
Page 7
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 3. Turn the PCB and fan over, and screw the first two screws in opposing corners as per the image below. At this stage there is no need to full tighten the screws, just a couple of turns in order to keep the fan in place.
Screw the 4 x 7mm spacers to the rear of the PCB with the provided nuts as per the image below: 7. Fit your PiCoolFAN4 on to the Raspberry Pi 4. For basic usage there is no need for any software installation.
Temperature step (tstep) = 1 Note: More information on these values and Cooling Profiles can be found on page 13 Fan LEDs The PiCoolFAN4 is equipped with 3 System LEDs (Blue, Green, and Red) which are also enabled at this factory default state: •...
Print Date 10.11.2019 Identifying the Current Setup A simple script is provided which indicates the current setup alongside temperature readings. The scripts can be downloaded at the following address and should be moved to the Raspberry Pi home directory: https://pimodules.com/download/picoolfan4-daemons-and-python-scripts The user will likely need to enable I C at this stage.
- this can be achieved easily with the provided software. Users who are not using a case with their Raspberry Pi are also strongly advised to tune the fan threshold. Remember: The PiCoolFAN4 temperature sensor is 3.5mm above the Raspberry Pi CPU. It is not a direct reading from the Raspberry Pi’s CPU temperature sensor (although this can also be set up –...
Page 12
40°C, however the user can change this to whatever value is right for their requirements. Remember, in this scenario based on the factory default setup, we’re setting the PiCoolFAN4’s temperature sensor reading for the threshold. Should you wish to use the Raspberry Pi’s internal temperature sensor as the threshold sensor, see page 18.
Print Date 10.11.2019 Advanced Functionality This section will guide the user in using the advanced functionality of the PiCoolFAN4, such as configuring the software to use the Raspberry Pi’s temperature sensor, changing the cooling mode (hard or mild), adjusting the temperature threshold, fan speed changes and more.
Users can change any one (or all) of these parameters to customize cooling to their exact needs. All changes are stored in the EEPROM i.e. the settings are saved, even when the Raspberry Pi is turned off and on again.
Page 15
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Ttemp and Tstep Ttemp defines the temperature threshold to be used in the cooling profile. Tstep defines the number of steps (temperature in degrees) it takes to increase/decrease fan speed to the next range.
Page 16
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Here is an example of Ttemp set to 45°C and Tstep set to 2: Designed by www.pimodules.com manufactured in co-operation with www.thepihut.com...
-y 1 0x60 0x0f 0xaa && sudo i2cset -y 1 0x60 0x08 0x10 In this example, the setting is 0x10 which uses the PiCoolFAN4 sensor and a Hard cooling profile. Other smode settings can be seen in the table on page 14. Setting Ttemp...
PiCoolFan4 sensor is not practical. Enable the daemon To enable the software to use the Raspberry Pi sensor as the temperature monitor (as part of the cooling profile), the following steps are required: 1. Copy provided python pcf4.py script to the root directory, if not already done so.
Page 19
Once this service is activated, the user has the option to use both Cooling Profiles (Mild or Hard) based on the Raspberry Pi temperature sensor (see page 13). Note: Even with the Daemon running, the user can still use the PiCoolFAN4 internal sensor if desired. Note: To check your current system setup, please see page 10 Designed by www.pimodules.com...
3. Never select the ttemp (threshold temperature) at a very low level. This will cause the fan to run at full speed for no reason. 4. Remember that even if your fan is running at low speed, The PiCoolFAN4 is a smart device, and if needed, will run the fan at 100% speed (if temperatures hit that level).
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 C Address Table This table details the I C addresses used for the various features/setting for the PiCoolFan4: Address Name Explanation Core Raspberry Pi temperature – user by software (Daemon) to provide exact Raspberry Pi temperature if Raspberry Pi sensor is configured to be used.
The most frequently used is the Hardware Battery Backed Real Time Clock. Follow below description in order to make it easy used on your system. After plug-in the PiCoolFAN4 and start the Raspberry Pi, you can see existing the following addresses on the I...
Page 23
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 In order to make the HW RTC installed follow the below procedure step by step. 1. Ensure to run below line sudo apt-get -y install i2c-tools 2. Edit by running the following line...
Page 24
# exit 0 11. Run date to verify the time is correct. 12. Plug in Ethernet or WiFi (if not plugged before) to let the Raspberry Pi sync the right time from the Internet. Once that's done, run: sudo hwclock -w 13.
Print Date 10.11.2019 Sound Generation System The PiCoolFAN4 can be optionally equipped with Simple Sound Generation System. It is can be used dedicated user applications offering the whole range of acoustic frequencies full programmable by user. There is 1 register bfreq that are responsible for the generating sound. The user needs to enter the requested frequency and just after that, sounder will be generated it.
It is absolutely not allowed to use the Integrated Relay for switching 220 V AC at any current, even very low due to security reasons. For PiCoolFAN4 I/0 Embedded Handler (User LEDs and Relay) is using a common register, that each bit is dedicated to different I/O device. Therefore bit 2 is assigned to the Relay.
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 User LEDs The PiCoolFAN4 is standard equipped with 2 LEDs for user applications: Green and Red. They can be switched ON or OFF each one respectively. Therefore bit 0 and 0 and 1 is assigned to the user LEDs.
4 pin header and put the jumper on the place BL. Then restart the system. Alternatively you can short the RS pins if not like to restart the system – this will cause reset of PiCoolFAN4 and enter the bootloader.
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Setting Factory Defaults There is a Factory Defaults set, that user can recall at any time. The Factory Defaults are the following: • Smode=00 • Ttemp=55 (changed in the new firmware v1.3 to 50) •...
C address. On such request user need to make sure that required firmware as also bootloader script is located on the Raspberry Pi root, and if so, execute the following command. Always replacing the PiCoolFAN.hex with a current name of the firmware release.
Page 31
Serial Port activation and checking In order to use bootloader, user need to have activated and free Serial Port on Raspberry Pi. The below procedure is showing how to make sure that Serial Port is free and available for Bootloader process.
Page 32
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Finally, our UART is enabled for Serial Communication on RX and TX pin of Raspberry Pi. Then, reboot the Raspberry Pi. Designed by www.pimodules.com manufactured in co-operation with www.thepihut.com...
PiCoolFAN4. The available addresses are the 0x30, 0x40, and 0x50. All handling of the PiCoolFAN4 is identical, the only changes are needed are to bootload new firmware addressed to selected new address. Due to ultra-small memory footprint on the used micro controller (due to price reasons) in the PiCoolFAN4, there is no space to implement I C selection on a single firmware.
Raspberry Pi is closed in a case (especially in the official one), however it could be too high (so fan not activate) for Raspberry Pi running alone outside of case. Then user need to decrease this threshold to 50 °C or even 45 °C, to have a proper cooling process. Such post installation process is needed in order to set the best threshold temperature for your exact system.
Page 35
During boot loading process system hang up (or for any reason and not completed uploading) The implemented in the PiCoolFAN4 bootloader is very secure. If the bootloaded new firmware not finished successfully, PiCoolFAN4 will not start. Will wait for repeated loading until completed properly.
PiCoolFAN4 Firmware Code 0x14 Print Date 10.11.2019 Document Revisions Version Date Modified Sections Comments N.A. 02/09/2019 N.A. First Preliminary Public Document Release N.A. 06/09/2019 N.A. Updated Version N.A. 05/11/2019 Corrected some mistakes in the No update firmware released – as not needed manual text.
Need help?
Do you have a question about the PiCoolFAN4 and is the answer not in the manual?
Questions and answers