circuitpython-org/_board/raspberrypi_cm4.md
Jeff Epler 4715875cc4 Fix board dates to always be of the form YYYY-MM-DD
.. leading zeros are required for `frontmatter` to treat them as dates
rather than strings, apparently per the YAML specification.

This was done by script:
```py
import re
import datetime
import pathlib
import sys

import frontmatter

rx = re.compile(r'^(\s*)date_added:.*$', re.M)

for path_str in sys.argv[1:]:
    print(path_str)
    path = pathlib.Path(path_str)

    post = frontmatter.load(path)
    date_added = post.get("date_added", "")

    if isinstance(date_added, datetime.date):
        continue

    if isinstance(date_added, str):
        try:
            date_added = datetime.datetime.strptime(date_added, "%Y-%m-%d")
        except ValueError as exc:
            print(f"Failed to parse date {date_added} in {path_str}: {exc}")
            continue

    date_added = date_added.date()
    content = path.read_text("utf-8")
    new_content = rx.sub(lambda m: f"{m.group(1)}date_added: {date_added}", content)
    assert content != new_content

    path.write_text(new_content, "utf-8")
```
2024-03-22 11:31:45 -05:00

4.3 KiB
Raw Permalink Blame History

layout board_id title name manufacturer board_url board_image date_added family
download raspberrypi_cm4 Raspberry Pi CM4 Download Compute Module 4 Raspberry Pi
https://www.raspberrypi.com/products/compute-module-4/
https://www.adafruit.com/product/4782
https://www.adafruit.com/product/4788
https://www.adafruit.com/product/4790
https://www.adafruit.com/product/4791
https://www.adafruit.com/product/4982
raspberry_pi_cm4.jpg 2022-01-04 broadcom

NOTE: This build is alpha quality and is for experimental use. It is missing features and has known issues.

The Raspberry Pi Compute Module 4 is based on the Raspberry Pi 4 Model B, but in a smaller form factor - perfect for embedding into products or projects without the bulk of a classic Raspberry Pi. You get all the computational power of Raspberry Pi 4 in a compact form factor for deeply embedded applications. The CM4 incorporates the same quad-core ARM Cortex-A72 processor, dual video output, gigabit Ethernet, UART, I2C, SPI, I2S, and a few PWM for good measure.

This module is available in multiple variants, with a range of RAM and eMMC Flash options, and with or without wireless connectivity. The modules are available with 1GB, 2GB, 4GB or 8GB LPDDR4-3200 SDRAM with optional storage of 8GB, 16GB or 32GB eMMC Flash. The wireless option includes 2.4GHz and 5GHz 802.11b/g/n/ac wireless LAN and Bluetooth 5.0 for BT classic and BTLE support.

This product version of the CM4 modules comes with 4GB RAM 32GB MMC, and WiFi!

Note: We don't include the Compute Module IO board, but it's strongly recommended!

Compute ALL the THINGs!

Compared to the earlier Compute Module 3+, the CM4 features faster CPU cores, better multimedia, more interfacing capabilities, a range of RAM densities, and a wireless connectivity option. Instead of a DIMM socket, there are two board-to-board connectors that carry high-speed signals with ease - like multiple MIPI displays and camera ports. In addition to all the pins that supply Ethernet and SDIO and SPI and such, there's also 28 GPIO pins, with up to 6 × UART, 6 × I2C and 5 × SPI.

On the video side, there are dual HDMI output, VideoCore VI graphics with OpenGL ES 3.x support, 4Kp60 hardware decode of H.265 (HEVC) video, and 1080p30 hardware encode of H.264 (AVC) video.

It's great for industrial control or robotic use, digital/video signage, IoT, and AI/machine learning projects

Compute Module 4 introduces a brand new form factor and a compatibility break with earlier Compute Modules. Where previous modules adopted the JEDEC DDR2 SODIMM mechanical standard, with I/O signals on an edge connector, we now bring I/O signals to two high-density perpendicular connectors (one for power and low-speed interfaces, and one for high-speed interfaces).

This significantly reduces the overall footprint of the module on its carrier board, letting you achieve smaller form factors for your products. This version is intended for experienced developers who will be using the board for industrial and commercial applications.

Specifications

  • 1.5GHz quad-core 64-bit ARM Cortex-A72 CPU
  • VideoCore VI graphics, supporting OpenGL ES 3.x
  • 4Kp60 hardware decode of H.265 (HEVC) video
  • 1080p60 hardware decode, and 1080p30 hardware encode of H.264 (AVC) video
  • Dual HDMI interfaces, at resolutions up to 4K
  • Single-lane PCI Express 2.0 interface
  • Dual MIPI DSI display, and dual MIPI CSI-2 camera interfaces
  • 1GB, 2GB, 4GB or 8GB LPDDR4-3200 SDRAM
  • Optional 8GB, 16GB or 32GB eMMC Flash storage
  • Optional 2.4GHz and 5GHz IEEE 802.11b/g/n/ac wireless LAN and Bluetooth 5.0
  • Gigabit Ethernet PHY with IEEE 1588 support
  • 28 GPIO pins, with up to 6 × UART, 6 × I2C, and 5 × SPI

CircuitPython

These downloads are for CircuitPython standalone on the Raspberry Pi (not Blinka). There is no underlying operating system. It is in early development.

After installing the disk image on an SD card, the normal CircuitPython USB workflow will be available on the micro-B connector on the IO board. EMMC compute modules are not supported yet.

Purchase