Pi-top 4 fan loud

My Pi-top fan is always running at high speed. I read in this article https://blog.pi-top.com/dont-lose-your-cool-with-pi-top-4 where it says “Of course, the fan makes a fair bit of noise, but you should only really notice this if you’re pushing the pi-top [4] to the very limits.”

So I ran this command to get the temp: vcgencmd measure_temp
and got back temp=38.0'C
Is that enough to have the fan at full speed? Nothing is running on it but the VNC connection.

The fan is included for cooling the pi-top [4] when the device gets especially hot, The main two things that gets the device hot are pushing the processing power to the limit, and charging the device from a low percentage. Like a lot of mobile phones the pi-top [4] default fast charges when it’s possible and fast charging can generate a lot of heat!

The best thing to do is to keep the device plugged in and charged. In the mean time, we’re creating a fix so that users can pick fast or regular charging themselves.

1 Like

We also have a new firmware coming out soon which will allow you to change the battery charging current from “Fast” to “Normal” - the fan speed will be reduced as a result. RezN can send you instructions here when it’s ready

1 Like

That would be awesome. Unfortunately, the sound of the fan has undone all of my plans to use the Pi-Top[4]. I’d love to have the option of replacing the Pi 4 in the Pi-Top[4] with a Pi 3 and disabling the fan. I bet that’s not possible, but would love it.

I’ve been hoping for a response here. I’d like to see an API for the fan speed. I’m like the other poster who gave up on the Pi-Top 4 because of the fan noise. I’ve got two on a shelf. In a school, with kids, ventilation, etc, maybe it’s not disturbing, but it’s an issue for me, on my desk, at home.

It seems to me that the fan control on a pi-top[4] is either non-existent or broken. I have tried two separate units and both behaved identically. On startup, the fan immediately kicks in at max speed and just stays there. To check this out i ran a sysbench test running all four cores at 100% for 5 minutes. The fan noise never altered once. I repeated the test using both the battery only and with the mains adapter attached, once again the fan speed never once altered.

more interestingly i ran the same test on an Intel NUC and a Mac-Mini, the sound of the pi-top[4] fan was louder than both the fully stressed NUC or the Mac Mini.

I had two long chats with pi-top support over this and the only solution offered seemed to be for me to rewire the fan and drive it via the GPIO pins.

The pi-top[4] fan control is not based upon Raspberry Pi4B thermal data, hence the pi reports 38 degrees for CPU and GPU which is well below any level of concern. They seem to be monitoring the temperature of their proprietary card using sensors that look at the ambient case temperature and the charging system temperature. This makes sense in context, the implementation is seriously flawed.

I also noticed that there charging circuit makes a high pitched whine when attached to the unit, this somewhat less than inspiring as it occurred on both units i tried. Consequently, i decided to return the replacement to Amazon for a full refund as the concept is great but execution is poor.

Hi @boyblue66

The cooling fan is controlled by the MCU inside the pi-top [4], it basically has two inputs:

  1. Raspberry Pi CPU temperature - this is sent regularly by our hardware drivers on pi-topOS to a register on the MCU.
  2. Battery compartment temperature - this is read from the battery charging IC inside the pi-top [4] which has a wired NTC resistor connected to it. We do this to ensure that we never charge the battery when the ambient temperature is above 45 degrees celsius.

Based on these it will choose a fan speed profile. When you are charging the unit, the fan will be working quite hard to keep the battery compartment temperature low enough since the air channel it’s drawing from is quite high resistance - this is actually why we chose a centrifugal fan, we needed all the static pressure we could get!

To address this, we’ve made a new hub MCU firmware so people can choose between “Normal” and “Fast” charging speed. The default setting on all units is currently “Fast” charging - we expect to have the firmware updater ready in October (it’s actually ready, we just need to do a lot of testing since a failed firmware update would be… bad, to say the least).

We are also working on one more solution to lower the fan noise - we’ve designed a new, more efficient impeller that we are currently testing with really excellent results. There are two things to note: firstly, the diameter is increased, which lowers the required speed for the same airflow and subsequently will reduce the noise; secondly, we’ve used a much more sophisticated design approach that has airfoil-shaped impeller blades with a properly parameterized archimedean spiral outlet - this reduces vortexes and generally makes for a much more efficient design (saving power and lowering noise!). It was always our intention to design a cooling fan but due to a lack of time we had to use an off the shelf one to start with, and all suppliers we could find for the size and power we needed used very basic flat blade designs which unfortunately results in lower efficiency than is possible, and, subsequently, a higher noise (I guess they did this to simplify the design process and lower the final tooling cost)

I’ve read your emails and message chats with support and it seems to me like there is a QA problem with either the cooling fan or any one of the connections between the PWM pin of the fan and the output of the MCU. The fan has an internal pull-up resistor which means if it is left floating/unconnected the speed will be at 100% constantly, which sounds like the problem you are having.

We are investigating this issue as a top priority and will update you when we find the root cause - I hope that we can send you a new unit that works as intended as we spent a lot of engineering time to get it right, it’s a shame that something has gone wrong here and we apologize for the inconvenience.

I’ll be in touch!

Hi @Eirikur - we’re testing the firmware updater currently and hope to have it released in October. This will allow you to reduce the battery charge current and the fan noise will be lowered as a result. If you want direct control over the fan speed I’d recommend you open the unit and plug the fan connector into the “RPi” control port, then just write a simple script to control it yourself :+1:

Hi @duwudi,
Thanks for the info. Someone suggested something similar before, but my memory is too hazy.
Is this other port the one next to where it is plugged into “as shipped?” I can do that. I’ll have to open up both pi-tops and compare, though. That’s not unpleasant and I don’t mind.

You say I can control it at that point? How do I do that? I don’t know how to control that port from software, but I am a software developer. Just tell me.

I’d love to do this and make use of my two units. I have a project that I could do!



@Eirikur yeah it’s got a label on the silkscreen too - should be fairly easy to swap it over, just remove the 2 screws for the upper casing, pop it off and you’ll have access to switch it. There might be a “warranty void” sticker on that connector but don’t worry about that if there is, not sure what batch you’ve got but we’ve removed that sticker now anyway :slight_smile:

@RezIN is writing a guide for you which will be on our knowledgebase in about an hour or so - I’ll leave it to him to post a link when he’s done!

Fresh off the pi-top printing press!
Here’s the guide on how to control the fan speed.

1 Like