Banana pi R3 fan with PWM

The offical fan should be delieverd with thermal pads. I do not have one, but looked on aliexpress:

grafik

https://de.aliexpress.com/item/1005005767853969.html?spm=a2g0o.productlist.main.3.26e4u24iu24i4A&algo_pvid=36ddb290-5519-4dd7-9a16-142942dc61a0&algo_exp_id=36ddb290-5519-4dd7-9a16-142942dc61a0-1&pdp_npi=4%40dis!CHF!9.59!4.79!!!10.84!5.42!%402101fb0917059424479955684ecd4a!12000034280798901!sea!CH!0!AB&curPageLogUid=WxV3n3YuFLJ3&utparam-url=scene%3Asearch|query_from%3A

Please use thermal pads :+1:

1 Like

not on the wifi chips, there are only 2 pads in the kit…anyway my temp is always below 50°c and my fan never start…or it starts but I never hear it even though it’s 1 meter away from my head

as you can see below, even with no thermal pad, and no contact between the wifi chips and the radiator, the temp never reach 50°c, My office is actually at 20°c

1 Like

Ok. I have put thermal pads over each chip under the official fan. Cpu is running with a stable 44/45 º C. Mt7915_phy0 shows a wrong temperature, but I can live with it :slight_smile:

1 Like

Thanks for those commands! The first only workable/easy solution I found here and elsewhere… those were my temps before running them:

root@OpenWrt:~# sensors
mt7915_phy0-isa-18000000
Adapter: ISA adapter
temp1:        +53.0°C  (high = +120.0°C, crit = +110.0°C)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +54.4°C  (crit = +125.0°C)

mt7915_phy1-isa-18000000
Adapter: ISA adapter
temp1:        +86.0°C  (high = +120.0°C, crit = +110.0°C)

And after letting the system go for a little while with no load nor connections (just starting to provision my BPI-R3 now):

root@OpenWrt:~# sensors
mt7915_phy0-isa-18000000
Adapter: ISA adapter
temp1:        +45.0°C  (high = +120.0°C, crit = +110.0°C)

cpu_thermal-virtual-0
Adapter: Virtual device
temp1:        +44.6°C  (crit = +125.0°C)

mt7915_phy1-isa-18000000
Adapter: ISA adapter
temp1:        +78.0°C  (high = +120.0°C, crit = +110.0°C)

I think it’s a shame that more conservative defaults are not applied since the case was fairly warm to the touch and could have damaged my system eventually… in other words: out of the box configs should not self-destruct the router :confused:

i’m the only one with a mt7915_phy1-isa-18000000 reporting 15°c ??

is +78.0°C a correct value ??

Sorry, i made a mistake when upstreaming the r3 thermal part dts due to my 3rd party pwm was not working with r3.

But you should be aware that mainline software support is done by only a few people,mainly daniel (also openwrt),wifi/hw offloading from lorenzo and some basic parts from me. These are development boards :slight_smile:

Argh, sorry for my harsh word actually, “shame” is a bit too strong in this context, I should have used “pity”. If you show me how to modify the dts, I’d be happy to PR the changes to OpenWRT as penitence :wink:

Thanks Frank and others to maintain/fix those systems, I totally appreciate the efforts… I bought that board, so at least, I hope that helped somehow :stuck_out_tongue_winking_eye:

I’d definitely wouldn’t take those 78degC too seriously…

1 Like

Hello,

because of looking for a new PWM fan, I also thought about a new heatsink … . I know there is a fan for R3 but I may want to work with thermal paste. At the end it could be that I create a fansink which covers the whole area including SFP and 4G cellular modem. But this is just a dream…

Anyway, I tried to measure more exactly the chips height beneath the heatsink. I still have no digital caliper. But I got the information from internet and from a “piece of paper measurement”.

I know it sounds crazy, but after one day of thinking (How could I find something in my room that could measure in 0.1 mm steps), I realized and find out, that a piece of paper (HP Premium 90g/m^2) has 0.12 mm thickness . And because of the plain surface of the chips it is possible to use a ruler to get the differences between package heights. YES, crazy!

The measurement results matches really good with the information from internet. These is the summary:

The minimal thermal pad thickness is 0,5 mm (MT7531AE blue). After covering the chip packages surface with thermal pads, the heights should be 2,1 mm at all chips.

If something is wrong (heights, package, dimension), please write back to me!

Finding the dimensions of the different chip packages was not easy. It would be good if Banana pi could upload this data to the wiki.

1 Like

Hallo again,

I learned some things about my fan(s) and frank’s post at R4 topic pushed me a bit:

First of all, I learnd that not only the PWM signal on the board is importand. I learnd that a PWM fan has microships inside which can effect the result.

I have two fans. This are my results overview with 5V and 12V:

The only fan which could be switched off was the PLD05010S12H @ 5V.

Next try would be a PLD06010S12L 55mm 0,2A. I have already ordered the fan. Should be here within a month …

1 Like

Since everyone is messing around with them trip_point_x_temp variables, here’s a reference to the original defaults in case anyone prefers to go back.


Default trip_point_x_temp

Set Point Temp *C Dec Setting Notes
Set Point 0 Critical ? Speed Level: 5 (Top Gun)
Set Point 1 120 *C 120000 Speed Level: 4 (Very Fast)
Set Point 2 115 *C 115000 Speed Level: 3 (Fast)
Set Point 3 85 *C 85000 Speed Level: 2 (Medium)
Set Point 4 60 *C 60000 Speed Level: 1 (Normal)
echo 120000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp  #Set to 120*C
echo 115000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
echo 85000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
echo 60000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp

Note: You can manually go to each file if you desired

cd /sys/class/thermal/thermal_zone0/
vi trip_point_1_temp

Additional PWM Fan Control

echo 0 > /sys/class/pwm/pwmchip0/export
echo 10000 > /sys/class/pwm/pwmchip0/pwm0/period
echo 5000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
echo normal > /sys/class/pwm/pwmchip0/pwm0/polarity
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable

Reference: Getting Started with BPI-R3 - Banana Pi Wiki

3 Likes

As I understood, the recommendation for peak-cpu temp of the MediaTek MT7986 is <= 85°C. So I don’t understand the limits of 115 and 120°C. Shouldn’t the device already switch itself off if the CPU temperature rises above 90°C?

The 115/120°C is for emergecy switch off. But these shoild not be hanfled with fan like post above. Fan imho should only be used with temperatures below 100°C.

Hello. I’ve been trying to find the original 5V fan or a similar one (without a heatsink) for the BPI R3, but I haven’t been able to find anything. Do you know where to get one?

The original fan with heatsink can be found on aliexpress by searching for “bpi-r3 fan”

E.g. this https://de.aliexpress.com/item/1005008652506748.html

I do not know working one without heatsink (i tried 5v pwm,but pwm signal is only 3v3).

I was very curious because I have two official BPI-R3 heatsinks. One is noisy, the other is quite quiet. The reason is in the following photos:

IMG_20250818_233118656_HDR

Different voltages.

i wonder why the 12v does anything :thinking:

And it’s working pretty well. CPU temps at around 45º C. Fan is set to start at the same temperature. No noise. Maybe the sticker is fake :))

The voltage and current are the nominal ratings, it doesn’t say anything about operation outside of these nominal specs.

It is quite normal that the fan will run at lower speed (lower torque) when lower voltage is applied than nominal.

Sometimes the induced torque is not enough to get the motor to start running.

That i had expected for a 12v fan on 5v bus with 3.3v pwm signal.