🛠 Remplacer un CM4 par un CM5 : audit des incompatibilités (Annexe B)
Objectifs
Le CM5 reprend le format 40 × 55 mm et les connecteurs 2 × 100 broches du CM4 — Raspberry Pi parle de compatibilité « mostly compatible », pas totale. Avant de souder un CM5 dans un parc de cartes CM4, il faut auditer les trois écarts documentés en Annexe B de la datasheet : (1) les paires MIPI CAM0/DSI0 sont devenues USB 3.0 et ne fonctionnent plus sur une carte CM4 ; (2) la protection ESD dont bénéficiaient HDMI, SDA, SCL, HPD et CEC sur le CM4 a été supprimée ; (3) la consommation passe d'environ 1,4 A typique à une conception devant tenir 5 V / 2,5 A. Ce tuto produit un script d'audit reproductible.
Matériel
- 1 × CM5 monté sur la carte mère CM4 à auditer (IO Board ou carte produit)
- Alimentation d'origine du produit (c'est justement le suspect n°1)
- Écran HDMI, et si pertinent : caméra sur CSI0, dalle DSI0
- Session SSH ou console série de secours (le boot peut échouer selon les DTB)
Code complet
#!/usr/bin/env bash
# audit-cm5-sur-cm4.sh — ce qui survit au remplacement CM4 -> CM5.
echo "== 1. Sous-tensions (alim prévue pour 1,4 A ?) =="
dmesg | grep -iE 'under-voltage|underpower' || echo "OK : aucune sous-tension enregistrée"
vcgencmd get_throttled
echo "== 2. Caméra sur l'ancien port CAM0 (paires devenues USB3) =="
libcamera-hello --list-cameras 2>/dev/null || echo "AUCUNE caméra : attendu sur brochage CM4"
echo "== 3. Premier afficheur DSI0 (paires devenues USB3) =="
ls /sys/class/drm/ | grep -i dsi || echo "pas de connecteur DSI0 exposé"
echo "== 4. Périphériques USB3 apparus à la place des MIPI =="
lsusb -t | grep 5000M || echo "aucun périphérique 5000M branché"
echo "== 5. Chaîne thermique et EEPROM =="
vcgencmd measure_temp; vcgencmd bootloader_version | head -1
Vérification attendue
Le rapport doit conclure : pas de sous-tension sous charge (sinon revoir l'alimentation — la datasheet suggère en repli de baisser l'horloge CPU) ; caméra CSI0 et dalle DSI0 absentes (comportement attendu, pas un défaut) ; l'eMMC, l'Ethernet, le second HDMI et l'empreinte HAT restent fonctionnels. Tracer la décision : migrer la carte mère vers un brochage CM5 si la caméra/DSI0 est requise.
Erreurs fréquentes
- Réutiliser l'alimentation du produit CM4 : brown-outs intermittents en pic de charge ; l'Annexe B.3 impose 5 V / 2,5 A de conception.
- Imputer au « défaut » la caméra muette sur CSI0 : c'est l'incompatibilité structurelle du brochage, aucune correction logicielle n'existe.
- Oublier l'ESD : sur des connecteurs exposés (HDMI, I2C en façade), réajouter la protection que le CM4 embarquait et que le CM5 n'a plus.
- Confondre « mostly compatible » et « pincette »: pour un design exigeant 100 % de compatibilité CM4, la fiche produit rappelle que le CM4 reste en production jusqu'en janvier 2034 au minimum.
Autres tutoriels pour cette carte
- Alimenter un CM5 comme il faut : USB-C PD 5 V / 5 A et bouton d'alimentation
- La première RTC des Compute Modules : câbler et vérifier la VBAT du CM5
- 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
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash