Raspberry Pi Compute Module 3 (CM3 / CM3L)

Raspberry PiSBClinux

⚡ Lo esencial en 60 segundos

El Raspberry Pi Compute Module 3, lanzado oficialmente el 16 de enero de 2017, representa un hito significativo en la historia de la computación de placa reducida, diseñado específicamente para integrarse en productos comerciales y sistemas embebidos donde el espacio y la eficiencia son críticos. A diferencia de las placas de desarrollo convencionales que vemos en kits educativos, este módulo sigue un formato llamado System-on-Module, o SoM. Para entender esta arquitectura, imaginemos que el cerebro, la memoria y el almacenamiento de una computadora están encapsulados en una pequeña tarjeta rectangular, similar a la memoria RAM de un portátil, que se inserta en un zócalo SODIMM de 200 pines. Esta solución permite a los diseñadores de hardware crear placas portadoras personalizadas y económicas, ya que el módulo se encarga de la complejidad de enrutar las señales del procesador, permitiendo que la placa base sea un diseño de dos capas más sencillo y barato. El módulo mide 67,6 × 31 milímetros, siendo apenas un milímetro más alto que su predecesor, el Compute Module 1, lo que facilita la compatibilidad mecánica con diseños existentes, aunque requiere atención a la altura de los componentes circundantes.

El corazón de esta tarjeta es el sistema en chip Broadcom BCM2837, una evolución del BCM2835 utilizado en las primeras Raspberry Pi. Este procesador cuenta con cuatro núcleos ARM Cortex-A53, una arquitectura de 64 bits que, sin embargo, opera por defecto con un sistema operativo de 32 bits para mantener la compatibilidad de software. Los núcleos funcionan a una frecuencia máxima de 1,2 GHz, una velocidad limitada por el diseño de la fuente de alimentación del módulo, aunque el silicio podría teóricamente alcanzar velocidades superiores. Esta configuración ofrece un rendimiento de CPU aproximadamente diez veces superior y el doble de memoria RAM en comparación con el Compute Module 1. La memoria es de tipo LPDDR2 con una capacidad fija de 1 GB, una especificación única que no admite variaciones en este modelo. En cuanto al almacenamiento, existen dos variantes principales: el CM3 estándar, que incluye 4 GB de memoria eMMC soldada directamente en la placa, y el CM3 Lite (CM3L), que carece de almacenamiento interno pero expone las señales de interfaz SD/eMMC en el conector, permitiendo al diseñador integrar su propia tarjeta SD o chip de almacenamiento. Es crucial notar que la interfaz de la eMMC en el CM3 está fijada a 1,8 voltios y no es accesible directamente desde los pines del módulo.

La conectividad del Compute Module 3 es extensa pero distinta a la de una Raspberry Pi de escritorio. El módulo no incluye Wi-Fi, Bluetooth ni puerto Ethernet integrado; estas funciones deben ser añadidas mediante componentes adicionales en la placa portadora, como chips USB de red. Sin embargo, ofrece una riqueza de interfaces de bajo nivel ideales para la industria: dispone de 48 líneas de GPIO (entradas y salidas de propósito general), el doble que una placa estándar. Estas líneas están divididas en dos bancos de voltaje independiente, lo que permite configurar cada banco para operar a 1,8 V o 3,3 V, facilitando la conexión con sensores o periféricos industriales de bajo voltaje sin necesidad de convertidores de nivel externos. Además, incluye interfaces avanzadas como dos puertos CSI para cámaras (uno de cuatro carriles a 1 Gbps por carril), dos puertos DSI para pantallas, una interfaz de visualización paralela DPI de 24 bits, y buses de comunicación como I2C, SPI y UART en duplicado. También cuenta con una interfaz SMI para memoria NAND y una salida de vídeo compuesto, ofreciendo una flexibilidad que supera a las placas de consumo.

El sistema operativo admitido es Raspberry Pi OS, anteriormente conocido como Raspbian, utilizando las mismas imágenes de 32 bits que las placas Raspberry Pi 3. El proceso de arranque y programación es particular y requiere atención técnica. El CM3 no posee una memoria EEPROM de arranque actualizable, una característica que solo llegó con la serie Compute Module 4. En su lugar, el comportamiento de arranque es fijo en el silicio: al encenderse, el módulo busca primero un archivo de código de arranque en la interfaz SD/eMMC primaria. Si falla, espera instrucciones a través de USB. Para programar la eMMC interna del CM3, se debe poner el módulo en modo de arranque por dispositivo USB, lo cual se logra físicamente cortocircuitando un pin específico llamado EMMC_DISABLE_N a tierra. Esto desconecta la memoria interna y permite que una computadora host reconozca el módulo como un dispositivo de almacenamiento masivo USB, facilitando la escritura de imágenes de sistema mediante herramientas como rpiboot. Este método es fundamental para la producción en masa, pero introduce una pequeña demora de unos segundos debido al tiempo de espera de la interfaz eMMC antes de pasar al modo USB.

Es importante destacar las limitaciones térmicas y eléctricas. El procesador de cuatro núcleos puede generar una cantidad significativa de calor bajo carga pesada, lo que provoca que el sistema reduzca automáticamente su velocidad (throttling) cuando la temperatura del chip supera los 85 °C. Por ello, los diseñadores deben considerar soluciones de disipación térmica adecuadas. El rango de temperatura de funcionamiento nominal es de -25 °C a +80 °C, limitado por los componentes de memoria y almacenamiento. La gestión de energía es crítica: el módulo requiere seis rieles de voltaje obligatorios que deben activarse en un orden específico, de mayor a menor voltaje, para evitar daños por latch-up en los diodos internos del chip. Además, ciertos pines GPIO tienen funciones reservadas por el firmware, como HDMI_HPD_N_1V8 y EMMC_EN_N_1V8, y su reutilización como GPIO general puede romper el arranque o la salida de vídeo.

A pesar de su robustez y éxito en aplicaciones comerciales, como las pantallas de señalización digital de NEC o la tableta de código abierto CutiePi, el Compute Module 3 ha sido declarado como producto obsoleto. El 16 de octubre de 2025, Raspberry Pi Ltd. oficializó su fin de vida útil debido a la discontinuación del chip BCM2837. La empresa recomienda migrar los diseños existentes al Compute Module 3+, que mantiene la misma huella física pero mejora la gestión térmica y la disponibilidad, o al Compute Module 4S para nuevos proyectos que requieran el formato SODIMM. Esta transición refleja la evolución constante del ecosistema Raspberry Pi, donde el CM3 sirvió como un puente crucial entre los primeros módulos de bajo rendimiento y las soluciones modernas de alto rendimiento con conectividad inalámbrica integrada y arranque flexible por EEPROM.

Foro (1 tema) →

AttrEspecificacionesverificado
socBroadcom BCM2837 — quad-core Arm Cortex-A53 (ARMv8-A 64-bit ISA, run with 32-bit userland by default), up to 1.2 GHz, dedicated 512 KB L2 cache; the BCM2837 is an evolution of the BCM2835 (same peripherals, more addressable RAM, quad-core CPU) (datasheet RP-008161-DS §1; official docs compute-module.html).? sin verificar
gpuBroadcom VideoCore IV (raspberrypi.com/documentation/computers/compute-module.html model table).✔
ram1 GB LPDDR2 (fixed; the only RAM option) (datasheet §1).? sin verificar
storage4 GB eMMC soldered on CM3 (I/O fixed at 1.8 V, not accessible on module pins); CM3L has none and exposes the SDX pins (datasheet §1, §8).? sin verificar
connectivityNo Wi-Fi, no Bluetooth, no Ethernet on the module. The peripheral list is: 1× USB 2.0 host/OTG, 1× HDMI 1.3a, composite TV-out, 2× CSI (1 four-lane + 1 two-lane, up to 1 Gbps/lane), 2× DSI (1 four-lane + 1 two-lane), 2× I2C, 2× SPI, 2× UART, 2× SD/SDIO, DPI (24-bit parallel RGB display), SMI (NAND/Intel-mode-80 bus), JTAG (datasheet §2.2, §9). Networking must come from the carrier board (e.g., a USB Ethernet chip such as the LAN9514 spotted on NEC's mezzanine board — community observation in launch-blog comments, not official).? sin verificar
gpio48 usable GPIO lines (GPIO0–45) in two independently powered banks: bank0 = GPIO0–27, bank1 = GPIO28–45. Each bank's VREF supply sets its I/O level anywhere from 1.8 V to 3.3 V; both banks must be powered even if unused. Weak internal pulls (50–65 kΩ) on all but GPIO28/29/44/45; default drive 8 mA, max 16 mA per pin, aggregate ≤ 50 mA per bank. PWM0/PWM1, GPCLK0–2, PCM (I2S) are GPIO alternate functions; no ADC and no DAC on the SoC (datasheet §6, §7, §9.1, Tables 9–10).? sin verificar
mechanical200-pin DDR2-SODIMM form factor (JEDEC MO-224 outline), 67.6 × 31 mm — 1 mm taller than CM1 (datasheet §4; CNX launch article).? sin verificar
powersix supplies, all mandatory: VBAT (core SMPS input, 2.5–5.0 V, recommended minimum 3500 mW for CM3), 3V3 (≥250 mA), 1V8 (≥250 mA), VDAC (2.5–3.3 V; clean 2.5–2.8 V only if TV-out used, else tie to 3V3), GPIO0-27 VREF and GPIO28-45 VREF (1.8–3.3 V, ≥50 mA), plus SDX VREF on CM3L. Supplies must ramp highest-voltage-first (or simultaneously without crossing) to avoid forward-biasing on-chip diodes / latch-up (datasheet §7, Tables 7–8).? sin verificar
typical_consumption? sin verificar
temperaturenominal operating range −25 °C to +80 °C (limited by eMMC and LPDDR2 parts); DVFS thermal throttling engages when the on-die sensor exceeds 85 °C (datasheet §10). Note: CNX lists −20 to +70 °C for the later CM3+ datasheet — do not mix the two figures.? sin verificar
  • Fabricante: Raspberry Pi (Trading) Ltd. (hoy Raspberry Pi Ltd.), Reino Unido.
  • Lanzamiento: 16 de enero de 2017, anunciado en la entrada oficial del blog «Compute Module 3 Launch!» (raspberrypi.com/news/compute-module-3-launch/, consultada el 2026-10-13; la fecha de lanzamiento también la confirma CNX Software, cnx-software.com/2017-01-16/raspberry-pi-3-compute-modules-cm3-and-cm3l-launched-for-35-and-30/, consultada el 2026-10-13).
  • Precio de lanzamiento: 30 USD para el CM3 (eMMC de 4 GB), 25 USD para el CM3 Lite (CM3L, sin eMMC); el Compute Module original se rebajó simultáneamente a 25 $ (blog oficial de lanzamiento, misma URL). Un kit de desarrollo completo (CM3 + Compute Module IO Board V3) se vendía por unos 150 $ (CNX, misma URL).
  • Estado: End-of-Life (fin de vida). Fecha oficial de EoL: 16 de octubre de 2025, debido al cese de fabricación del SoC central; Raspberry Pi recomienda el CM3+ para diseños existentes y el CM4S para nuevos diseños SODIMM (documentación oficial, raspberrypi.com/documentation/computers/compute-module.html, consultada el 2026-10-13; Obsolescence Notice pip.raspberrypi.com/documents/RP-009286-PC). El módulo había sido declarado «legacy, not recommended for new designs» desde enero de 2019 (datasheet Release 3, RP-008161-DS).
  • Variantes: - CM3 — 1 GB LPDDR2 + eMMC de 4 GB en el módulo. - CM3L (CM3 Lite) — mismo SoC/RAM, sin eMMC; las señales de la interfaz SD/eMMC (SDX) se exponen en el conector SODIMM para que el diseñador pueda conectar un zócalo de tarjeta SD o su propio dispositivo eMMC (datasheet RP-008161-DS, §1). - Se produjo una variante CM3 con eMMC de 16 GB para los productos de visualización de NEC (indicado por la cuenta oficial NEC_Displays en los comentarios del blog de lanzamiento; fuente única, tomar como secundaria).

+ Puntos fuertes

  • System-on-Module en un zócalo DDR2 SODIMM: toda la computadora Pi 3 (SoC, RAM, PMIC, eMMC) en una pieza con conector, apta para producción en masa, con chapado de oro duro de 35 µm en el canto del módulo; las placas portadoras pueden ser diseños simples de dos capas (datasheet §2.1; blog de lanzamiento «the module takes care of the complexity of routing out the processor pins…»).
  • ~10× el rendimiento CPU y 2× la RAM del Compute Module 1, con pinado idéntico — los diseños CM1 son en gran medida retrocompatibles (blog de lanzamiento; datasheet §1).
  • E/S más allá de un Pi normal: 48 GPIO (frente a 28 en una placa Pi), doble CSI y doble DSI incluido MIPI de 4 carriles a 1 Gbps/carril, interfaz de pantalla DPI paralela de 24 bits, bus NAND SMI, salida compuesta, JTAG — todo en el conector de canto (datasheet §2.2).
  • Voltaje GPIO seleccionable por banco (1,8–3,3 V) — el nivelado a periféricos de 1,8 V es una decisión de la placa portadora, no una faena de convertidor de nivel lógico (datasheet §7, Tabla 7).
  • Modo de programación por USB: el módulo puede grabarse por USB desde cualquier anfitrión (incluido otro Pi) sin almacenamiento a bordo — avituallamiento (provisioning) apto para fábrica (datasheet §8).
  • Linaje industrial: programa de disponibilidad a largo plazo (garantizada al menos hasta enero de 2026 según la datasheet §11), usado por NEC en pantallas comerciales (ver Projects).
  • No presentes: inalámbrico (añadido solo a partir del CM4), Ethernet, PCIe, ni una EEPROM de bootloader actualizable en campo (características de CM4+) — documentación oficial compute-module.html.

− Puntos débiles

  • End-of-Life (16 oct 2025): el BCM2837 se descatalogó; no hay nuevos pedidos. Rutas de migración: CM3+ (mismo footprint, BCM2837B0, mejor comportamiento térmico, EOL no antes de enero de 2028), CM4S (SODIMM, silicio del Pi 4), o CM4/CM5 (nuevos diseños). Fuentes: documentación oficial compute-module.html + Obsolescence Notice RP-009286-PC + página 1 de la datasheet.
  • Throttling térmico / quad-core caliente: el blog de lanzamiento advierte explícitamente que el procesador «will run much hotter under heavy CPU load, so designers need to consider thermals»; la datasheet documenta el throttling a 85 °C y advierte que «the Quad ARM complex in the BCM2837 can generate significant heat output» (blog de lanzamiento; datasheet §10). CNX señala que el CM3+ se rediseñó térmicamente porque el CM3 se calentaba más bajo carga (artículo CNX del CM3+).
  • Reloj de CPU limitado a 1,2 GHz: el silicio puede ir más rápido (1,4 GHz en placas Pi 3B+) pero la alimentación del módulo lo limita a 1,2 GHz (artículo CNX del CM3+, misma URL).
  • Trampa de secuencia de alimentación: hacer subir las alimentaciones en el orden equivocado puede polarizar en directa los diodos internos del chip y causar latch-up; los seis rieles deben estar siempre presentes, incluso los no usados (datasheet §7, §7.1).
  • Pines reservados a 1,8 V: HDMI_HPD_N_1V8 y EMMC_EN_N_1V8 no son GPIO genéricos — el firmware siempre espera su función especial; reutilizarlos rompe el arranque/HDMI (datasheet §9.1, advertencia en negrita).
  • Pines flotantes al encender: GPIO28, 29, 44, 45 no tienen pull por defecto; la datasheet recomienda pulls externos fuera del chip para que nunca floten durante el encendido/arranque inicial (datasheet §9.1).
  • Orden de arranque fijo y fallback USB-boot lento: sin EEPROM/BOOT_ORDER; forzar el arranque USB vía EMMC_DISABLE_N cuesta un par de segundos de timeout de la eMMC, y las portadoras personalizadas necesitan circuitos con MOSFET dimensionados para conmutación de puerta a 1,8 V para automatizarlo (datasheet §8).
  • Pegas de la actualización CM1→CM3: el módulo es 1 mm más alto y VBAT consume bastante más corriente — las portadoras CM1 antiguas con poca holgura en Z o reguladores VBAT débiles pueden fallar (datasheet §1; blog de lanzamiento).
  • Techo de almacenamiento y desgaste de la eMMC: solo una opción de eMMC de 4 GB (8–32 GB llegaron con el CM3+); el riel de I/O de la eMMC está cableado de forma fija a 1,8 V (datasheet §1, §7; artículo CNX del CM3+). >
  • Sin inalámbrico por diseño: Wi-Fi/Bluetooth requieren añadidos USB; el bus SDIO SD1 que lleva el Wi-Fi en un Pi 3B no lleva radio montada en el CM3 (datasheet §2.2 lista de periféricos; documentación oficial).
  • Limitación de sincronización de cámara estéreo (afecta a diseños de cámara con CM3): discutida en el blog oficial de lanzamiento entre miembros de la comunidad e 6by9, ingeniero de firmware de RPi — los módulos de cámara no exponen genlock, la deriva de sincronización es de milisegundos e insubsanable en hardware (comentarios del blog de lanzamiento). >
  • Retour d'expérience expert expert — expert-raspberrypi
    • Petit retour d'experience sur la Compute Module 3 maintenant qu'elle est officiellement en fin de vie. C'etait une super carte pour le design industriel grace au format SODIMM et aux 48 GPIO, mais attention a la gestion thermique. Le quad-core chauffe serieusement en charge lourde et le throttling … — expert-raspberrypi
    • Merci pour le rappel. J'ai justement un vieux carrier CM1 que j'essaie d'upgrader. J'ai constate des boot aléatoires jusqu'à ce que je realise que je n'avais pas ajoute les résistances de pull-up externes sur GPIO28, 29, 44 et 45. Le datasheet le dit mais c'est facile a rater quand on migre. Est-ce… — hacker_elec
    • Pour le boot USB, sans le MOSFET ca reste manuel et lent avec le timeout eMMC. Le vrai souci reste l'absence totale de Wi-Fi et Bluetooth sur le module. Il faut obligatoirement un dongle USB ou un module externe sur le carrier, ce qui prend la place du port unique USB 2.0. Si ton projet a besoin de… — maker_pragmatique

Opiniones y proyectos de la comunidad

  • NEC commercial displays / digital signage

    Pantallas comerciales NEC / señalización digital — NEC envió módulos CM3 (y CM1) en la bahía de expansión de pantallas profesionales de 40″–98″ con socios de software de Ethernet y señalización; artículo oficial: y . (unverified au 2026-10-13) Tablet de códig…

  • Flashing a CM3 eMMC over USB with usbboot

    Flashear la eMMC de un CM3 por USB con usbboot — el flujo de trabajo estándar de aprovisionamiento para imágenes de producción (utilizado desde otro Pi o un PC con Linux): (procedimiento también descrito en la hoja de datos §8). (unverified au 2026-10-13)

Contenido no disponible todavía.

  • End-of-Life (16 oct 2025): el BCM2837 se descatalogó; no hay nuevos pedidos. Rutas de migración: CM3+ (mismo footprint, BCM2837B0, mejor comportamiento térmico, EOL no antes de enero de 2028), CM4S (SODIMM, silicio del Pi 4), o CM4/CM5 (nuevos diseños). Fuentes: documentación oficial compute-module.html + Obsolescence Notice RP-009286-PC + página 1 de la datasheet.
  • Throttling térmico / quad-core caliente: el blog de lanzamiento advierte explícitamente que el procesador «will run much hotter under heavy CPU load, so designers need to consider thermals»; la datasheet documenta el throttling a 85 °C y advierte que «the Quad ARM complex in the BCM2837 can generate significant heat output» (blog de lanzamiento; datasheet §10). CNX señala que el CM3+ se rediseñó térmicamente porque el CM3 se calentaba más bajo carga (artículo CNX del CM3+).
  • Reloj de CPU limitado a 1,2 GHz: el silicio puede ir más rápido (1,4 GHz en placas Pi 3B+) pero la alimentación del módulo lo limita a 1,2 GHz (artículo CNX del CM3+, misma URL).
  • Trampa de secuencia de alimentación: hacer subir las alimentaciones en el orden equivocado puede polarizar en directa los diodos internos del chip y causar latch-up; los seis rieles deben estar siempre presentes, incluso los no usados (datasheet §7, §7.1).
  • Pines reservados a 1,8 V: HDMI_HPD_N_1V8 y EMMC_EN_N_1V8 no son GPIO genéricos — el firmware siempre espera su función especial; reutilizarlos rompe el arranque/HDMI (datasheet §9.1, advertencia en negrita).
  • Pines flotantes al encender: GPIO28, 29, 44, 45 no tienen pull por defecto; la datasheet recomienda pulls externos fuera del chip para que nunca floten durante el encendido/arranque inicial (datasheet §9.1).
  • Orden de arranque fijo y fallback USB-boot lento: sin EEPROM/BOOT_ORDER; forzar el arranque USB vía EMMC_DISABLE_N cuesta un par de segundos de timeout de la eMMC, y las portadoras personalizadas necesitan circuitos con MOSFET dimensionados para conmutación de puerta a 1,8 V para automatizarlo (datasheet §8).
  • Pegas de la actualización CM1→CM3: el módulo es 1 mm más alto y VBAT consume bastante más corriente — las portadoras CM1 antiguas con poca holgura en Z o reguladores VBAT débiles pueden fallar (datasheet §1; blog de lanzamiento).
  • Techo de almacenamiento y desgaste de la eMMC: solo una opción de eMMC de 4 GB (8–32 GB llegaron con el CM3+); el riel de I/O de la eMMC está cableado de forma fija a 1,8 V (datasheet §1, §7; artículo CNX del CM3+). >
  • Sin inalámbrico por diseño: Wi-Fi/Bluetooth requieren añadidos USB; el bus SDIO SD1 que lleva el Wi-Fi en un Pi 3B no lleva radio montada en el CM3 (datasheet §2.2 lista de periféricos; documentación oficial).
  • Limitación de sincronización de cámara estéreo (afecta a diseños de cámara con CM3): discutida en el blog oficial de lanzamiento entre miembros de la comunidad e 6by9, ingeniero de firmware de RPi — los módulos de cámara no exponen genlock, la deriva de sincronización es de milisegundos e insubsanable en hardware (comentarios del blog de lanzamiento). >

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.py Python

    El script de arranque en un SBC: un LED en el conector GPIO parpadea a 1 Hz. gpiozero es la librería de referencia en este SO: gestiona el chip GPIO sin trucos de root.

  • bouton-gpio.py Python

    Un botón en el conector GPIO dispara una acción al pulsar y al soltar. gpiozero ofrece los callbacks when_pressed/when_released con antirrebote integrado y pause() orientado a eventos.

  • capteur-i2c.sh Bash

    El reflejo Linux para cualquier sensor I2C: barrer el bus con i2cdetect, confirmar que el chip está y leer unos registros con i2cget. Salida directa en el terminal sin escribir una línea de código de…

  • surveillance-temperature.sh Bash

    Sin ninguna dependencia, este script lee el sensor térmico expuesto por el kernel Linux, registra temperatura y frecuencia de la CPU en CSV y muestra una alerta al superar un umbral. Perfecto para di…

  • capteur-dht11.py Python

    El driver Adafruit CircuitPython funciona en Linux estándar: hace bit-bang del protocolo de 1 hilo del DHT vía libgpiod. El script imprime temperatura y humedad cada 2 s, encajando las tramas inválid…

  • servo-pwm-sysfs.sh Bash

    La interfaz PWM del kernel Linux (sysfs) es idéntica en todas las placas: periodo 20 ms, impulso 0,5-2,5 ms. Este script bash barre un servo en 3 ciclos y luego corta la alimentación para evitar el z…

  • serveur-web-capteur.py Python

    Sin dependencias externas, la placa se convierte en servidor web: una página HTML muestra temperatura del SoC y uptime, y un endpoint JSON los expone a los cuadros de mando. El reflejo de red para mo…

  • wifi-station.sh Bash

    NetworkManager es la herramienta estándar de las distribuciones modernas de placas: dos comandos bastan para unirse a un punto de acceso WPA2 y comprobar la IP obtenida. El script también lista las r…

  • journal-cron.sh Bash

    El dúo cron + script corto es el automatizador universal de Linux: cada minuto, carga de CPU y temperatura se añaden a un CSV con rotación integrada. Cero dependencias, cero demonios, sobrevive reini…

  • veilleur-systemd.py Python

    Un LED en latido más un control de servicios cada segundo: el script se vuelve un demonio systemd con Restart=always, arrancado en el arranque. El patrón de robustez para una placa embebida sin panta…

Ejemplos y repositorios encontrados en línea