Skip to content

Pi Zero 2W cooling tests #16

@g7ruh

Description

@g7ruh

Hi @dylski

I have been doing some cooling tests to see how easy it is to keep the CPU from throttling.

Image

1 is a small glued on heatsink such as: https://shop.pimoroni.com/products/heatsink?variant=17021246791

2 is a larger all round heatsink https://shop.pimoroni.com/products/aluminium-heatsink-case-for-raspberry-pi-zero?variant=40982592651347 with a heat pad linking the CPU and heatsink.

  1. is a small fan designed for the Pi 4 but works well with a bit of modification (discussed below): https://shop.pimoroni.com/products/fan-shim?variant=29210095812691 Note: there is no heatsink on the CPU.

One problem is that the GPIO connector is on the upper side of the CPU and does not help convectional cooling. I have run tests with the GPIO connector at the bottom and on the side (rotating the display). Cooling is improved when no heatsink or a small one is used but not enough to stop CPU throttling.

The Fan Shim has been modified from the standard installation on a Pi 4. The fan is usually mounted on the top of the PCB. For this use case, it hits the e-ink display.

Mounting the fan on the underside of the Fan Shim PCB lowers it enough, but still leaves some space bewteen the fan and the CPU for air flow.
I have not tested changing the gap beween the fan and the CPU to see if it makes any difference to air flow / cooling: initial results were good enough.

Make sure that you do not rotate the fan when mounting. The rotating part of the fan is still uppermost. An extra header could be used instead of remounting the fan, but that increases the overall depth of the combined display and Zero 2W.

Image

However, mounting on the underside creates a minor problem: the fan PCB touches a strengthening wing on the fan and makes the fan unable to sit square to the PCB.

Image

Nut A clears the wing on the fan and allows the screw to be tight.
Nut B keeps the PCB above the uneven part of the fan and allows the PCB to be tightened by the bottom nut.

A suitably sized spacer could be used to replace the two nuts: those were what I had available when testing.

The PCB is thin and designed to friction fit on header block pins. I have found that is not always providing a reliable electrical connection to the PCB, especially as the outer row of contacts are elongated. The makers also suggest it should be soldered to the pins for reliability.

Image

Care needed: do not use too much solder on the pins as that may run up the pins and prevent the header attaching reliably to the display socket.

Image

The photo above shows the compact size of the modification. Still to be done: fitting stand-off mounts to fix the Pi to the display.

While I decide how to present the display (larger frame and find a suitable one) I used this 3D print to offer some protection to the display during testing. https://www.printables.com/model/725292-pimoroni-inky-impression-73-display-frame

Testing results:

This was tested in a room temperature of 20 - 21 deg C.
I used bcmstat.sh to monitor temperature as it provides current and maximum temperatures https://github.com/MilhouseVH/bcmstat

Test Item 1 (small heatsink) throttled the CPU ( got too hot).

Test Item 2 (big heatsink) got to 70-75 deg C and a warmer environment may cause the CPU to throttle. Not tested in higher room temperature. Using a USB attached twin fan with 3 speeds reduced the temperature but even on low speed was a bit loud. Fixing it in place would be more of a problem than 3) below.

Test Item 3 (fan) keeps the CPU to 65-66 Deg C using the automatic control and its default temperature / fan speed ranges. This is installed as a service using a supplied script after the Fan Shim software package has been installed. At low speeds the fan is not too loud.

Using a fan does add the possibility of fan failure causing problems, but using the large passive heatsink will cause some mounting issues because it is not really designed to be mounted on a display. It would require significant customisation to make a secure mount for the display.

Using the above solution and some screw headers spaced correctly will allow the display mount points to be used.

I hope the feedback helps somebody.

Regards
Roger G7RUH

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions