Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4)

Shenzhen SINOVOIP CoSBClinux

⚡ Lo esencial en 60 segundos

El Banana Pi BPI-CM4 es un módulo de sistema en un chip (SoM) diseñado para ofrecer una alternativa potente y compatible con el estándar Raspberry Pi Compute Module 4. Es fundamental entender que este dispositivo no es una placa de desarrollo independiente, sino un componente compacto que requiere obligatoriamente una placa base portadora para funcionar. Su formato físico, de 55 por 40 milímetros, coincide exactamente con el del Raspberry Pi CM4, lo que permite utilizarlo en carcasas y bases de expansión existentes mediante conectores de placa a placa de 100 pines. Fabricado por Shenzhen SINOVOIP Co., Ltd. bajo la marca Banana Pi, este módulo fue anunciado en mayo de 2022 y lanzado comercialmente en enero de 2023 con un precio inicial cercano a los 95 dólares estadounidenses. Su principal atractivo reside en la compatibilidad mecánica y eléctrica con el ecosistema Raspberry Pi, aunque introduce diferencias técnicas significativas en su procesador y capacidades de entrada/salida.

El corazón del BPI-CM4 es el procesador Amlogic A311D, un sistema en un chip de seis núcleos que utiliza una arquitectura big.LITTLE. Esta configuración combina cuatro núcleos de alto rendimiento Cortex-A73 con dos núcleos de eficiencia energética Cortex-A53. Para quienes no estén familiarizados con estos términos, la arquitectura big.LITTLE permite que el sistema utilice los núcleos potentes para tareas exigentes y los eficientes para procesos en segundo plano, optimizando así el consumo de energía y la temperatura. La frecuencia máxima de los núcleos A73 se reporta comúnmente en 2.0 GHz, aunque mediciones independientes han observado picos de hasta 2.4 GHz bajo ciertas condiciones, mientras que los núcleos A53 operan a velocidades inferiores. En cuanto a la memoria, la variante estándar incluye 4 GB de RAM LPDDR4, una tecnología de memoria de bajo consumo adecuada para aplicaciones multimedia y de servidor ligero. El almacenamiento interno se basa en 16 GB de memoria eMMC, aunque la documentación menciona opciones de hasta 128 GB, siendo la versión de 16 GB la más comúnmente distribuida.

Una de las características distintivas del Amlogic A311D es su unidad de procesamiento neuronal (NPU) integrada, capaz de realizar 5 billones de operaciones por segundo (5 TOPS). Esto significa que la placa puede ejecutar tareas de inteligencia artificial y aprendizaje automático directamente en el dispositivo, sin necesidad de aceleradores externos como los módulos Google Coral o Intel Myriad X. Gráficamente, el chip incorpora una GPU Mali-G52 MP4, que soporta estándares modernos como Vulkan y OpenGL ES 3.2, permitiendo una aceleración de hardware fluida para interfaces de escritorio y reproducción de vídeo. De hecho, el sistema operativo puede manejar salidas de vídeo en resolución 4K a 60 fotogramas por segundo a través de su puerto HDMI. Sin embargo, a diferencia del Raspberry Pi CM4, el BPI-CM4 limita sus capacidades de vídeo y cámara a una sola salida HDMI, una entrada de cámara MIPI-CSI y una salida de pantalla MIPI-DSI, debido a las restricciones de pines del procesador Amlogic.

La conectividad del módulo es robusta pero presenta matices importantes. Incluye un puerto Gigabit Ethernet controlado por un transceptor Realtek RTL8211F, aunque algunas descripciones de marketing antiguas mencionaban erróneamente dos puertos; la realidad verificada es un solo puerto de red. Para la comunicación inalámbrica, integra un chip Realtek RTL8822CS que soporta Wi-Fi de doble banda (802.11ac) y Bluetooth. Es crucial notar que, aunque el chip es compatible con Bluetooth 5.2 según algunas especificaciones, las mediciones de usuario han reportado funcionalidades más cercanas a Bluetooth 4.2/LE, lo que sugiere una variabilidad en el soporte de controladores. La placa cuenta con dos conectores de antena u.FL y una antena PCB integrada; curiosamente, las pruebas han demostrado que la antena integrada a menudo ofrece mejor rendimiento que las antenas externas, un fenómeno atribuido a la sintonización de la impedancia en el diseño de la placa.

En cuanto a la expansión, el BPI-CM4 soporta PCIe Gen2 x1. A través de la placa base oficial BPI-CM4IO, esta conexión se expone mediante un zócalo mini-PCIe, que también incluye un puerto USB 2.0 y una ranura para tarjeta micro-SIM. Esto permite añadir tarjetas de red LTE 4G para conectividad móvil o unidades de estado sólido NVMe mediante adaptadores. Las pruebas de rendimiento muestran que el almacenamiento NVMe ofrece velocidades de lectura secuencial de aproximadamente 351 MB/s, superando ampliamente al almacenamiento eMMC o a las tarjetas microSD. No obstante, es vital comprender que el procesador Amlogic no soporta el arranque del sistema operativo directamente desde PCIe o NVMe; el gestor de arranque debe residir siempre en la memoria eMMC o en una tarjeta microSD, utilizándose el SSD únicamente como almacenamiento de datos raíz.

El sistema operativo y el soporte de software han evolucionado desde su lanzamiento. Inicialmente, las imágenes proporcionadas por el fabricante se basaban en un kernel Linux antiguo (versión 4.9) y un gestor de arranque de 2015, lo que limitaba el soporte de hardware moderno. Sin embargo, el soporte para el kernel principal de Linux (mainline) se añadió a partir de la versión 6.4, permitiendo el uso de distribuciones modernas como Armbian, que ofrece un soporte de nivel "platinum" para esta placa. Armbian facilita el uso de controladores actualizados para la GPU, el audio y la red, superando muchas de las limitaciones del software propietario original. A pesar de esto, existen desafíos técnicos conocidos, como la prioridad de arranque de la eMMC, que puede bloquear el arranque desde SD si está configurada incorrectamente, y la tendencia del procesador a reducir su velocidad (throttling térmico) rápidamente si no se utiliza un disipador de calor adecuado, alcanzando temperaturas de estrangulamiento alrededor de los 70 grados Celsius.

La gestión de energía es eficiente, con un consumo en reposo de aproximadamente 1.8 vatios y hasta 4.1 vatios bajo carga máxima, alimentada por un puerto USB-C o pines DC en la placa base. Los pines GPIO están disponibles en un conector de 26 pines compatible con Raspberry Pi, permitiendo el uso de sensores y actuadores estándar mediante protocolos como I2C, SPI y UART. Aunque el soporte para librerías de GPIO ha sido históricamente fragmentado, el uso de herramientas estándar de Linux como libgpiod en kernels modernos ofrece una vía más estable para el desarrollo de hardware. En resumen, el Banana Pi BPI-CM4 representa una opción potente para desarrolladores que buscan rendimiento de IA y multimedia superior al Raspberry Pi CM4, manteniendo la compatibilidad física, siempre que se tengan en cuenta sus particularidades de arranque, térmicas y de conectividad específica.

Foro (1 tema) →

AttrEspecificacionesverificado
socAmlogic A311D (amlogic,a311d, amlogic,g12b family) — big.LITTLE hexa-core: 4× Cortex-A73 + 2× Cortex-A53, Arm Mali-G52 MP4 (6EE) GPU (OpenGL ES 3.2, Vulkan 1.0, OpenCL 2.0 per wiki spec table), 5 TOPS NPU (wiki, CNX).? sin verificar
ram4 GB LPDDR4 (mainline DTS memory@0 reg = <0x0 0x0 0x0 0x40000000>; geerlingguy saw 3709 MiB usable).? sin verificar
cpu_powertwo PWM-controlled DC/DC regulators — VDDCPU_A (MP8756GD, 0.68–1.04 V) for the A73 cluster, VDDCPU_B (SY8120B1ABC, 0.68–1.04 V) for the A53 cluster (mainline DTS).? sin verificar
storage16 GB eMMC on module (options "up to 128 GB", wiki) — 8-bit bus, mmc-hs200-1_8v, max-frequency = <200000000> (mainline DTS). microSD slot is on the carrier (4-bit, cap-sd-highspeed, 50 MHz, CD on GPIOC_6). No SPI NOR. Measured eMMC: 233 MB/s 1 M sequential read (fio) — geerlingguy #11; 148.8 MB/s hdparm read on a Samsung part (wiki benchmark table).✔
pcie_nvmePCIe Gen2 x1 controller on-module routing (mainline &pcie with reset on GPIOA_8); the BPI-CM4IO carrier exposes it as a mini-PCIe socket (PCIe + USB 2.0) with a micro-SIM slot for an LTE modem. NVMe SSD works through a mini-PCIe→NVMe adapter — the wiki explicitly states "bananapi cm4io has a minipcie slot onboard" and benchmarks a Samsung 970 EVO Plus at 351 MB/s hdparm read, 101 k IOPS 4 k random read (wiki "Boot Linux from SSD").✔
ethernetone Gigabit Ethernet — Amlogic GbE MAC (&ethmac, phy-mode = "rgmii-txid") + on-module Realtek RTL8211F PHY (ethernet-phy@0, "Realtek RTL8211F (0x001cc916)", max-speed = <1000>, interrupt on GPIOZ_14) (mainline DTS; CNX; wiki spec table "1x Gigabit Ethernet ports one via RTL8211F GbE transceiver"). Measured 943 Mbit/s up / 873 Mbit/s down (iperf3, geerlingguy #11).✔
wifi_bluetoothon-module Realtek RTL8822CS — 802.11ac (WiFi 5) dual-band up to 867 Mbit/s + Bluetooth, SDIO (rtl8822cs: wifi@1 on &sd_emmc_a, sd-uhs-sdr104, keep-power-in-suspend) with BT on &uart_A (realtek,rtl8822cs-bt, RTS/CTS, wake GPIOs GPIOX_18/19) (mainline DTS; CNX; wiki). 2× u.FL antenna connectors + onboard PCB antenna; no antenna in the box (CNX, bret.dk).? sin verificar
video1× HDMI 2.1 output up to 4Kp60 (single HDMI only — the A311D pin budget gives 1 HDMI / 1 CSI / 1 DSI vs the BCM2711's 2/2/2, wiki), 1× MIPI-DSI display connector and 1× MIPI-CSI camera connector (both on the carrier; mainline enables &hdmi_tx, CEC AO A/B, &i2c1 "camera" bus, &i2c3 DSI touch bus). Vendor camera example: OmniVision OS08A10 via os08a10.dtbo (wiki).✔
usb2× USB 2.0 Type-A + 1× USB-C (OTG on the carrier; mainline baseboard DTS sets dr_mode = "peripheral") — two USB2 PHYs (usb2_phy0/1) on the module (mainline DTS).? sin verificar
gpio_expansion26-pin header on the carrier, Raspberry-Pi-CM4-style 26-pin block (wiki pinout table maps BPI-CM4 nets to RPi CM4 GPIO numbers). From the BPI-CM4IO pin table: I2C1 = GPIOX_17/18 (pins 3/5), UART_B = GPIOX_6/7 (8/10), SPI_A = GPIOX_8/9/10/11 (MOSI/MISO/SCK/SS0, pins 19/21/24/23), I2S = GPIOA_0/1/2/3/7, SPDIF in/out = GPIOH_5/GPIOH_4, IR-IN = GPIOAO_5, GPIOAO_10 (pin 11), 3V3 and DCIN power pins. - PWM: mainline enables pwm_ab (PWM_E pin), pwm_ef (also used as the 32.768 kHz WiFi clock) and pwm_AO_cd; the vendor WiringPi fork supports hardware + software PWM on the 26 pins (wiki). > ses SARADC_CH3/ADC_KEY. - DAC: none exposed.✔
debug_console3-pin UART header on the carrier (UART0 RX/TX/GND); stdout-path = "serial0:115200n8" = uart_AO in mainline; Armbian console is ttyAML0 (armbian/build).✔
other2 buttons (power + the ADC "Function" key), power LED + activity LED (mainline led-blue = GPIOAO_7 with heartbeat trigger, led-green = GPIOAO_2), IR input, audio via HDMI I2S glue and the axg sound card (amlogic,axg-sound-card, TDM/FRDDR DAI links) in mainline.? sin verificar
power5 V, via the carrier's USB-C OTG port or the header/DCIN pins (wiki, CNX "Supply Voltage – 5V"). Recommended 5 V/3 A supply (wiki Getting Started). Measured (module + carrier, WiFi/BT/Ethernet on, no peripherals): 1.8 W idle, 4.1 W under stress-ng --matrix 0 (geerlingguy #11).✔
thermalsthrottling starts at ≈70 °C; bare module under stress-ng throttles within 5 s to 2208/1074 MHz, and after 10 min sits at 1000/1000 MHz; a small heatsink keeps it at 1800/1398 MHz after 10 min (bret.dk).? sin verificar
mechanicalmodule 55 × 40 mm, "exactly the same size as the raspberry PI CM4" (wiki), 4× M2.5 mounting holes (CNX); BPI-CM4IO carrier 100 × 72 mm (wiki).? sin verificar
  • Fabricante: Shenzhen SINOVOIP Co., Ltd. / Guangdong BiPai Technology Co., Ltd., marca «Banana Pi» (Wikipedia: Banana Pi, consultado el 2026-10-13).
  • Producto: Banana Pi BPI-CM4 — un system-on-module compatible con Raspberry Pi CM4 (2 conectores placa a placa de 100 pines, 55 × 40 mm, 4 orificios M2.5) (CNX, 2023-01-05).
  • Año: anunciado el 2022-05-25 («Banana Pi is working on a Raspberry Pi CM4 compatible module powered by Amlogic A311D», CNX 2022-05-25); lanzamiento comercial el 2023-01-05 (CNX 2023-01-05). Los metadatos de placa de Armbian registran INTRODUCED="2021" (armbian/build config/boards/bananapicm4io.conf).
  • Precio de lanzamiento: 95 USD por el módulo, ~110 USD por el kit con la placa base BPI-CM4IO (CNX 2023-01-05). Compras independientes: 90 $ módulo / 105 $ módulo+CM4IO con envío incluido (reseña de bret.dk) y 109,73 $ por el 4 GB/16 GB en AliExpress el 2023-01-05 (geerlingguy/sbc-reviews #11).
  • Estado: Activo / vigente (no EOL a 2026-10-13): imagen Android del fabricante fechada el 2024-04-29 e imágenes Linux fechadas el 2023-12-26 en el wiki (Banana_Pi_BPI-CM4); Armbian sigue distribuyéndola con KERNEL_TARGET="current,edge" y etiqueta de bootloader v2026.01 (armbian/build); los enlaces a las tiendas AliExpress/Taobao figuran en el wiki.
  • Variantes / placas relacionadas: - BPI-CM4 4 GB LPDDR4 + 16 GB eMMC — la configuración comercializada documentada en todas partes (tabla de especificaciones del wiki, CNX, geerlingguy). El anuncio de CNX de 2022 listaba opciones de 2 GB/4 GB de RAM y eMMC «hasta 128 GB». - BPI-CM4IO — placa portadora de 100 × 72 mm del propio Banana Pi para BPI-CM4 o Raspberry Pi CM4 (wiki BPI-CM4IO). - Placa IO de Raspberry Pi CM4 y placas portadoras CM4 de terceros — utilizables física y eléctricamente («Other is Pin2Pin. you can use Raspberry Pi CM4 baseboard», wiki; CNX señala que las funciones de doble HDMI y doble cámara de la placa portadora no funcionan). - BPI-CM2 (Rockchip RK3568, conectores de 70 pines adicionales) y BPI-CM5 (Amlogic A311D2) son módulos distintos que comparten la huella CM4 (CNX 2023-08-08, wiki BPI-CM5).

+ Puntos fuertes

  • Huella y distribución de conectores idénticas al Raspberry Pi CM4 («Pin2Pin», mismo tamaño 55×40 mm), por lo que las placas portadoras CM4 existentes funcionan — con la pérdida documentada de las funciones doble HDMI/doble CSI (wiki, CNX).
  • NPU de 5 TOPS en el SoC — sin necesidad de acelerador IA externo (CNX: «users do not need to add an AI accelerator like Google Coral or Myriad X»); el fabricante remite a las demos NPU del Khadas VIM3.
  • Hexa-core big.LITTLE A73+A53 — CPU mediblemente más rápida que un CM4 BCM2711 incluso con el Pi overclockeado a 2,0 GHz (CNX), 6 CPUs lógicas frente a 4 (bret.dk).
  • Mali-G52 MP4 (6EE) con controlador Panfrost mainline (Vulkan/OpenCL) — Armbian incluso blacklista simpledrm porque «conflicts with Panfrost» (armbian/build).
  • mini-PCIe + micro-SIM en la placa portadora → WAN Quectel EC20 LTE 4G documentado vía qmi_wwan (quectel-CM &) o pppd, puerto AT /dev/ttyUSB2 (sección EC20 del wiki).
  • Almacenamiento PCIe NVMe a través de la ranura mini-PCIe: ~351 MB/s de lectura, 101 k IOPS de lectura aleatoria de 4 k — 100× el rendimiento aleatorio de 4 k de la microSD (tabla de benchmarks del wiki).
  • WiFi 5 + BT con dos conectores u.FL y una antena PCB integrada funcional — bret.dk midió mejor rendimiento con la antena PCB que con una antena externa.
  • Soporte real mainline + Armbian «platinum» (kernel 6.x, Panfrost, tarjeta de sonido ALSA axg, controladores de LED y ADC-key) además del BSP del fabricante — raro en módulos Banana Pi (sección Armbian del wiki, DTS mainline).
  • Funciones de silicio diversas expuestas: receptor IR (GPIOAO_5), tecla de usuario SARADC, HDMI CEC (ambos controladores CEC AO), audio I2S/TDM con glue de audio HDMI, cámaras MIPI CSI (OS08A10) y pantallas MIPI DSI (pantallas BPI 800×1280 / 1200×1920, rotación vía fb_rotate o Xorg).

− Puntos débiles

  • BSP del fabricante obsoleto. u-boot 2015.01 + Linux 4.9.241 en todas las imágenes del fabricante: «the module is only suitable for people that are fine with using outdated bootloader and Linux kernel» (CNX 2023-01-05).
  • Trampa de prioridad de arranque de la eMMC. Una eMMC arrancable bloquea el arranque desde tarjeta SD; una eMMC a medio grabar puede colgar la placa en BL2 y requiere la USB Burning Tool / un borrado completo con dd para recuperarla (wiki Boot Sequence).
  • Throttling térmico severo. El throttling empieza a ~70 °C, en 5 segundos bajo stress-ng en un módulo sin disipador, hasta 1000/1000 MHz tras 10 minutos; se requieren disipador + flujo de aire para carga sostenida (bret.dk).
  • Conflicto del controlador WiFi RTL8822CS en Armbian. El controlador fuera del árbol 88x2cs «fights mainline rtw88_8822cs for the onboard SDIO wifi (DISASSOC_LOW_ACK, h2c failures, 1 Mbit/s at full signal)» — Armbian incluye MODULES_BLACKLIST="simpledrm 88x2cs" (config de placa armbian/build). En las imágenes del fabricante WiFi/BT están deshabilitados por defecto y hay que habilitarlos añadiendo 88x2cs a /etc/modules (wiki «Enable Wifi and BT»).
  • Sin arranque NVMe/PCIe. «A311d soc rom and BPI-M2S-bsp uboot are both not support nvme boot» — el SSD solo sirve como rootfs, el bootloader debe residir en SD/eMMC (wiki).
  • Solución alternativa a la inestabilidad SD/PCIe. El fabricante documenta user_kernel_args=pci=pcie_bus_safe disableuhs para forzar al host SD fuera del modo UHS cuando la ranura PCIe está ocupada (wiki) — es decir, la combinación no es fiable.
  • Conjunto de funciones del CM4 reducido. Solo 1 HDMI, 1 CSI, 1 DSI (vs 2/2/2 en el CM4): «for A311D chip PIN limited»; funciones de la placa portadora como doble HDMI o doble cámara simplemente no funcionan (wiki, CNX).
  • Paradoja de la antena. Conectar la antena externa subía la intensidad de señal pero reducía el rendimiento; sin explicación en el momento de escribir (sección WiFi de bret.dk).
  • Las herramientas GPIO son solo del BSP y parciales. «This WiringPi only support set 26pins gpio to output, input, pwm or software pwm, for io functions as i2c, spi, ..., you must enable dtb overlay in boot.ini» — los forks WiringPi/RPi.GPIO del fabricante (Dangku/WiringPi, Dangku/RPi.GPIO) no funcionan con kernels mainline (wiki).
  • Disponibilidad de documentación/datasheet. El datasheet, el esquema, el DXF y las imágenes están alojados en enlaces de Baidu Pan / Google Drive (algunos ya rotos por el «Google security update», según la nota del wiki), un riesgo real de disponibilidad a largo plazo para la documentación de hardware oficial.
  • Inconsistencias de las fichas técnicas: «2 Gigabit port» frente a un solo GbE real; Bluetooth 5.2 vs 4.2/LE; comentario «USB3» frente a placas portadoras solo USB 2.0; opción de 2 GB de RAM nunca confirmada a la venta.
  • Menor: la imagen Debian 10 del fabricante incluye un iperf3 demasiado viejo para --bidir (geerlingguy #11); los componentes eMMC son de doble proveedor (Samsung AJTD4R HS200 vs SZ Rayson RS1G32LO4), por lo que las cifras de almacenamiento varían según la unidad.
  • Retour d'expérience expert expert — expert-pi-like
    • Retour sur la BPI-CM4. Le format CM4 est un vrai plus pour réutiliser des carriers existants, mais attention au piège du boot : si l'eMMC contient une partition bootable corrompue, la carte ne bootera jamais sur SD sans passer par le USB Burning Tool ou un dd complet. C'est documenté et ça m'a coût… — expert-pi-like
    • Merci pour ce retour. J'hésite encore entre la BPI-CM4 et un CM4 classique. Tu confirmes que le support PCIe est bien limité ? Je vois des mentions de NVMe via mini-PCIe, mais est-ce que ça boot directement ? J'ai vu dans la doc qu'il faut garder le bootloader sur SD ou eMMC car le ROM de l'A311D n… — maker-bleu
    • Effectivement, pas de boot NVMe, le bootloader doit rester sur eMMC ou SD. Pour le PCIe, j'ai dû ajouter pci=pcie_bus_safe disableuhs aux arguments kernel car ma carte SD était instable dès que j'insérais un adaptateur mini-PCI- NVMe. C'est un workaround connu. Et pour le GPIO, oublie WiringPi stan… — linux-hacker-99

Opiniones y proyectos de la comunidad

  • Full independent review + benchmark suite vs Raspberry Pi CM4

    Revisión independiente completa + suite de benchmarks vs Raspberry Pi CM4 — (UnixBench, GeekBench 6, (unverified au 2026-10-13) — interno alojado en sitio interno, estado en vivo verificado el 2026-10-13. Proyecto documentado en la ficha bananapi-cm4 (SBC); r…

Contenido no disponible todavía.

  • BSP del fabricante obsoleto. u-boot 2015.01 + Linux 4.9.241 en todas las imágenes del fabricante: «the module is only suitable for people that are fine with using outdated bootloader and Linux kernel» (CNX 2023-01-05).
  • Trampa de prioridad de arranque de la eMMC. Una eMMC arrancable bloquea el arranque desde tarjeta SD; una eMMC a medio grabar puede colgar la placa en BL2 y requiere la USB Burning Tool / un borrado completo con dd para recuperarla (wiki Boot Sequence).
  • Throttling térmico severo. El throttling empieza a ~70 °C, en 5 segundos bajo stress-ng en un módulo sin disipador, hasta 1000/1000 MHz tras 10 minutos; se requieren disipador + flujo de aire para carga sostenida (bret.dk).
  • Conflicto del controlador WiFi RTL8822CS en Armbian. El controlador fuera del árbol 88x2cs «fights mainline rtw88_8822cs for the onboard SDIO wifi (DISASSOC_LOW_ACK, h2c failures, 1 Mbit/s at full signal)» — Armbian incluye MODULES_BLACKLIST="simpledrm 88x2cs" (config de placa armbian/build). En las imágenes del fabricante WiFi/BT están deshabilitados por defecto y hay que habilitarlos añadiendo 88x2cs a /etc/modules (wiki «Enable Wifi and BT»).
  • Sin arranque NVMe/PCIe. «A311d soc rom and BPI-M2S-bsp uboot are both not support nvme boot» — el SSD solo sirve como rootfs, el bootloader debe residir en SD/eMMC (wiki).
  • Solución alternativa a la inestabilidad SD/PCIe. El fabricante documenta user_kernel_args=pci=pcie_bus_safe disableuhs para forzar al host SD fuera del modo UHS cuando la ranura PCIe está ocupada (wiki) — es decir, la combinación no es fiable.
  • Conjunto de funciones del CM4 reducido. Solo 1 HDMI, 1 CSI, 1 DSI (vs 2/2/2 en el CM4): «for A311D chip PIN limited»; funciones de la placa portadora como doble HDMI o doble cámara simplemente no funcionan (wiki, CNX).
  • Paradoja de la antena. Conectar la antena externa subía la intensidad de señal pero reducía el rendimiento; sin explicación en el momento de escribir (sección WiFi de bret.dk).
  • Las herramientas GPIO son solo del BSP y parciales. «This WiringPi only support set 26pins gpio to output, input, pwm or software pwm, for io functions as i2c, spi, ..., you must enable dtb overlay in boot.ini» — los forks WiringPi/RPi.GPIO del fabricante (Dangku/WiringPi, Dangku/RPi.GPIO) no funcionan con kernels mainline (wiki).
  • Disponibilidad de documentación/datasheet. El datasheet, el esquema, el DXF y las imágenes están alojados en enlaces de Baidu Pan / Google Drive (algunos ya rotos por el «Google security update», según la nota del wiki), un riesgo real de disponibilidad a largo plazo para la documentación de hardware oficial.
  • Inconsistencias de las fichas técnicas: «2 Gigabit port» frente a un solo GbE real; Bluetooth 5.2 vs 4.2/LE; comentario «USB3» frente a placas portadoras solo USB 2.0; opción de 2 GB de RAM nunca confirmada a la venta.
  • Menor: la imagen Debian 10 del fabricante incluye un iperf3 demasiado viejo para --bidir (geerlingguy #11); los componentes eMMC son de doble proveedor (Samsung AJTD4R HS200 vs SZ Rayson RS1G32LO4), por lo que las cifras de almacenamiento varían según la unidad.
  • Monter le module BPI-CM4 sur son carrier et réussir le premier boot debutant Schéma : IMG-bananapi-cm4-debutant-1-assembler-module-cm4-carrier.svg — module Banana Pi BPI-CM4 (55 × 40 mm) en cours d'alignement au-dessus d'un carrier BPI-CM4IO, deux connecteurs 100 broches surlignés, câble USB-C d'alimentation et câble HDMI à proximité.
  • Apprivoiser les LED et la touche ADC du carrier CM4IO debutant Schéma : IMG-bananapi-cm4-debutant-2-leds-et-cle-adc-cm4io.svg — gros plan du carrier BPI-CM4IO : LED bleue (GPIOAO_7), LED verte (GPIOAO_2), bouton « Function » relié au SARADC, header 26 broches en bas d'image.
  • Mesurer le stockage du BPI-CM4 : eMMC, microSD et le palier NVMe debutant Schéma : IMG-bananapi-cm4-debutant-3-benchmark-stockage-cm4.svg — BPI-CM4IO avec une microSD insérée dans son slot et un SSD NVMe monté sur adaptateur mini-PCIe ; en médaillon, histogramme des débits séquentiels eMMC / microSD / NVMe.
  • Activer I2C, SPI et UART sur le BPI-CM4 : env.txt ou armbianEnv.txt intermediaire Schéma : IMG-bananapi-cm4-intermediaire-1-overlays-bus-banapi-cm4.svg — header 26 broches du carrier BPI-CM4IO avec les fonctions surlignées : I2C1 (GPIOX_17/18, broches 3/5), UART_B (GPIOX_6/7, broches 8/10), SPI_A (GPIOX_8 à 11, broches 19/21/23/24) ; à côté, une carte SD dont la partition boot affiche env.txt et armbianEnv.txt.
  • Brancher un capteur BME280 sur l'I2C1 du carrier (GPIOX_17/18) intermediaire Schéma : IMG-bananapi-cm4-intermediaire-2-i2c-bme280-banapi-cm4.svg — module BME280 câblé sur le header 26 broches du BPI-CM4IO : SDA sur la broche 3 (GPIOX_17), SCL sur la broche 5 (GPIOX_18), VCC en 3V3 et GND, résistances de pull-up intégrées au module.
  • Déplacer le rootfs sur un SSD NVMe via le port mini-PCIe intermediaire Schéma : IMG-bananapi-cm4-intermediaire-3-nvme-rootfs-minipcie-cm4.svg — SSD NVMe fixé sur un adaptateur mini-PCIe inséré dans le port du carrier BPI-CM4IO ; la carte microSD reste insérée : flèches « bootloader sur SD » et « rootfs sur SSD ».
  • Exploiter le NPU 5 TOPS de l'A311D pour l'inférence embarquée avance Schéma : IMG-bananapi-cm4-avance-1-npu-5tops-banapi-cm4.svg — BPI-CM4 sur son carrier avec une caméra USB et un écran HDMI affichant une détection d'objets ; la puce A311D est surlignée avec l'étiquette « NPU 5 TOPS ».
  • Monter un point d'accès 4G avec le module Quectel EC20 du port mini-PCIe avance Schéma : IMG-bananapi-cm4-avance-2-routeur-lte-4g-ec20-cm4.svg — module Quectel EC20 au format mini-PCIe avec deux antennes u.FL et une micro-SIM insérée, monté dans le port du carrier BPI-CM4IO ; flèches WAN (antenne 4G) vers LAN (câble RJ45).
  • Dompter la chauffe : throttling à 70 °C, dissipateur et pilotage CPU avance Schéma : IMG-bananapi-cm4-avance-3-maitriser-thermique-banapi-cm4.svg — module BPI-CM4 coiffé d'un petit dissipateur sur l'A311D ; en médaillon, courbe de fréquence : effondrement à 1000 MHz sans refroidissement contre 1800 MHz maintenu avec dissipateur.

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. python3-gpiod controla el chip GPIO directamente por el kernel, sin librerías propietarias.

  • bouton-gpio.py Python

    Un botón en el conector GPIO dispara una acción al pulsar y al soltar. Versión genérica por sondeo de la línea gpiod con antirrebote software de 30 ms.

  • 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