¿Qué es el Raspberry Pi Compute Module 4 (CM4)?

Si eres nuevo en la serie de microordenadores Raspberry Pi, puede que te preguntes si el Raspberry Pi Compute Module 4 (CM4) se adaptará a tu caso de uso.

¿Qué es la Raspberry Pi CM4?

El Raspberry Pi Compute Module 4 es muy parecido al Raspberry Pi 4.

A diferencia de la Pi 4, el CM4 está realmente pensado como una base para construir aplicaciones embebidas. Puedes pensar en él como las tripas de la Raspberry Pi 4 sin ninguna característica innecesaria.

Si quieres construir un prototipo rápidamente, puedes utilizar la placa Raspberry Pi CM4 IO, que expone todas las interfaces disponibles en la Raspberry Pi CM4, incluyendo una ranura PCI Express Gen 2 que no tendrás en la Raspberry Pi 4.

En última instancia, el objetivo de un CM4 es que lo incorpores a proyectos tan sencillos como la señalización digital hasta los escritorios remotos (clientes ligeros), la automatización y los robots.

Los usuarios industriales son uno de los principales mercados a los que se dirige el CM4, pero incluso las pequeñas empresas y los usuarios domésticos pueden beneficiarse de él.

Raspberry Pi 4 vs Compute Module 4

Raspberry Pi 4, Compute Module 4 y placa IO oficial (de arriba a abajo)

La clave es la personalización.

¿Sabes que a algunas personas les gustan los Mac porque simplemente funcionan? No puedes personalizarlo mucho, pero tienes la confianza de que funcionará. Por otro lado, a otros les gusta construir su propio PC con piezas de diferentes fabricantes.

La analogía explica la diferencia entre el Pi 4 y el CM4.

Cuando compras una Raspberry Pi 4, te quedas con que tienes 4x USB 3.0, puertos ethernet, conectores CSI y USB-C para la alimentación entre otros muchos aspectos que vienen preestablecidos por la Pi 4. Sin embargo, esta combinación funciona a la perfección.

Con el Compute Module 4, puedes comprar una placa portadora que te permite alimentarlo con diferentes métodos, como un conector de barril o un conector USB-C, dependiendo de lo que compres. En algunas situaciones, el USB-C de la Pi 4 podría no ser suficiente, por ejemplo, si tienes una configuración de alto amperaje.

Una gran diferencia con la Raspberry Pi 4 es la posibilidad de comprar una placa portadora que deja al descubierto la ranura PCIe, lo que abre mucha más capacidad de personalización.

En cuanto al almacenamiento, mientras que el CM4 ya tiene eMMC en la mayoría de las placas, que es mucho más fiable que la tarjeta microSD del Pi 4, se puede llevar esto más allá añadiendo un SSD con la ayuda de una placa portadora adecuada.

¿Por qué la industria ama tanto la Pi CM4?

Al final, todo se reduce a la personalización.

Volvamos al argumento de que el CM4 y el Pi 4 son muy similares.

Entonces, ¿por qué el CM4 triunfa sobre el Pi 4 normal?

Por un lado, su paquete de puertos y características está realmente pensado para el uso doméstico. Por ejemplo, si utilizas la Pi 4 para hacer funcionar un sistema de riego de plantas en casa, y la tarjeta microSD falla... bueno, eso es solo una planta menos.

Por otro lado, los clientes industriales podrían hacer funcionar un componente crítico en una central eléctrica. No se puede hacer funcionar una central eléctrica con una microSD. De hecho, aquí es donde la CM4 se hace más fuerte debido a su capacidad para que los usuarios industriales construyan su propia placa con redundancias de almacenamiento, una mayor tolerancia al calor, opciones de montaje industrial estándar mientras se benefician de la baja potencia y el pequeño tamaño de la CM4.

Las certificaciones suelen ser uno de los mayores gastos a la hora de aprobar el uso de un sistema, y esa es una de las razones por las que la capacidad de personalización del CM4 resulta muy atractiva para los usuarios industriales.

Y quizás otra pequeña razón es la comunidad que el CM4 tiene sobre sus competidores. La comunidad de Raspberry Pi trabaja conjuntamente para mantener los diferentes aspectos de software del kernel en funcionamiento para que todos en la comunidad industrial puedan beneficiarse.

Contrasta esto con sus competidores de una sola placa, en los que se necesita mucho más esfuerzo para conseguir que algo funcione en ese ordenador específico de una sola placa. Con la Raspberry Pi CM4, hay apoyo de la comunidad y continuidad.

Especificaciones de la Raspberry Pi CM4

Lo más destacado de Raspberry Pi:

  • Broadcom BCM2711 SoC de cuatro núcleos Cortex-A72 (ARM v8) de 64 bits a 1,5 GHz
  • H.265 (HEVC) (decodificación hasta 4Kp60), H.264 (decodificación hasta 1080p60, codificación 1080p30) 
  • OpenGL ES 3.1, Vulkan 1.0
  • Opciones de SDRAM LPDDR4-3200 de 1 GB, 2 GB, 4 GB u 8 GB (según la variante)
  • Opciones de memoria Flash eMMC de 0 GB ("Lite"), 8 GB, 16 GB o 32 GB (según la variante)
  • Opción de módulo de radio totalmente certificado:
    Tecnología inalámbrica de 2,4 GHz, 5,0 GHz IEEE 802.11 b/g/n/ac;
    Bluetooth 5.0, BLE;
    Interruptor electrónico incorporado para seleccionar la antena externa o la de trazado de PCB.

32 variantes del módulo informático 4

La Raspberry Pi CM4 tiene 32 variantes que varían en cuanto a la RAM, la opción WLAN y la capacidad de almacenamiento.

Imagen tomada de la ficha del producto Raspberry Pi CM4.

De hecho, se puede ver el combinaciones disponibles y los precios correspondientes (en euros) en nuestra tienda.

¿Es la Raspberry Pi CM4 un sustituto de la Pi normal?

Para un uso general, será mejor utilizar una Raspberry Pi 4 normal.

Puedes conseguir absolutamente las mismas cosas con la Raspberry Pi CM4 más la placa CM4IO que te da conectores como HDMI, ethernet, USB, pines GPIO y muchos otros conectores que encontrarías en la Raspberry Pi.

Sin embargo, muchas cosas son más fáciles en la Raspberry Pi 4 en comparación con la placa CM4 plus IO:

Raspberry Pi CM4Raspberry Pi 4
Potencia Conector de barril de 5,5×2,1 mm o conector BergUSB-C
Tensiones5V, 12V o 7,5V a 26V (los diferentes voltajes permiten diferentes funciones)5V vía USB-C
TamañoMás grande con placa IOMás pequeño
MemoriaTarjeta eMMC o SD (con la versión Lite)Tarjeta SD por defecto

Dicho esto, hay otras placas portadoras que son más adecuadas para hacer del CM4 un ordenador de sobremesa.

De hecho, aquí es donde brilla el CM4. Puedes acoplarlo a diferentes placas en función de los puertos y las funciones que necesites.

Adaptador de Raspberry Pi CM4 a PI4B. Foto de AliExpress.

Por ejemplo, el Adaptador Raspberry Pi CM4 a PI4B encontrado en AliExpress puede convertir su CM4 en una Raspberry Pi 4 con la doble micro-HDMI, 4x USB 3.0, GPIO, CSI y ethernet.

Repuesto de sobremesa Chipsee AIO-CM4-15. Foto de Chipsee.

El Chipsee AIO-CM4-156 lo lleva un paso más allá. La adición clave aquí es la ranura para SSD NVMe, que es incluso mejor como solución de almacenamiento que la eMMC del Compute Module 4. Luego están los puertos estándar que se esperan de un ordenador de sobremesa: puertos USB, puerto USB-C OTG, salida HDMI, puerto ethernet, ranura microSD, salida de audio y GPIO.

Alimentación de la Raspberry Pi CM4 (con placa IO)

La alimentación del CM4 es un poco diferente de todos los demás Raspberry Pis.

En la Raspberry Pi Zero, Pico y Pi 4, los alimentarías a través de la entrada microUSB o USB-C.

En la placa CM4 IO, tienes un montón de opciones en cuanto a cómo te gustaría alimentar la placa.

Conectores para alimentar el módulo informático 4

En primer lugar, hablemos de los conectores.

En la placa Raspberry Pi CM4 IO, hay dos conectores marcados como J19 y J20. Vamos a hablar de ellos por separado.

Entrada de la fuente de alimentación principal: Conector de barril J19

Puedes conectar la placa Raspberry Pi IO a una fuente de alimentación a través del conector de barril.

Acepta un conector de punta de barril de CC de 5,5×2,1 mm. Estos conectores son muy utilizados en routers, ordenadores portátiles, cargadores y muchos aparatos electrónicos.

Debes suministrar 12V a menos que no planees utilizar la ranura PCIe, el conector de la fuente de alimentación externa, ni un ventilador de 12V, en cuyo caso puedes alimentarlo con 7,5V a 28V. Aquí está el texto exacto de la hoja de datos de la Raspberry Pi CM4,

"La entrada de +12V alimenta directamente la ranura PCIe de +12V, el conector de la fuente de alimentación externa y el conector del ventilador. Si no se utilizan, es posible utilizar una entrada más amplia (de +7,5 V a +28 V)".

Conector J20 "Berg"

raspberry pi cm4 j20 conector de alimentación

J20 utiliza el conector "Berg", número de pieza AMP/TE Connectivity 171822-4 o similar. También puede encontrarlos de suministros de ordenadores antiguos que tienen una fuente de alimentación de disquetes.

Conector Berg (captura de pantalla de Wikipedia, dominio público)

El J20 tiene dos funciones. Comencemos con la forma de alimentar su CM4 con este conector.

Deberá suministrar 12V a través del cable amarillo. No suministre energía de 5V al rojo.

Pinout del conector Berg. Captura de pantalla de Wikipedia (CC-BY-SA)

El otro uso de J20 es actuar como fuente de alimentación para los periféricos PCIe. Como se indica en la hoja de datos del CM4,

"Con una alimentación de +12V a través del conector de barril de CC, el conector de la PSU externa (J20 con +5V y +12V) es ideal para conectar a las tarjetas PCIe que requieren una PSU externa. Debes asegurarte de que las PSU no estén sobrecargadas"

¿Cuánta corriente?

Raspberry Pi no tiene una fuente de alimentación recomendada para el CM4 y la placa IO.

Sugieren que se presupuesten 9W (a 12V) para el CM4 y luego se añada algo de margen para los periféricos conectados al CM4.

Inserción del CM4 en la placa IO

raspberry pi cm4 direction io board
Así es como se inserta la Raspberry Pi CM4 en la placa IO

Para insertar su Raspberry Pi CM4 en la placa IO, tendrá que estar en la dirección correcta.

La imagen de arriba muestra cómo la Raspberry Pi CM4 iría en la placa IO.

La clave es tener en cuenta que el logotipo de Raspberry Pi debe estar más lejos de la placa PCIe. En otras palabras, el puerto UFL (antena inalámbrica externa) debería estar más cerca del PCIe.

Presione hacia abajo el Módulo de Computación y debería escuchar dos clics que indican que ambos rieles han sido ajustados.

raspberry pi cm4 insertada en la placa io

Observa el perfil del CM4 y de la placa IO y asegúrate de que están paralelos entre sí. Si no lo están, eso indica que uno de los raíles no se ha presionado correctamente.

Escribir un SO en el CM4 con placa IO

La placa IO tiene una ranura para tarjetas SD... pero la única vez que usarás esta ranura para tarjetas SD es si compraste un CM4Lite sin almacenamiento eMMC integrado.

Si tienes la versión Lite, es tan fácil como flashear una tarjeta microSD como lo harías en una Raspberry Pi normal.

Sin embargo, es posible que tengas la versión no-Lite que requiere algunos pasos más antes de poder montar el almacenamiento eMMC.

Necesitarás:

  • Puente para cortocircuitar J2
  • Cable microUSB para conectar al PC
  • Alimentación

Desactivar el arranque de la eMMC

Si tiene una eMMC, necesita desactivar el arranque de la eMMC para poder montar la CM4 como un disco extraíble. Para ello, añadir un puente en la primera columna de J2. J2 se encuentra entre el CM4 y los puntos de fijación del cable de la cámara/pantalla.

Cables de puente hembra a hembra

Puedes utilizar un cable de puente hembra-hembra disponible en muchos kits de arranque o puedes comprar un "puente de cortocircuito" sólo para este propósito.

Obtener rpiboot

Cuando se flashea una tarjeta SD, es súper fácil. La insertas en tu ordenador y ya está.

Sin embargo, como estamos hablando de las versiones eMMC de los CM4, necesitarás rpiboot, que permite que tu CM4 sea leído como una unidad extraíble.

El El repo de Github para rpiboot está aquí.

Montaje de CM4 en Windows

Si tiene Windows, siga adelante y descargue la versión de rpiboot aquí.

A continuación, extraiga el archivo ZIP y vaya al directorio win32, y ejecute rpiboot_setup.exe.

Windows Defender puede aparecer diciéndole que el software cargado lateralmente puede ser peligroso. Simplemente, evite la advertencia.

Si tu CM4 no está conectado a la corriente y al microUSB (J11), hazlo ahora y conecta el USB a tu PC.

Puede que tengas más éxito ejecutando rpiboot como administrador. El mío estaba bien sin privilegios de administrador.

Ejecuta rpiboot. Después del instalador, deberías poder encontrarlo en tu menú de inicio.

Deja que siga sus pasos y verás esto:

Esperando el BCM2835/6/7/2711...
Cargando incrustado: bootcode4.bin
Enviando bootcode.bin
Leído con éxito 4 bytes
Esperando BCM2835/6/7/2711...
Cargando incrustado: bootcode4.bin
Segunda etapa del servidor de arranque
Cargando incrustado: start4.elf
Archivo leído: start4.elf
Segunda etapa del servidor de arranque realizada

Se autodestruirá y deberías ver el volumen del CM4.

Raspberry Pi Imager con CM4 montado con éxito

Así es como se ve en Raspberry Pi Imager.

¡Flash lejos, amigos!

Montaje de CM4 en Linux

Las instrucciones en el repo de Github de rpiboot lo explican claramente. Ejecutar:

sudo apt install git libusb-1.0-0-dev pkg-config
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
hacer
sudo ./rpiboot

Raspberry Pi sugiere que usted necesita para asegurarse de que la fecha del sistema se establece correctamente o Git podría lanzar un error.

CM4 en macOS

En macOS, los pasos son los mismos. Según el repo de Github, estos son los pasos,

git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
brew install libusb
brew install pkg-config
hacer
sudo ./rpiboot
arranque de la raspberry pi cm4
¡Bota!

Proyectos Raspberry Pi CM4

La Raspberry Pi CM4 proporciona el cerebro para un proyecto y la gente lo ha utilizado para fines de ocio y trabajo. Aquí hay algunos proyectos.

Juegos de azar: CM4 handheld

Esto me recuerda a la Pi 400, pero en formato de consola de juegos portátil.

El dispositivo portátil Raspberry Pi CM4 viene de la mano de Daniel Juckett, que lo apodó "Aegis".

En esta consola portátil, Daniel demostró que se puede jugar a juegos como Deus Ex: Mankind Divided y Doom 2016 con Moonlight a través de Retropie. También se puede navegar por la web y ver vídeos de YouTube.

Aegis es un proyecto de código abierto y puedes ver el Github aquí.

Usando el CM4, Daniel pudo personalizar la disposición de los puertos (frente a una Pi 4 con una disposición de puertos fija). Para la pantalla, utilizó la pantalla oficial de Raspberry Pi 7″. Para los mandos, utilizó los botones y joysticks de la Wii U. Y, por último, también utilizó altavoces y motores de vibración.

Informática personal: PiTray mini

Si te gusta la Raspberry Pi 4 pero prefieres tener un sistema más usable, entonces puedes considerar usar el PiTray mini, diseñado por Shengyuan Fang, Weihong Guan y vendido por Sourcekit.

El tamaño de la placa es similar al de la Raspberry Pi 4, pero no es un reemplazo 1:1 de la Pi 4.

PiTray Mini, foto tomada de sourcekit.cc

Como puedes ver, está el viejo GPIO, ethernet y la ranura microSD, pero sólo tienes un único puerto USB y un puerto HDMI estándar (frente a los 4 puertos USB y 2 microHDMI de la Pi 4). Tampoco tienes el DSI, el CSI, la toma de audio o los hubs USB 3.0.

Algunos casos de uso para esto es para la construcción de clústeres y para explotar las ventajas de la eMMC del CM4 sobre la tarjeta SD del Pi 4 para una mayor estabilidad y velocidad.

La PiTray es una solución orientada al presupuesto en comparación con la placa IO oficial, ya que es mucho más barata.

Servidor autogestionado: Turing Pi 2

Un grupo de Raspberry Pi CM4 conectadas a una Turing Pi 2 (foto de la nota de prensa de la Turing Pi 2)

La Turing Pi 2 es una solución sencilla para las personas que quieren alojar sus propios servidores y ejecutar servicios como un asistente doméstico, streaming de medios, servidores de juegos, VPNs, servidor IoT, y mucho más.

Usando la Raspberry Pi CM4, puedes escalar hacia arriba o hacia abajo dependiendo de la carga de tu servidor. Esto tiene la ventaja de asegurar que tu servidor está tan equipado como necesita para realizar sus tareas, a la vez que garantiza que no está sobrecargado.

La Turing Pi 2 tiene un factor de forma mini ITX y puede admitir placas CM4 y Jetson Nanos (foto de la nota de prensa de lanzamiento de la Turing Pi 2)

¿Qué puedo hacer con la ranura PCIe?

En teoría, puedes instalar cualquier tarjeta que utilice PCIe.

Esto incluye tarjetas gráficas, tarjetas de almacenamiento vía M.2, NVMe o SATA, tarjetas WiFi, tarjetas USB y muchas más.

El factor limitante es la compatibilidad con el CM4, el sistema operativo y la disponibilidad de los controladores.

Por ejemplo, las tarjetas gráficas suelen ser más difíciles de ejecutar en la placa IO que algo más sencillo como una tarjeta USB. La primera casi siempre necesita un controlador y la funcionalidad no está garantizada, mientras que la segunda no requiere ningún controlador y se obtiene una funcionalidad completa.

Una lista de tarjetas gráficas compatibles recopilada por Jeff Geerling.

Jeff Geerling ha recopilado una lista completa, disponible aquí. En este sitio web aparecen las siguientes categorías de tarjetas PCIe:

  • GPUs (tarjetas gráficas)
  • Tarjetas USB
  • Adaptadores M.2 y NVMe
  • Tarjetas de red (NIC) y adaptadores WiFi
  • Tarjetas multimedia (A/V) y de sonido
  • Tarjetas y almacenamiento SATA
  • Conmutadores y adaptadores PCIe
  • Otras tarjetas (FireWire, tarjeta de tiempo, etc.)

Tableros de soporte alternativos al tablero oficial de IO

Una lista de tablas de portadores alternativos recopilada por Jeff Geerling.

Hay muchas placas portadoras que proporcionan diferentes puertos y funciones a la placa IO.

Puede encontrar un compilación de placas portadoras que podrían ser mejores para su caso de uso aquí.

Galería del CM4 y de la placa IO

raspberry pi cm4 con mmc
Placa Raspberry Pi CM4, 32GB eMMC, inalámbrica
Conector de antena uFL (arriba a la derecha, junto al orificio de montaje)
raspberry pi cm4 con antena WiFi
Raspberry Pi CM4 con antena WiFi
Raspberry Pi CM4 Broadcom SoC
Raspberry Pi CM4 Broadcom SoC (centro)
Parte inferior de la Raspberry Pi CM4
Parte inferior de la Raspberry Pi CM4

Tablero oficial de IO

Conectores Raspberry Pi CM4 CSI
Conectores DSI/CSI de Raspberry Pi CM4 para pantallas y cámaras
Raspberry Pi CM4 IO Board trasera
Raspberry Pi CM4 IO Board trasera
Raspberry Pi CM4 IO Board batería del reloj en tiempo real
Raspberry Pi CM4 IO Board soporte de la batería del reloj de tiempo real
Pines GPIO de la placa Raspberry Pi CM4 IO
Pines GPIO de la placa Raspberry Pi CM4 IO
Perfil de la placa Raspberry Pi CM4 IO
Perfil de la placa Raspberry Pi CM4 IO con 2x HDMI, ethernet, USB, microUSB, ranura para tarjetas SD y conector de alimentación

¿Dónde puedo comprar un CM4?

Puede comprar placas CM4 en nuestro sitio web asociado, buyzero.de.

Usuarios industriales: Pedidos a granel y soluciones CM4

Si usted es un usuario industrial del CM4 y necesita soluciones de software y hardware, debe póngase en contacto con nosotros para pedidos al por mayor y asesoramiento.

Podemos diseñar soluciones de software y hardware a medida en torno al CM4.

En esta época de escasez, siempre destinamos una parte de nuestras existencias de CM4 a fines de diseño e investigación.

2 Comentarios

  1. Farah Bouali el agosto 12, 2022 a las 9:59 am

    Hola
    Espero que te vaya bien.
    Me llamo Farah Bouali y he terminado mi segundo año de ingeniería informática.
    En realidad, he estado involucrado en un proyecto utilizando un módulo de computación 4 de raspberry pi integrado en una placa waveshare y he encontrado algunos problemas por lo que les escribo este correo esperando obtener su amable supervisión y orientación.

    En primer lugar, no pude encontrar una manera de utilizar las entradas diferenciales ADC que ya existen en mi cm4. Quiero obtener los valores de un sensor AKS 11 (sensor de temperatura) o cualquier otro sensor. En este caso, ¿cómo podría visualizar el resultado? ¿Qué debo poner en mi script? Ni siquiera soy capaz de controlar las entradas y salidas GPIO.

    En segundo lugar, al tratar de leer los datos de una aplicación móvil. Aunque pude conectar dos dispositivos (un Terminal Serial Bluetooth en mi móvil y la Rpi) a través del comando "bluetoothctl" e incluso pude visualizar los datos recibidos a través de este comando "minicom -b 9600 -o -D /dev/rfcomm0" pero ningún script me ayudó a leer estos datos recibidos y usarlos para hacer órdenes específicas (como encender/apagar sensores)

    Lo único que quiero hacer es obtener una información de cualquier sensor y enviarla a una aplicación móvil a través del protocolo ble y si es posible controlar el funcionamiento de este sensor.

    Estaría muy agradecido si me pudieran ayudar. Estaré disponible en el teléfono(whatsapp) y el correo para cualquier pregunta.

    He adjuntado algunos enlaces con los que he trabajado y estaría encantado de tener noticias tuyas pronto.

    Le estoy muy agradecido y espero su respuesta.

    Enlace de configuración de Waveshare: https://www.waveshare.com/wiki/Compute_Module_4_PoE_4G_Board#Isolation_GPIO.2FI2C
    Proyecto con el que quiero empezar: https://www.technologyrecipes.com/using-blueterm-app-to-communicate-over-ble-between-an-android-device-and-raspberry-pi/

    Saludos cordiales,

    Farah Bouali
    Estudiante de segundo año de ingeniería informática en la ENIS (Escuela Nacional de Ingenieros de Sfax)

    (dirección de correo electrónico y número de teléfono eliminados para proteger a Farah, el editor)

    • raspi berry el agosto 16, 2022 a las 8:43 am

      Estimada Farah, como estudiante de ingeniería tendrás que estudiar las hojas de datos y hablar con los proveedores/fabricantes de tus dispositivos. Es parte de tu trabajo como estudiante.
      Podemos ofrecerle un servicio de consultoría de pago para resolver estos problemas, si está interesado.

Deja un comentario