🛠 Migrer un produit du CM3 vers le CM3+ en drop-in
Objetivos
El CM3 ha alcanzado oficialmente el fin de su vida útil el 16 de octubre de 2025 (retirada del BCM2837); Raspberry Pi designa el CM3+ como su reemplazo directo para los diseños existentes, con un compromiso de disponibilidad hasta al menos enero de 2028. Eléctricamente idéntico y compatible pin a pin, el CM3+ no es, sin embargo, una clonación sin riesgos: este tutorial establece la lista de verificación de migración validada mediante pruebas.
Material
- Placas base CM3 originales + módulos de reemplazo CM3+ (y CM3+ Lite para diseños con SD/eMMC externa)
- Osciloscopio/analizador de rampa para VBAT, pie de rey para la altura libre al suelo
- Imágenes de software recientes (firmware posterior a noviembre de 2018 obligatorio)
- Hojas de datos RP-008161-DS (CM3) y RP-008163-DS (CM3+) lado a lado
Código completo
#!/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
Puntos de diseño a verificar fuera del script: (1) firmware — cualquier imagen CM3 antigua anterior a noviembre de 2018 debe ser regrabada; (2) z-height — el CM3+ tiene una carcasa de CPU ligeramente más alta, controlar las cubiertas y disipadores existentes; (3) VBAT — exigir 3500 mW de capacidad (el CM1 solo requería 2000), verificar el regulador de la placa original; (4) umbral térmico reducido de 85 °C (CM3) a 80 °C (CM3+): revisar el presupuesto térmico de las carcasas selladas.
Verificación esperada
La batería de pruebas pasa en verde en 10 ciclos de encendido/apagado y 1 h de carga de CPU: ninguna subtensión, temperatura mantenida por debajo de 80 °C, eMMC y periféricos SODIMM idénticos al CM3. La tapa se cierra (z-height validada) y el firmware en producción tiene fecha. La lista de materiales (BOM) cambia de referencia (CM3+/8-64 GB o Lite) y el cronograma integra el EoL del CM3+ (no antes de enero de 2028) con una trayectoria hacia el CM4S si el producto debe vivir más allá.
Errores frecuentes
- Reutilizar el stock de tarjetas SD/firmware anteriores a noviembre de 2018: el CM3+ no arranca, y el diagnóstico se vuelve errático si no se conoce este requisito de la hoja de datos §1.
- No reabrir el presupuesto térmico: el limitación de velocidad (throttling) llega 5 °C antes que en el CM3, una carcasa calibrada a 84 °C se convierte en un horno de throttling.
- Olvidar la altura del CPU: el CM3+ es físicamente idéntico SALVO la z-height de la carcasa del procesador — las tapas ajustadas al décimo ya no pasan.
- Creer que la migración es definitiva: el CM3+ tiene él mismo una fecha de EoL (no antes de enero de 2028); los productos de larga duración ya deben apuntar al CM4S (mismo SODIMM, silicio Pi 4).
- Migrar sin re-cualificar las rampas de alimentación: los requisitos de secuencia (de mayor a menor tensión, latch-up) son idénticos, pero un regulador VBAT con limitación de corriente heredado de un diseño CM1 puede desconectarse antes.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash