🛠 La première RTC des Compute Modules : câbler et vérifier la VBAT du CM5
Objetivos
El CM5 es el primer Compute Module con una RTC integrada: el pin VBAT (2,5–3,5 V, típicamente una pila CR2032) mantiene la hora cuando el sistema está apagado, con un consumo de 1,7 µA alimentado / 6 µA sin alimentación — la hoja de datos indica «una pila CR2032 típica dura más de 3 años sin alimentación». El CM4, en cambio, no tenía ninguna RTC en el módulo. Este tutorial: instalar la pila, ajustar la hora, grabarla en la RTC y verificar que sobreviva a un corte total de corriente — el paso indispensable para cualquier equipo sin conexión o en caja cerrada.
Material
- 1 × CM5 sobre una placa CM5IO Board (el soporte de pila RTC está previsto en la IO Board)
- 1 × pila de botón CR2032 nueva (respetar la polaridad +/− del soporte de pila)
- Pantalla o sesión SSH
- 5 minutos de corte de corriente para la prueba de conservación
Código completo
# 1) Insérer la CR2032, démarrer, vérifier la présence de la RTC
ls -l /dev/rtc*
cat /sys/class/rtc/rtc0/name
dmesg | grep -i rtc | head -3
# 2) Régler l'heure système puis l'écrire dans la RTC
timedatectl # état courant (NTP activé ou non)
sudo timedatectl set-ntp false
sudo date -s '2026-10-14 08:30:00'
sudo hwclock -w -f /dev/rtc0 # système -> RTC
sudo hwclock -r -f /dev/rtc0 # relecture : doit correspondre
# 3) Test de conservation : couper l'alimentation 5 minutes (pas le porte-pile),
# rallumer SANS réseau, et vérifier :
timedatectl | head -3
# 4) Remettre la synchro réseau une fois en ligne
sudo timedatectl set-ntp true
Verificación esperada
/dev/rtc0 existe y hwclock -r vuelve a leer la hora grabada; tras el corte de 5 minutos sin red, timedatectl muestra una hora coherente (deriva del orden del segundo); el kernel registra la RTC al arrancar (dmesg | grep -i rtc). En un diseño con batería, anotar la carga quiescente de unos pocos µA que VBAT impone permanentemente (nota del pin 76).
Errores frecuentes
- Ajustar
datesin ejecutarhwclock -w: la hora del sistema se pierde al cortar la corriente; solo la escritura en la RTC la conserva. - Olvidar desactivar NTP durante la prueba: la sincronización de red «corrige» la hora y enmascara una RTC muerta o mal cableada.
- Pila invertida o contacto oxidado: la hora vuelve a la fecha de compilación del kernel en cada arranque en frío.
- Comparar con el CM4: el CM4 no tiene RTC alguna (es la placa portadora la que añade una, p. ej. PCF8523 sobre I2C); los scripts
hwclockheredados del CM4 pueden apuntar a otro dispositivo.
Otros tutoriales para esta placa
- Alimenter un CM5 comme il faut : USB-C PD 5 V / 5 A et bouton d'alimentation
- Accès distant sans VPN : enregistrer un CM5 dans Raspberry Pi Connect
- GPIO du CM5 côté RP1 : force de conduite, budget 50 mA et broches pièges
- Refroidir le CM5 : ventilateur PWM sur le connecteur JST-SH et tachymétrie
- Deux ports USB 3.0 simultanés : le CM5 fait du stockage rapide, pas sur une carte CM4
- Démarrer le CM5 sur un SSD NVMe dans le socket M.2 de la CM5IO
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash