🛠 Surveillance thermique et fréquence CPU

ODROID-M1 (Hardkernel) · avance · Schéma : IMG-odroid-m1-avance-2-odroidm1-thermique.svg — ODROID-M1 avec son dissipateur 123×100 mm, sondes de température des quatre coeurs Cortex-A55 et courbe de fréquence dans un terminal

Objectives

Instrument the thermal behavior of the RK3568B2: read kernel sensors, monitor the frequency of the four Cortex-A55 cores (up to 2 GHz) under load, and verify that the stock heatsink performs adequately (CNX test: slightly above 50 °C at 35 °C ambient, 1.3 W idle, 4.5 W under heavy load).

Hardware

Complete code

#!/usr/bin/env bash
# monitoring-odroidm1.sh — température + fréquence, 1 ligne / 2 s
while true; do
  for z in /sys/class/thermal/thermal_zone*; do
    t=$(($(cat $z/temp) / 1000))
    echo -n "$(cat $z/type): ${t}C "
  done
  for c in /sys/devices/system/cpu/cpufreq/policy*; do
    f=$(($(cat $c/scaling_cur_freq) / 1000))
    echo -n "cpu$(( ${c##*policy} )): ${f}MHz "
  done
  echo "| load: $(cut -d' ' -f1 /proc/loadavg)"
  sleep 2
done

# Dans un second terminal : montée en charge et throttling
sudo apt-get install -y stress-ng
stress-ng --cpu 4 --timeout 300

Expected verification

At idle, a few degrees above ambient; under load on 4 cores, the temperature rises and then stabilizes around 50-60 °C with the stock heatsink. scaling_cur_freq remains close to 2000 MHz as long as the throttling threshold is not reached.

Common errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials