Home

Awesome

<p align="center"> <a href="https://github.com/nschloe/stressberry"><img alt="stressberry" src="https://nschloe.github.io/stressberry/stressberry-logo.svg" width="60%"></a> <p align="center">Stress tests and temperature plots for the Raspberry Pi</p> </p>

PyPi Version PyPI pyversions GitHub stars PyPi downloads

gh-actions codecov Code style: black

There are a million ways to cool down your Raspberry Pi: Small heat sinks, specific cases, and some extreme DIY solutions. stressberry is a package for testing the core temperature under different loads, and it produces nice plots which can easily be compared.

Raspberry Pi 4B

<img src="https://nschloe.github.io/stressberry/4b-active.svg" width="100%"><img src="https://nschloe.github.io/stressberry/4b-passive.svg" width="100%">
activepassive
<img src="https://nschloe.github.io/stressberry/rpi4-fans.jpg" width="70%"><img src="https://nschloe.github.io/stressberry/kksb.jpg" width="70%"><img src="https://nschloe.github.io/stressberry/argon-one.jpg" width="70%">
custom case with fans (@flyingferret, #21)KKSB case (@JohBod, #31)Argon One case (@jholloway, #37)
<img src="https://nschloe.github.io/stressberry/hex-wrench.png" width="70%"><img src="https://nschloe.github.io/stressberry/coolipi.jpg" width="70%"><img src="https://nschloe.github.io/stressberry/ice-tower.jpg" width="70%">
hex wrench case (@patrickpoirier51, #45)CooliPi (@CooliPi, #47, #48)low-profile ice tower case (@leonhess, #54)
<img src="https://nschloe.github.io/stressberry/flirc4b.jpeg" width="70%"><img src="https://nschloe.github.io/stressberry/armor.jpg" width="70%">
Flirc case (@RichardKav, #73)Armor Case

Raspberry Pi 3B+

<img src="https://nschloe.github.io/stressberry/3b+.svg" width="70%">

FLIRC case

<img src="https://nschloe.github.io/stressberry/flirc-photo.jpg" width="30%">

The famous FLIRC case. Thanks to @RichardKav for the measurements!

Raspberry Pi 3B

<img src="https://nschloe.github.io/stressberry/3b.svg" width="70%">
<img src="https://nschloe.github.io/stressberry/naked-photo.jpg" width="90%"><img src="https://nschloe.github.io/stressberry/acryl-photo.jpg" width="90%"><img src="https://nschloe.github.io/stressberry/fasttech-photo.jpg" width="90%">
No fans, heat sinks, or case.Your average acrylic case from eBay.FastTech case, full-body aluminum alloy with heat pads for CPU and RAM.

How to

To run stressberry on your computer, simply install it with

[sudo] apt install stress
python3 -m pip install stressberry

Users of Arch Linux ARM can install from the official repos

[sudo] pacman -S stressberry

and run it with

stressberry-run out.dat
stressberry-plot out.dat -o out.png

(Use MPLBACKEND=Agg stressberry-plot out.dat -o out.png if you're running the script on the Raspberry Pi itself.)

If it your computer can't find the stressberry tools after installation, you might have to add the directory $HOME/.local/bin to your path:

export PATH=$PATH:/home/pi/.local/bin

(You can also put this line in your .bashrc.)

The run lets the CPU idle for a bit, then stresses it with maximum load for 5 minutes, and lets it cool down afterwards. The entire process takes 10 minutes. The resulting data is displayed to a screen or, if specified, written to a PNG file.

If you'd like to submit your own data for display here, feel free to open an issue and include the data file, a photograph of your setup, and perhaps some further information.

Testing

To run the tests, just check out this repository and type

pytest

License

This software is published under the GPLv3 license.