Raspberry Pi 5

The Complete Hardware Guide

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#best-practice-for-revision-code-usage

Benchmark

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh |sudo bash

SSD Health Check

sudo smartctl /dev/nvme0n1p2 –health –all

Hardware Layout

RPi-5 Layout

Link to full documentationt

After installation of the RTC Battery, display battery status with:

cat /sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage
cat /sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_max
cat /sys/devices/platform/soc/soc:rpi_rtc/rtc/rtc0/charging_voltage_min

Check Operation of the RTC:

Setting-up a USB Speaker
Install a sound driver, in this example Pulseaudio:

sudo apt-get install pulseaudio
Check the driver is installed:

cat /proc/asound/modules
0 snd_usb_audio
1 vc4
2 vc4
Test the sound:

speaker-test -c2 -twav -l9 -D plughw:0,0
Set the sound level to maximum:

sudo amixer sset PCM 100% -M

timedatectl

               Local time: Mon 2024-01-08 15:59:38 GMT
           Universal time: Mon 2024-01-08 15:59:38 UTC
                 RTC time: Mon 2024-01-08 15:59:38
                Time zone: Europe/London (GMT, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Setting-up a USB Speaker

  1. Install a sound driver, in this example Pulseaudio:
    1. sudo apt-get install pulseaudio
  2. Check the driver is installed:
    1. cat /proc/asound/modules
      0 snd_usb_audio
      1 vc4
      2 vc4
  3. Test the sound:
    1. speaker-test -c2 -twav -l9 -D plughw:0,0
  4. Set the sound level to maximumsudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh |sudo bash
    1. sudo amixer sset PCM 100% -M

NVME Speed check

sudo hdparm -t –direct /dev/nvme0n1

Simple Benchmark:

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh |sudo bash

Changing RPi5 Fan Temperatures

The documentation for available adjustments to config.txt are iat:

/boot/firmware/overlays/README

You should not make any changes to the README file – it is placed there as documentation to explain how to make the changes needed in config.txt for temperature thresholds.

fan_temp0 Temperature threshold (in millicelcius) for
1st cooling level (default 50000). Pi5 only.


fan_temp0_hyst Temperature hysteresis (in millicelcius) for
1st cooling level (default 5000). Pi5 only.

fan_temp0_speed Fan PWM setting for 1st cooling level (0-255,
default 75). Pi5 only.

fan_temp1 Temperature threshold (in millicelcius) for
2nd cooling level (default 60000). Pi5 only.

fan_temp1_hyst Temperature hysteresis (in millicelcius) for
2nd cooling level (default 5000). Pi5 only.

fan_temp1_speed Fan PWM setting for 2nd cooling level (0-255,
default 125). Pi5 only.

fan_temp2 Temperature threshold (in millicelcius) for
3rd cooling level (default 67500). Pi5 only.

fan_temp2_hyst Temperature hysteresis (in millicelcius) for
3rd cooling level (default 5000). Pi5 only.

fan_temp2_speed Fan PWM setting for 3rd cooling level (0-255,
default 175). Pi5 only.

fan_temp3 Temperature threshold (in millicelcius) for
4th cooling level (default 75000). Pi5 only.

fan_temp3_hyst Temperature hysteresis (in millicelcius) for
4th cooling level (default 5000). Pi5 only.

fan_temp3_speed Fan PWM setting for 4th cooling level (0-255,
default 250). Pi5 only.

You should not attempt to make these changes to the .dtb file. The .dtb files are all “compiled”, and not meant to be edited manually.

Instead, you should make your changes in the config.txt file located in /boot/firmware/config.txt (last I checked this is where it was found).

It’s a bit strange I suppose, but the documentation for available adjustments to config.txt are in this location on your RPi: /boot/firmware/overlays/README. You should not make any changes to the README file – it is placed there only for documentation explaining how to make the changes needed in config.txt

Here are the parameters relevant to the changes you want to make for your RPi 5 fan (taken from the README file):

And so we see from reviewing the information above that the default is set up to increase the fan speed as the temperature increases:

at 50 degC (fan_temp0), the fan comes on at a speed of 75 (fan_temp0_speed), and will remain on until the temperature reaches the hysteresis point of 45 degC (45 = fan_temp0 – fan_temp1_hyst), at which point it will turn off.

at 60 degC (fan_temp1), the fan comes on at a speed of 125 (fan_temp1_speed), and will remain on until the temperature reaches the hysteresis point of 55 degC (55 = fan_temp1 – fan_temp1_hyst), at which point it will reduce to fan_temp0_speed.

etc for fan_temps 2 and 3.

The designers have implemented a detailed algorithm for fan cooling. For the change that you want to make, it is suggested to begin by adding the following lines to your config.txt file using the nano editor (or whatever editor you’re comfortable with). In other words:

sudo nano /boot/firmware/config.txt


Once the file is open, add these lines:

dtparam=fan_temp0=40000
dtparam=fan_temp0_hyst=10000
dtparam=fan_temp0_speed=125


This will start the fan at a speed of 125 when the temp reaches 40 degC, and turn it off when the temp reaches 30 degC. Be aware this example temperature is quite low, and the fan may run continuously.