diff --git a/documentation/asciidoc/computers/compute-module/cm-emmc-flashing.adoc b/documentation/asciidoc/computers/compute-module/cm-emmc-flashing.adoc
index ae22dcd2d9..059ff9299f 100644
--- a/documentation/asciidoc/computers/compute-module/cm-emmc-flashing.adoc
+++ b/documentation/asciidoc/computers/compute-module/cm-emmc-flashing.adoc
@@ -1,114 +1,104 @@
[[flash-compute-module-emmc]]
== Flash an image to a Compute Module
+TIP: To flash the same image to multiple Compute Modules, use the https://github.com/raspberrypi/rpi-sb-provisioner[Raspberry Pi Secure Boot Provisioner]. To customise an OS image to flash onto those devices, use https://github.com/RPi-Distro/pi-gen[pi-gen].
+
[[flashing-the-compute-module-emmc]]
The Compute Module has an on-board eMMC device connected to the primary SD card interface. This guide explains how to flash (write) an operating system image to the eMMC storage of a single Compute Module.
-NOTE: **Lite** variants of Compute Modules do not have on-board eMMC. Instead, you can follow the procedure to flash a storage device for other Raspberry Pi devices at xref:../computers/getting-started.adoc#installing-the-operating-system[Install an operating system].
-
-When flashing an image to multiple Compute Modules, consider using the Compute Module Provisioner instead:
-
-[.whitepaper, title="Mass Provision with the Compute Module Provisioner", subtitle="", link=https://pip.raspberrypi.com/categories/685-whitepapers-app-notes/documents/RP-003468-WP/Using-the-Compute-Module-Provisioner.pdf]
-****
-The Compute Module Provisioner is a web application that helps developers program many Compute Module devices simultaneously.
-
-It provides a database of kernel images and the ability to run scripts during the flashing process, in addition to automated label printing and firmware updating.
-****
+**Lite** variants of Compute Modules do not have on-board eMMC. Instead, follow the procedure to flash a storage device for other Raspberry Pi devices at xref:../computers/getting-started.adoc#installing-the-operating-system[Install an operating system].
=== Prerequisites
To flash the Compute Module eMMC, you need the following:
-* Another computer, referred to in this guide as the *host device*. You can use Linux (Raspberry Pi OS or Ubuntu), Windows, or macOS.
+* Another computer, referred to in this guide as the *host device*. You can use Linux (we recommend Raspberry Pi OS or Ubuntu), Windows, or macOS.
* The Compute Module IO Board xref:compute-module.adoc#io-board-compatibility[that corresponds to your Compute Module model].
-* A micro USB cable.
+* A micro USB cable, or a USB-C cable for Compute Module models since CM5.
=== Set up the IO Board
To begin, physically set up your IO Board. This includes connecting the Compute Module and host device to the IO Board.
-==== with Compute Module 4 IO Board
-
+[tabs%sync]
+======
+Compute Module 5 IO Board::
++
To set up the Compute Module 4 IO Board:
-
++
. Connect the Compute Module to the IO board. When connected, the Compute Module should lie flat.
-
. Fit `nRPI_BOOT` to J2 (`disable eMMC Boot`) on the IO board jumper.
+. Connect a cable from USB-C slave port J11 on the IO board to the host device.
+Compute Module 4 IO Board::
++
+To set up the Compute Module 4 IO Board:
++
+. Connect the Compute Module to the IO board. When connected, the Compute Module should lie flat.
+. Fit `nRPI_BOOT` to J2 (`disable eMMC Boot`) on the IO board jumper.
. Connect a cable from micro USB slave port J11 on the IO board to the host device.
-==== with Compute Module IO Board
-
+Compute Module IO Board::
++
To set up the Compute Module IO Board:
-
++
. Connect the Compute Module to the IO board. When connected, the Compute Module should lie parallel to the board, with the engagement clips firmly clicked into place.
-
. Set J4 (`USB SLAVE BOOT ENABLE`) to 1-2 = (`USB BOOT ENABLED`)
-
. Connect a cable from micro USB slave port J15 on the IO board to the host device.
+======
=== Set up the host device
Next, let's set up software on the host device.
-==== on Linux
-
+[tabs%sync]
+======
+Linux::
++
To set up software on a Linux host device:
-
-. Run the following command to install `rpiboot`:
++
+. Run the following command to install `rpiboot` (or, alternatively, https://github.com/raspberrypi/usbboot[build `rpiboot` from source]):
+
[source,console]
----
$ sudo apt install rpiboot
----
-
. Connect the IO Board to power.
-
. Then, run `rpiboot`:
+
[source,console]
----
$ sudo rpiboot
----
-
. After a few seconds, the Compute Module should appear as a mass storage device. Check the `/dev/` directory, likely `/dev/sda` or `/dev/sdb`, for the device. Alternatively, run `lsblk` and search for a device with a storage capacity that matches the capacity of your Compute Module.
-TIP: Alternatively, you can https://github.com/raspberrypi/usbboot[build `rpiboot` from source].
-
-==== on macOS
-
+macOS::
++
To set up software on a macOS host device:
-
++
. First, https://github.com/raspberrypi/usbboot?tab=readme-ov-file#macos[build `rpiboot` from source].
-
. Connect the IO Board to power.
-
. Then, run the `rpiboot` executable with the following command:
+
[source,console]
----
$ sudo ./rpiboot
----
-
. When the command finishes running, you should see a message stating "The disk you inserted was not readable by this computer." Click **Ignore**. Your Compute Module should now appear as a mass storage device.
-==== on Windows
-
+Windows::
++
To set up software on a Windows host device:
-
-. Download the https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe[Windows installer]
-
++
+. Download the https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe[Windows installer] or https://github.com/raspberrypi/usbboot[build `rpiboot` from source].
. Double-click on the installer to run it. This installs the drivers and boot tool.
-
. Connect the IO Board to power. Windows should discover the hardware and configure the required drivers.
-
. On CM4 and later devices, select **Raspberry Pi - Mass Storage Gadget - 64-bit** from the start menu. After a few seconds, the Compute Module eMMC or NVMe will appear as USB mass storage devices. This also provides a debug console as a serial port gadget.
-
. On CM3 and older devices, select **rpiboot**. Double-click on `RPiBoot.exe` to run it. After a few seconds, the Compute Module eMMC should appear as a USB mass storage device.
+======
-TIP: Alternatively, you can https://github.com/raspberrypi/usbboot[build `rpiboot` from source].
=== Flash the eMMC
@@ -134,13 +124,20 @@ You can mount the `/dev/sdX1` and `/dev/sdX2` partitions normally.
=== Boot from eMMC
-==== with Compute Module 4 IO Board
-
+[tabs%sync]
+======
+Compute Module 5 IO Board::
++
Disconnect `nRPI_BOOT` from J2 (`disable eMMC Boot`) on the IO board jumper.
-==== with Compute Module IO Board
+Compute Module 4 IO Board::
++
+Disconnect `nRPI_BOOT` from J2 (`disable eMMC Boot`) on the IO board jumper.
+Compute Module IO Board::
++
Set J4 (`USB SLAVE BOOT ENABLE`) to 2-3 (`USB BOOT DISABLED`).
+======
==== Boot
@@ -148,7 +145,7 @@ Disconnect the USB slave port. Power-cycle the IO board to boot the Compute Modu
=== Known issues
-* A small percentage of CM3 experienced booting problems. We have traced these back to the method used to create the FAT32 partition; we believe the problem is due to a difference in timing between the CPU and eMMC. If you have trouble booting your CM3, create the partitions manually with the following commands:
+* A small percentage of CM3 devices may experience problems booting. We have traced these back to the method used to create the FAT32 partition; we believe the problem is due to a difference in timing between the CPU and eMMC. If you have trouble booting your CM3, create the partitions manually with the following commands:
+
[source,console]
----
diff --git a/documentation/asciidoc/computers/compute-module/cm-peri-sw-guide.adoc b/documentation/asciidoc/computers/compute-module/cm-peri-sw-guide.adoc
index ffa166af38..04845e07fd 100644
--- a/documentation/asciidoc/computers/compute-module/cm-peri-sw-guide.adoc
+++ b/documentation/asciidoc/computers/compute-module/cm-peri-sw-guide.adoc
@@ -1,26 +1,16 @@
== Wire peripherals
-This guide helps developers wire up peripherals to the Compute Module pins. Additionally, this guide explains how to make changes to the software to enable these peripherals.
+This guide helps developers wire up peripherals to the Compute Module pins, and explains how to enable these peripherals in software.
-Most of the pins of the SoC (GPIO, two CSI camera interfaces, two DSI display interfaces, HDMI, etc.) are available for wiring. You can can usually leave unused pins disconnected.
+Most of the pins of the SoC, including the GPIO, two CSI camera interfaces, two DSI display interfaces, and HDMI are available for wiring. You can can usually leave unused pins disconnected.
-Compute Modules with the DDR2 SODIMM form factor can use any DDR2 SODIMM socket. However, the pinout is not the same as SODIMM memory modules.
+Compute Modules that come in the DDR2 SODIMM form factor are physically compatible with any DDR2 SODIMM socket. However, the pinout is **not** the same as SODIMM memory modules.
To use a Compute Module, a user must design a motherboard that:
* provides power to the Compute Module (3.3V and 1.8V at minimum)
* connects the pins to the required peripherals for the user's application
-Raspberry Pi's IO Boards provide the following functionality:
-
-* powers the module
-* wires the GPIO to pin headers
-* wires the camera and display interfaces to FFC connectors
-* wires HDMI to an HDMI port
-* wires USB to USB ports
-* wires activity monitoring to an 'ACT' LED
-* eMMC programming over USB
-
This guide first explains the boot process and how Device Tree describes attached hardware.
Then, we'll explain how to attach an I2C and an SPI peripheral to an IO Board. Finally, we'll create the Device Tree files necessary to use both peripherals with Raspberry Pi OS.
diff --git a/documentation/asciidoc/computers/compute-module/cmio-camera.adoc b/documentation/asciidoc/computers/compute-module/cmio-camera.adoc
index e1499f3e56..e1ccbefc2e 100644
--- a/documentation/asciidoc/computers/compute-module/cmio-camera.adoc
+++ b/documentation/asciidoc/computers/compute-module/cmio-camera.adoc
@@ -107,7 +107,7 @@ image::images/CMIO-Cam-Adapter.jpg[alt="Connect the adapter board", width="60%"]
+
image:images/CMIO-Cam-GPIO2.jpg[alt="GPIO connection with additional camera", width="60%"]
-. _(CM4 only)_: Connect the J6 GPIO pins with two vertical-orientation jumpers.
+. _(CM4 and CM5)_: Connect the J6 GPIO pins with two vertical-orientation jumpers.
+
image:images/j6_vertical.jpg[alt="Connect the J6 GPIO pins in vertical orientation", width="60%"]
diff --git a/documentation/asciidoc/computers/compute-module/datasheet.adoc b/documentation/asciidoc/computers/compute-module/datasheet.adoc
index 1110894ecb..11d52ccb82 100644
--- a/documentation/asciidoc/computers/compute-module/datasheet.adoc
+++ b/documentation/asciidoc/computers/compute-module/datasheet.adoc
@@ -1,5 +1,19 @@
== Specifications
+=== Compute Module 5 datasheet
+
+To learn more about Compute Module 5 (CM5) and its corresponding IO Board, see the following documents:
+
+* https://datasheets.raspberrypi.com/cm5/cm5-datasheet.pdf[CM5 datasheet]
+* https://rpltd.co/cm5-design-files[CM5 design files]
+
+=== Compute Module 5 IO Board datasheet
+
+Design data for the Compute Module 5 IO Board (CM5IO) can be found in its datasheet:
+
+* https://datasheets.raspberrypi.com/cm5/cm5io-datasheet.pdf[CM5IO datasheet]
+* https://rpltd.co/cm5io-design-files[CM5IO design files]
+
=== Compute Module 4 datasheet
To learn more about Compute Module 4 (CM4) and its corresponding IO Board, see the following documents:
@@ -50,7 +64,7 @@ This white paper helps developers migrate from Compute Module 1 or Compute Modul
=== Compute Module IO Board schematics
-The Compute Module IO Board (CMIO) provides a variety of interfaces for CM1, CM3, CM3L, and CM3+. The Compute Module IO Board comes in two variants: Version 1 and Version 3. Version 1 is only compatible with CM1. Version 3 is compatible with CM1, CM3, CM3+, and CM4S. Compute Module IO Board Version 3 is sometimes written as the shorthand CMIO3. To learn more about CMIO1 and CMIO3, see the following documents:
+The Compute Module IO Board (CMIO) provides a variety of interfaces for CM1, CM3, CM3+, and CM4S. The Compute Module IO Board comes in two variants: Version 1 and Version 3. Version 1 is only compatible with CM1. Version 3 is compatible with CM1, CM3, CM3+, and CM4S. Compute Module IO Board Version 3 is sometimes written as the shorthand CMIO3. To learn more about CMIO1 and CMIO3, see the following documents:
* https://datasheets.raspberrypi.com/cmio/cmio-schematics.pdf[Schematics for CMIO]
* https://datasheets.raspberrypi.com/cmio/RPi-CMIO-R1P2.zip[Design documents for CMIO Version 1.2 (CMIO/CMIO1)]
diff --git a/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-assembly.svg b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-assembly.svg
new file mode 100644
index 0000000000..596cda0127
--- /dev/null
+++ b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-assembly.svg
@@ -0,0 +1,297 @@
+
+
\ No newline at end of file
diff --git a/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-physical.png b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-physical.png
new file mode 100644
index 0000000000..7fcd0da44e
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-physical.png differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-physical.svg b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-physical.svg
new file mode 100644
index 0000000000..232dc6e76b
--- /dev/null
+++ b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna-physical.svg
@@ -0,0 +1,4711 @@
+
+
+
+
diff --git a/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna.jpg b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna.jpg
new file mode 100644
index 0000000000..2dd3fbcd74
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm4-cm5-antenna.jpg differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5-case-physical.png b/documentation/asciidoc/computers/compute-module/images/cm5-case-physical.png
new file mode 100644
index 0000000000..05323596a7
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5-case-physical.png differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5-case-physical.svg b/documentation/asciidoc/computers/compute-module/images/cm5-case-physical.svg
new file mode 100644
index 0000000000..4ddf6308f6
--- /dev/null
+++ b/documentation/asciidoc/computers/compute-module/images/cm5-case-physical.svg
@@ -0,0 +1,12074 @@
+
+
+
+
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5-cooler-physical.png b/documentation/asciidoc/computers/compute-module/images/cm5-cooler-physical.png
new file mode 100644
index 0000000000..5214101780
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5-cooler-physical.png differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5-cooler-physical.svg b/documentation/asciidoc/computers/compute-module/images/cm5-cooler-physical.svg
new file mode 100644
index 0000000000..5abb017d82
--- /dev/null
+++ b/documentation/asciidoc/computers/compute-module/images/cm5-cooler-physical.svg
@@ -0,0 +1,9616 @@
+
+
+
+
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5-cooler.jpg b/documentation/asciidoc/computers/compute-module/images/cm5-cooler.jpg
new file mode 100644
index 0000000000..d4781a5cd4
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5-cooler.jpg differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5.png b/documentation/asciidoc/computers/compute-module/images/cm5.png
new file mode 100644
index 0000000000..0431e3e2d1
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5.png differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5io-case-front.png b/documentation/asciidoc/computers/compute-module/images/cm5io-case-front.png
new file mode 100644
index 0000000000..dd41c6d3da
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5io-case-front.png differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5io-case.png b/documentation/asciidoc/computers/compute-module/images/cm5io-case.png
new file mode 100644
index 0000000000..73a04c27ba
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5io-case.png differ
diff --git a/documentation/asciidoc/computers/compute-module/images/cm5io.png b/documentation/asciidoc/computers/compute-module/images/cm5io.png
new file mode 100644
index 0000000000..345cd7774c
Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5io.png differ
diff --git a/documentation/asciidoc/computers/compute-module/introduction.adoc b/documentation/asciidoc/computers/compute-module/introduction.adoc
index f79450ec72..b7ec8b065d 100644
--- a/documentation/asciidoc/computers/compute-module/introduction.adoc
+++ b/documentation/asciidoc/computers/compute-module/introduction.adoc
@@ -2,25 +2,32 @@
Raspberry Pi Compute Modules are **system-on-module** variants of the flagship Raspberry Pi models. Compute Modules are especially popular for industrial and commercial applications, including digital signage, thin clients, and process automation. Some of these applications use the flagship Raspberry Pi design, but many users want a more compact design or on-board eMMC storage.
-Compute Modules come in multiple variants, varying both in memory and embedded Multi-Media Card (eMMC) flash storage capacity. The eMMC is similar to an SD card, but soldered onto the board. Unlike SD cards, eMMC is specifically designed to be used as a disk and includes extra features to improve reliability. **Lite** models have no on-board storage, and are sometimes referred to with the shorthand suffix **L**, e.g. "CM3L".
+Compute Modules come in multiple variants, varying both in memory and soldered-on Multi-Media Card (eMMC) flash storage capacity. Like SD cards, eMMC provides persistent storage with minimal energy impact. Unlike SD cards, eMMC is specifically designed to be used as a disk and includes extra features to improve reliability. **Lite** models have no on-board storage, and are sometimes referred to with the shorthand suffix **L**, e.g. "CM3L".
Compute Modules use the following Raspberry Pi SoCs:
* BCM2835 for CM1
* BCM2837 for CM3, CM3+
* BCM2711 for CM4, CM4S
+* BCM2712 for CM5
-=== Compute Module 4
+=== Compute Module 5
+
+.Compute Module 5
+image::images/cm5.png[alt="Compute Module 5", width="60%"]
+
+The Compute Module 5 (CM5) combines the internals of a Raspberry Pi 5 (the BCM2712 processor and 2GB, 4GB, or 8GB of RAM) with optional 0GB (Lite), 16GB, 32GB or 64GB of eMMC flash storage.
-The latest version of the Compute Module is the Compute Module 4 (CM4). We recommend CM4 for all future development.
+CM5 uses the same form factor as CM4, featuring two 100-pin high density connectors.
+
+=== Compute Module 4
.Compute Module 4
image::images/cm4.jpg[alt="Compute Module 4", width="60%"]
-The Compute Module 4 (CM4) contains the internals of a Raspberry Pi 4 (the BCM2711 processor and 1GB, 2GB, 4GB, or 8GB of RAM) as well as an optional 0GB (Lite), 8GB, 16GB or 32GB of eMMC flash storage.
+The Compute Module 4 (CM4) combines the internals of a Raspberry Pi 4 (the BCM2711 processor and 1GB, 2GB, 4GB, or 8GB of RAM) with an optional 0GB (Lite), 8GB, 16GB or 32GB of eMMC flash storage.
-Unlike CM1, CM3, and CM3+, CM4 does not use the DDR2 SO-DIMM form factor. Instead, CM4 uses two 100-pin high density connectors in a smaller physical footprint.
-This change helped add the following interfaces:
+Unlike CM1, CM3, and CM3+, CM4 does not use the DDR2 SO-DIMM form factor. Instead, CM4 uses two 100-pin high density connectors in a smaller physical footprint. This change helped add the following interfaces:
* an additional second HDMI port
* PCIe
@@ -33,7 +40,7 @@ The previous form factor could not have supported these interfaces.
.Compute Module 4S
image::images/cm4s.jpg[alt="Compute Module 4S", width="60%"]
-The Compute Module 4S (CM4S) contains the internals of a Raspberry Pi 4 (the BCM2711 processor and 1GB, 2GB, 4GB, or 8GB of RAM) as well as an optional 0GB (Lite), 8GB, 16GB or 32GB of eMMC flash storage. Unlike CM4, CM4S comes in same the DDR2 SO-DIMM form factor as CM1, CM3, and CM3+.
+The Compute Module 4S (CM4S) combines the internals of a Raspberry Pi 4 (the BCM2711 processor and 1GB, 2GB, 4GB, or 8GB of RAM) with an optional 0GB (Lite), 8GB, 16GB or 32GB of eMMC flash storage. Unlike CM4, CM4S comes in the same DDR2 SO-DIMM form factor as CM1, CM3, and CM3+.
[[compute-module-3-plus]]
=== Compute Module 3+
@@ -41,28 +48,59 @@ The Compute Module 4S (CM4S) contains the internals of a Raspberry Pi 4 (the BCM
.Compute Module 3+
image::images/cm3-plus.jpg[alt="Compute Module 3+", width="60%"]
-The Compute Module 3+ (CM3+) contains the internals of a Raspberry Pi 3 Model B+ (the BCM2837 processor and 1GB of RAM) as well as an optional 0GB (Lite), 8GB, 16GB or 32GB of eMMC flash storage.
+The Compute Module 3+ (CM3+) combines the internals of a Raspberry Pi 3 Model B+ (the BCM2837 processor and 1GB of RAM) with an optional 0GB (Lite), 8GB, 16GB or 32GB of eMMC flash storage. CM3+ comes in the DDR2 SO-DIMM form factor.
=== Compute Module 3
.Compute Module 3
image::images/cm3.jpg[alt="Compute Module 3", width="60%"]
-The Compute Module 3 (CM3) contains the internals of a Raspberry Pi 3 (the BCM2837 processor and 1GB of RAM) as well as an optional 4GB of eMMC flash storage.
+The Compute Module 3 (CM3) combines the internals of a Raspberry Pi 3 (the BCM2837 processor and 1GB of RAM) with an optional 4GB of eMMC flash storage. CM3 comes in the DDR2 SO-DIMM form factor.
=== Compute Module 1
.Compute Module 1
image::images/cm1.jpg[alt="Compute Module 1", width="60%"]
-The Compute Module 1 (CM1) contains the internals of a Raspberry Pi (the BCM2835 processor and 512MB of RAM) as well as an optional 4GB of eMMC flash storage.
+The Compute Module 1 (CM1) contains the internals of a Raspberry Pi (the BCM2835 processor and 512MB of RAM) as well as an optional 4GB of eMMC flash storage. CM1 comes in the DDR2 SO-DIMM form factor.
== IO Boards
-Raspberry Pi IO Boards provide a way to connect a single Compute Module to a variety of I/O (input/output) interfaces. Compute Modules are, by nature, small. As a result, they lack ports and connectors. IO Boards provide a way to connect Compute Modules to a variety of peripherals.
+Raspberry Pi IO Boards provide a way to connect a single Compute Module to a variety of I/O (input/output) interfaces. Compute Modules are small, lacking ports and connectors. IO Boards provide a way to connect Compute Modules to a variety of peripherals.
+
+Raspberry Pi IO Boards provide the following functionality:
+
+* power the module
+* connects the GPIO to pin headers
+* connects the camera and display interfaces to FFC connectors
+* connects HDMI to an HDMI port
+* connects USB to USB ports
+* connects activity monitoring to LEDs
+* eMMC programming over USB
+* connects PCIe to connectors used to physically connect storage or peripherals
IO Boards are breakout boards intended for development; in production, you should use a smaller, potentially custom board that provides only the ports and peripherals required for your use-case.
+=== Compute Module 5 IO Board
+
+.Compute Module 5 IO Board
+image::images/cm5io.png[alt="Compute Module 5 IO Board", width="60%"]
+
+Compute Module 5 IO Board provides the following interfaces:
+
+* HAT footprint with 40-pin GPIO connector
+* PoE header
+* 2× HDMI ports
+* 2× USB 3.0 ports
+* Gigabit Ethernet RJ45 with PoE support
+* M.2 M key PCIe socket compatible with the 2230, 2242, 2260, and 2280 form factors
+* microSD card slot (only for use with Lite variants with no eMMC; other variants ignore the slot)
+* 2× MIPI DSI/CSI-2 combined display/camera FPC connectors (22-pin 0.5 mm pitch cable)
+* Real-time clock with battery socket
+* four-pin JST-SH PWM fan connector
+* 5V @ 5A power input via USB-C using the same standard as Raspberry Pi 5
+* Jumpers to disable features such as eMMC boot, EEPROM write, the power button, and the USB OTG connection
+
=== Compute Module 4 IO Board
.Compute Module 4 IO Board
@@ -71,15 +109,16 @@ image::images/cm4io.jpg[alt="Compute Module 4 IO Board", width="60%"]
Compute Module 4 IO Board provides the following interfaces:
* HAT footprint with 40-pin GPIO connector and PoE header
-* Two HDMI ports
-* Two USB 2.0 ports
+* 2× HDMI ports
+* 2× USB 2.0 ports
* Gigabit Ethernet RJ45 with PoE support
-* MicroSD card slot (only for use with Lite variants with no eMMC)
+* microSD card slot (only for use with Lite variants with no eMMC; other variants ignore the slot)
* PCIe Gen 2 socket
-* 12V input via barrel jack (supports up to 26V if PCIe unused)
-* 2 x MIPI DSI display FPC connectors (22-pin 0.5 mm pitch cable)
-* 2 x MIPI CSI-2 camera FPC connectors (22-pin 0.5 mm pitch cable)
+* micro USB upstream port
+* 2× MIPI DSI display FPC connectors (22-pin 0.5 mm pitch cable)
+* 2× MIPI CSI-2 camera FPC connectors (22-pin 0.5 mm pitch cable)
* Real-time clock with battery socket
+* 12V input via barrel jack (supports up to 26V if PCIe unused)
=== Compute Module IO Board
@@ -89,10 +128,10 @@ image::images/cmio.jpg[alt="Compute Module IO Board", width="60%"]
Compute Module IO Board provides the following interfaces:
* 120 GPIO pins
-* an HDMI port
-* a USB-A port
-* 2 x MIPI DSI display FPC connectors (22-pin 0.5 mm pitch cable)
-* 2 x MIPI CSI-2 camera FPC connectors (22-pin 0.5 mm pitch cable)
+* HDMI port
+* USB-A port
+* 2× MIPI DSI display FPC connectors (22-pin 0.5 mm pitch cable)
+* 2× MIPI CSI-2 camera FPC connectors (22-pin 0.5 mm pitch cable)
The Compute Module IO Board comes in two variants: Version 1 and Version 3. Version 1 is only compatible with CM1. Version 3 is compatible with CM1, CM3, CM3+, and CM4S. Compute Module IO Board Version 3 is sometimes written as the shorthand CMIO3.
@@ -118,4 +157,76 @@ a|
| Compute Module 4 IO Board (CM4IO)
a|
* CM4
+* CM5 (with reduced functionality)
+| Compute Module 5 IO Board (CM5IO)
+a|
+* CM5
+* CM4 (with reduced functionality)
|===
+
+== CM5 Accessories
+
+=== IO Case
+
+The world can be a dangerous place. The Compute Module 5 IO Board Case provides physical protection for a CM5IO Board.
+
+.Compute Module 5 IO Board Case
+image::images/cm5io-case.png[alt="Compute Module 5 IO Board Case", width="60%"]
+
+The Case provides cut-outs for all externally-facing ports and LEDs on the CM5IO Board, and an attachment point for a Raspberry Pi Antenna Kit.
+
+.Compute Module 5 IO Board Case ports
+image::images/cm5io-case-front.png[alt="the port selection on the Compute Module 5 IO Board Case", width="60%"]
+
+To mount a CM5IO Board within your Case, position your Board in the bottom section of the case, aligning the four mount points inset slightly from each corner of the Board. Fasten four screws into the mount points. Take care not to over-tighten the screws.
+
+To use the Case fan, connect the fan cable to the FAN (J14) port on the Board.
+
+To close the case, put the top case on top of the bottom case. Facing the front of the case, which has port pass-throughs, carefully align the screw holes on the left and right side of the case and the power button on the back of the case. Tighten four screws into the screw holes. Take care not to over-tighten the screws.
+
+TIP: The Case comes with a fan pre-installed. To close the case with the passive Cooler attached to your Compute Module, remove the fan. To remove the fan, remove the four screws positioned in the corners of the fan from the bottom of the top case.
+
+.CM5 Case physical specification
+image::images/cm5-case-physical.png[alt="CM5 Case physical specification", width="80%"]
+
+=== Antenna
+
+The Raspberry Pi Antenna Kit provides a certified external antenna to boost wireless reception on a CM4 or CM5.
+
+.CM4 and CM5 Antenna
+image::images/cm4-cm5-antenna.jpg[alt="The Antenna, connected to CM4", width="60%"]
+
+To attach the Antenna to your Compute Module and Case, complete the following steps:
+
+. Connect the https://en.wikipedia.org/wiki/Hirose_U.FL[U.FL connector] on the cable to the U.FL-compatible connector on your Compute Module.
+. Secure the toothed washer onto the male SMA connector at the end of the cable, then insert the SMA connector, with the antenna facing outward, through the hole in the Case.
+. Fasten the SMA connector into place with the retaining hexagonal nut and washer.
+. Tighten the female SMA connector on the Antenna onto the male SMA connector.
+. Adjust the Antenna to its final position by turning it up to 90°.
+
+.CM4 and CM5 Antenna assembly diagram
+image::images/cm4-cm5-antenna-assembly.svg[alt="CM4 and CM5 antenna assembly diagram", width="60%"]
+
+To **use** the Antenna with your Compute Module, add a `dtoverlay` instruction in xref:../computers/config_txt.adoc[`/boot/firmware/config.txt`]. Add the following line to the end of `config.txt`:
+
+[source,ini]
+----
+dtparam=ant2
+----
+
+.CM4 and CM5 Antenna physical specification
+image::images/cm4-cm5-antenna-physical.png[alt="CM4 and CM5 antenna physical specification", width="80%"]
+
+=== Cooler
+
+The CM5 Cooler helps dissipate heat from your CM5, improving CPU performance, longevity, and bumpiness.
+
+.CM5 Cooler
+image::images/cm5-cooler.jpg[alt="CM5 Cooler", width="60%"]
+
+To mount the Cooler to your CM5, attach the thermally conductive silicone at the bottom of the Cooler to the top of your CM5. Align the cut-out in the heatsink with the antenna https://en.wikipedia.org/wiki/Hirose_U.FL[U.FL connector]. As the CM5 heats during use, the silicone will gradually attach more securely to the heat sinks on the CM5.
+
+.CM5 Cooler physical specification
+image::images/cm5-cooler-physical.png[alt="CM5 Cooler physical specification", width="80%"]
+
+NOTE: The CM5 Cooler is only compatible with the CM5IO Case if you remove the fan from the case.
diff --git a/documentation/asciidoc/computers/raspberry-pi/images/compute-module-5.png b/documentation/asciidoc/computers/raspberry-pi/images/compute-module-5.png
new file mode 100644
index 0000000000..8e6dab57db
Binary files /dev/null and b/documentation/asciidoc/computers/raspberry-pi/images/compute-module-5.png differ
diff --git a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc
index 8714c20659..e92e813e25 100644
--- a/documentation/asciidoc/computers/raspberry-pi/introduction.adoc
+++ b/documentation/asciidoc/computers/raspberry-pi/introduction.adoc
@@ -27,12 +27,12 @@ a|
512MB | 26-pin GPIO header
a|
* HDMI
-* 2 × USB 2.0
+* 2× USB 2.0
* CSI camera port
* DSI display port
* 3.5mm audio jack
* RCA composite video
-* Ethernet (100Mb/s)
+* 100Mb/s Ethernet RJ45 with PoE support
* SD card slot
* micro USB power
^.^a|
@@ -54,11 +54,11 @@ image::images/model-b-plus.jpg[alt="Raspberry Pi Model B+"]
| xref:processors.adoc#bcm2835[BCM2835] | 512MB | 40-pin GPIO header
a|
* HDMI
-* 4 × USB 2.0
+* 4× USB 2.0
* CSI camera port
* DSI display port
* 3.5mm AV jack
-* Ethernet (100Mb/s)
+* 100Mb/s Ethernet RJ45 with PoE support
* microSD card slot
* micro USB power
^.^a|
@@ -83,11 +83,11 @@ image::images/2-model-b.jpg[alt="Raspberry Pi 2 Model B"]
| xref:processors.adoc#bcm2836[BCM2836] (in version 1.2, switched to xref:processors.adoc#bcm2837[BCM2837]) | 1 GB | 40-pin GPIO header
a|
* HDMI
-* 4 × USB 2.0
+* 4× USB 2.0
* CSI camera port
* DSI display port
* 3.5mm AV jack
-* Ethernet (100Mb/s)
+* 100Mb/s Ethernet RJ45 with PoE support
* microSD card slot
* micro USB power
^.^a|
@@ -96,11 +96,11 @@ image::images/3-model-b.jpg[alt="Raspberry Pi 3 Model B"]
| xref:processors.adoc#bcm2837[BCM2837] | 1 GB | 40-pin GPIO header
a|
* HDMI
-* 4 × USB 2.0
+* 4× USB 2.0
* CSI camera port
* DSI display port
* 3.5mm AV jack
-* Ethernet (100Mb/s)
+* 100Mb/s Ethernet RJ45 with PoE support
* 2.4GHz single-band 802.11n Wi-Fi (35Mb/s)
* Bluetooth 4.1, Bluetooth Low Energy (BLE)
* microSD card slot
@@ -111,11 +111,11 @@ image::images/3-model-b-plus.jpg[alt="Raspberry Pi 3 Model B+"]
| xref:processors.adoc#bcm2837b0[BCM2837b0] | 1GB | 40-pin GPIO header
a|
* HDMI
-* 4 × USB 2.0
+* 4× USB 2.0
* CSI camera port
* DSI display port
* 3.5mm AV jack
-* PoE-capable Ethernet (300Mb/s)
+* 300Mb/s Ethernet RJ45 with PoE support
* 2.4/5GHz dual-band 802.11ac Wi-Fi (100Mb/s)
* Bluetooth 4.2, Bluetooth Low Energy (BLE)
* microSD card slot
@@ -147,13 +147,13 @@ a|
8GB | 40-pin GPIO header
a|
-* 2 × micro HDMI
-* 2 × USB 2.0
-* 2 × USB 3.0
+* 2× micro HDMI
+* 2× USB 2.0
+* 2× USB 3.0
* CSI camera port
* DSI display port
* 3.5mm AV jack
-* PoE-capable Gigabit Ethernet (1Gb/s)
+* Gigabit (1Gb/s) Ethernet RJ45 with PoE support
* 2.4/5GHz dual-band 802.11ac Wi-Fi (120Mb/s)
* Bluetooth 5, Bluetooth Low Energy (BLE)
* microSD card slot
@@ -163,10 +163,10 @@ a|
image::images/400.jpg[alt="Raspberry Pi 400"]
| xref:processors.adoc#bcm2711[BCM2711] | 4GB | 40-pin GPIO header
a|
-* 2 × micro HDMI
+* 2× micro HDMI
* USB 2.0
-* 2 × USB 3.0
-* Gigabit Ethernet (1Gb/s)
+* 2× USB 3.0
+* Gigabit (1Gb/s) Ethernet RJ45
* 2.4/5GHz dual-band 802.11ac Wi-Fi (120Mb/s)
* Bluetooth 5, Bluetooth Low Energy (BLE)
* microSD card slot
@@ -182,15 +182,15 @@ a|
8GB | 40-pin GPIO header
a|
-* 2 × micro HDMI
-* 2 × USB 2.0
-* 2 × USB 3.0
-* 2 × CSI camera/DSI display ports
+* 2× micro HDMI
+* 2× USB 2.0
+* 2× USB 3.0
+* 2× CSI/DSI combined camera/display ports
* single-lane https://datasheets.raspberrypi.com/pcie/pcie-connector-standard.pdf[PCIe FFC connector]
* https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf[UART connector]
* RTC battery connector
* xref:raspberry-pi.adoc#raspberry-pi-5-fan-connector-pinout[four-pin JST-SH PWM fan connector]
-* PoE+-capable Gigabit Ethernet (1Gb/s)
+* Gigabit (1Gb/s) Ethernet RJ45 with PoE+ support
* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s)
* Bluetooth 5, Bluetooth Low Energy (BLE)
* microSD card slot
@@ -208,7 +208,7 @@ All Zero models have the following connectivity:
* a microSD card slot
* a CSI camera port (version 1.3 of the original Zero introduced this port)
* a mini HDMI port
-* 2 × micro USB ports (one for input power, one for external devices)
+* 2× micro USB ports (one for input power, one for external devices)
[cols="3a,1,1,1,2"]
|===
@@ -325,9 +325,34 @@ a| optional:
* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s)
* Bluetooth 5, Bluetooth Low Energy (BLE)
+^.^a|
+.Raspberry Pi Compute Module 5
+image::images/compute-module-5.png[alt="Raspberry Pi Compute Module 5"]
+| xref:processors.adoc#bcm2712[BCM2712]
+a|
+2GB
+
+4GB
+
+8GB
+
+16GB
+a|
+0GB (Lite)
+
+16GB
+
+32GB
+
+64GB
+| dual 100-pin high density connectors
+a| optional:
+
+* 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s)
+* Bluetooth 5, Bluetooth Low Energy (BLE)
|===
-NOTE: Several Compute Modules use the physical DDR2 SO-DIMM form factor, but are not compatible with DDR2 SO-DIMM electrical specifications.
+NOTE: Compute Modules that use the physical DDR2 SO-DIMM form factor are *not* compatible with DDR2 SO-DIMM electrical specifications.
For more information about Raspberry Pi Compute Modules, see xref:../computers/compute-module.adoc[the Compute Module documentation].