⚖ Comparativa : Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4) vs Banana Pi BPI-M2 Zero (Allwinner H2+ / H3)

Comparación de las características técnicas declaradas : Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4) et Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) (20 características). Ver la ficha completa : Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4) · Banana Pi BPI-M2 Zero (Allwinner H2+ / H3).

CaracterísticasBanana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4)Banana Pi BPI-M2 Zero (Allwinner H2+ / H3)
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).Allwinner H2+ (later boards: H3) — 4× Arm Cortex-A7 (ARMv7-A, 32-bit) + Mali-400MP2 GPU @ 600 MHz, OpenGL ES 2.0 (wiki spec table). CNX's launch article says "quad core Cortex A7 @ up to 1 GHz"; Wikipedia says 1.2 GHz (H2+ nominal max).
ram4 GB LPDDR4 (mainline DTS memory@0 reg = <0x0 0x0 0x0 0x40000000>; geerlingguy saw 3709 MiB usable).512 MB DDR3, shared with the GPU (wiki spec table). U-Boot drives it at DRAM_CLK=408 MHz (u-boot configs/bananapi_m2_zero_defconfig, retrieved 2026-10-13).
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).—
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).microSD only ("TF card, Max. 64 GB", wiki). No eMMC, no SPI NOR — the wiki comparison table explicitly lists "Onboard flash: NOPE" (that is the P2 Zero's 8 GB eMMC, absent here). Cannot boot from USB storage (bret.dk: "you cannot boot from the USB SSD").
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).none on board (wiki: "NOPE (but can extension with PIN define)"). The H2+/H3 integrated 10/100 EMAC can be brought out to an external PHY — Banana Pi published a "Zero-EPHY" PHY carrier design (schematic + PCB on the wiki, section "how to use zero 10/100 Ethernet").
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).on-board AP6212 module (Ampak/AMTAK, BCM43430-class) — 802.11 b/g/n 1×1 + Bluetooth, on SDIO (brcm,bcm4329-fmac, mmc1 in DTS) with BT on UART1 (brcm,bcm43438-bt, max-speed = <1500000>, RTS/CTS on PG11–PG13, DTS). Options AP6181/AP6335 (CNX). U.FL/on-board RF connector next to the HDMI port — no antenna included (bret.dk).
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).1× micro-USB OTG (data; dr_mode = "otg", DTS) + 1× micro-USB power-only port. DTS comment: "The Vbus of these two connectors are connected together, so the external USB device will be powered just by the power input from the power-only USB port." One host port via ehci0/ohci0 (DTS).
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.40-pin header, Raspberry Pi Zero W / Pi 3 pinout-compatible (wiki: "matches that of the Raspberry Pi 3"; fits Zero W cases and hats per bret.dk). 3.3 V logic (VCC-3V3/VCC-5V pins 1/2/4/17). From the wiki pin table: I2C0 = PA11/PA12 (pins 3/5), I2C1 = PA18/PA19 (pins 27/28), SPI0 = PC0–PC3 (pins 19/21/23/24), SPI1 signals on PA13–PA16, UART2 (PA0/PA1 + CTS/RTS PA2/PA3), UART3 (PA13/PA14 + CTS/RTS PA15/PA16), PWM1 on PA6 (pin 7), SPDIF-OUT on PA17, plus two R_PIO pins PL2 (pin 32) and PL4 (pin 36). No ADC/DAC exposed (the pin table lists none; the RPi has none either).
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).3-pin jumper CON3: UART0-TXD (PA4), UART0-RXD (PA5), GND, 115200 8N1 (wiki; DTS stdout-path = "serial0:115200n8").
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.—
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).5 V / 2 A via the power-only micro-USB port; the wiki also documents powering via the 5 V pins of the GPIO header ("Zero power with GPIO 5V input"). No battery charger, no PoE (that is the P2 Zero).
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).—
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).65 × 30 mm, 15 g (wiki table; bret.dk). The Getting Started page says "60mm*30mm" (docs.banana-pi.org) — the 65 mm figure matches the Pi Zero W footprint and is repeated by the wiki product page and bret.dk.
cpu_core_voltage—a GPIO-switched regulator (vdd-cpux, PL1) with only two states, 1.10 V / 1.30 V (mainline DTS) — coarse DVFS, not a full PMIC.
video_out—mini-HDMI (Type-C connector per mainline DTS), 1080p@30 fps, HDCP (wiki writes "DHCP", an obvious typo for HDCP). Video engine: 1080p@60 H.264 decode, 1080p@30 H.264 encode (wiki table, bret.dk).
camera_csi—24-pin FPC connector marked "CSI" — parallel 8-bit DVP/CCIR656 bus, not MIPI: CSI0-D0…D7, PCLK, HSYNC, VSYNC, MCLK, I2C (PE12/PE13), Reset, PWDN; camera power enable on PD14 (CSI-PWR-EN, DTS gpio-line-names). Supports 8-bit YUV422 CMOS sensors, ~5 MP / 1080p (CNX 2017; full pin table on the wiki).
other_i_o—Power button (PL3, KEY_POWER, wakeup — DTS) + Reset button; Power LED (PL10, bananapi-m2-zero:red:pwr, DTS) and a status LED (wiki table;
consumption_thermals—measured in the bret.dk review (stress-ng + SoC sensor), but the numeric tables did not survive text extraction.

Banana Pi BPI-CM4 (Amlogic A311D, factor de forma Raspberry Pi CM4) Banana Pi BPI-M2 Zero (Allwinner H2+ / H3)