🛠 Migrer un produit du CM3 vers le CM3+ en drop-in
Objectifs
Le CM3 est en fin de vie officielle depuis le 16 octobre 2025 (retrait du BCM2837) ; Raspberry Pi désigne le CM3+ comme son remplaçant direct pour les designs existants, avec engagement de disponibilité jusqu'à au moins janvier 2028. Électriquement identique et broche à broche compatible, le CM3+ n'est pourtant pas un clonage sans risque : ce tutoriel établit la checklist de migration validée par tests.
Matériel
- Cartes porteuses CM3 d'origine + modules CM3+ de remplacement (et CM3+ Lite pour les designs à SD/eMMC externe)
- Oscilloscope/analyseur de rampe pour VBAT, pied à coulisse pour la garde au sol
- Images logicielles récentes (firmware postérieur à novembre 2018 obligatoire)
- Datasheets RP-008161-DS (CM3) et RP-008163-DS (CM3+) côte à côte
Code complet
#!/usr/bin/env bash
# test_migration.sh — batterie de non-régression sur le produit migré CM3+
set -u
ok=0; ko=0
check { if eval "$2" >/dev/null 2>&1; then echo "PASS $1"; ok=$((ok+1));
else echo "FAIL $1"; ko=$((ko+1)); fi; }
check "firmware recent (>= nov 2018)" "test -n '"'"'$(vcgencmd versionmap | grep -oE '[0-9a-f]{8}' | head -1)'"'"'"
check "pas de sous-tension" "test $(sudo vcgencmd get_throttled | cut -d= -f2) -eq 0"
check "eMMC détecté" "lsblk -n /dev/mmcblk0"
check "temp sous 80C en charge" "bash -c 'stress-ng --cpu 4 --timeout 60s; test $(vcgencmd measure_temp | cut -d= -f2 | cut -d. -f1) -lt 80'"
check "GPIO bank0 OK" "gpio -g read 17"
check "réseau porteuse OK" "ping -c1 -W2 192.168.1.1"
echo "=== $ok PASS / $ko FAIL ==="; test $ko -eq 0
Points de conception à vérifier hors script : (1) firmware — toute vieille image CM3 antérieure à novembre 2018 doit être re-flashée ; (2) z-height — le CM3+ a un boîtier CPU légèrement plus haut, contrôler les capots et dissipateurs existants ; (3) VBAT — exiger 3500 mW de capacité (le CM1 n'en demandait que 2000), vérifier le régulateur de la carte d'origine ; (4) seuil thermique descendu de 85 °C (CM3) à 80 °C (CM3+) : revoir le budget thermique des boîtiers scellés.
Vérification attendue
La batterie de tests passe au vert sur 10 cycles marche/arrêt et 1 h de charge CPU : aucune sous-tension, température tenue sous 80 °C, eMMC et périphériques SODIMM identiques au CM3. Le capot se ferme (z-height validée) et le firmware en production est daté. Le BOM change de référence (CM3+/8-64 Go ou Lite) et le planning intègre l'EoL CM3+ (pas avant janvier 2028) avec une trajectoire CM4S si le produit doit vivre au-delà.
Erreurs fréquentes
- Réutiliser le stock de cartes SD/firmware pré-novembre 2018 : le CM3+ ne démarre pas, et le diagnostic part dans tous les sens si on ne connaît pas cette exigence du datasheet §1.
- Ne pas rouvrir le budget thermique : le bridage arrive 5 °C plus tôt que sur CM3, un boîtier calibré à 84 °C devient un four à throttling.
- Oublier la hauteur du CPU : le CM3+ est physiquement identique SAUF la z-height du boîtier processeur — les capots ajustés au dixième ne passent plus.
- Croire la migration définitive : le CM3+ a lui-même une date d'EoL (pas avant janvier 2028) ; les produits longs doivent déjà viser le CM4S (même SODIMM, silicium Pi 4).
- Migrer sans re-qualifier les rampes d'alimentation : les exigences de séquence (du plus haut au plus bas, latch-up) sont identiques, mais un régulateur VBAT limiteur en courant hérité d'un design CM1 peut décrocher plus tôt.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash