Raspberry Pi Compute Module 4 IO Board
Colophon
© 2020-2022 Raspberry Pi Ltd (formerly Raspberry Pi (Trading) Ltd.)
The documentation around the Raspberry Pi Compute Module 4 is licensed under a Creative Commons Attribution-
NoDerivatives 4.0 International (CC BY-ND).
build-date: 2022-06-07
build-version: githash: 66d4b42-clean
Legal disclaimer notice
TECHNICAL AND RELIABILITY DATA FOR RASPBERRY PI PRODUCTS (INCLUDING DATASHEETS) AS MODIFIED FROM
TIME TO TIME (“RESOURCES”) ARE PROVIDED BY RASPBERRY PI LTD (“RPL”) "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN NO
EVENT SHALL RPL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THE RESOURCES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
RPL reserves the right to make any enhancements, improvements, corrections or any other modifications to the
RESOURCES or any products described in them at any time and without further notice.
The RESOURCES are intended for skilled users with suitable levels of design knowledge. Users are solely responsible for
their selection and use of the RESOURCES and any application of the products described in them. User agrees to
indemnify and hold RPL harmless against all liabilities, costs, damages or other losses arising out of their use of the
RESOURCES.
RPL grants users permission to use the RESOURCES solely in conjunction with the Raspberry Pi products. All other use
of the RESOURCES is prohibited. No licence is granted to any other RPL or other third party intellectual property right.
HIGH RISK ACTIVITIES. Raspberry Pi products are not designed, manufactured or intended for use in hazardous
environments requiring fail safe performance, such as in the operation of nuclear facilities, aircraft navigation or
communication systems, air traffic control, weapons systems or safety-critical applications (including life support
systems and other medical devices), in which the failure of the products could lead directly to death, personal injury or
severe physical or environmental damage (“High Risk Activities”). RPL specifically disclaims any express or implied
warranty of fitness for High Risk Activities and accepts no liability for use or inclusions of Raspberry Pi products in High
Risk Activities.
Raspberry Pi products are provided subject to RPL’s Standard Terms. RPL’s provision of the RESOURCES does not
expand or otherwise modify RPL’s Standard Terms including but not limited to the disclaimers and warranties
expressed in them.
Legal disclaimer notice
1
Raspberry Pi Compute Module 4 IO Board
Table of contents
Colophon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Legal disclaimer notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. CM4 module connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2. PSU input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Dual full-size HDMI 2.0 connectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Gigabit Ethernet RJ45. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5. USB 2.0 hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6. Micro USB connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.7. microSD card socket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.8. PCIe Gen 2 x1 socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.9. Fan connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.10. Dual DSI display connectors (22-pin 0.5mm pitch cable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.11. Dual CSI-2 camera connectors (22-pin 0.5mm pitch cable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.12. Raspberry Pi HAT connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.13. Real time clock (RTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.14. Jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.15. LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Mechanical diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4. Circuit diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Table of contents
2
Raspberry Pi Compute Module 4 IO Board
Chapter 1. Introduction
Figure 1. Render of the
Raspberry Pi Compute
Module 4 IO Board.
The Raspberry Pi Compute Module 4 IO Board (CM4IO) is designed to assist in the development of products that make
use of Raspberry Pi Compute Module 4. The Raspberry Pi Compute Module 4 IO Board contains many of the interfaces
that Raspberry Pi 4 Model B has, and for general usage you should refer to the Raspberry Pi 4 Model B documentation.
The significant difference between CM4IO and Raspberry Pi 4 Model B is the addition of a single PCIe socket. The
CM4IO has been designed as both a reference design for CM4 or to be used directly as a product with the possible
addition of PCIe Cards and Raspberry Pi HATs.
Chapter 1. Introduction
3
Raspberry Pi Compute Module 4 IO Board
Chapter 2. Features
• Accepts the complete range of CM4 modules
• External +12V PSU
• 2 × full-size HDMI 2.0 connectors
• Gigabit Ethernet RJ45 with PoE support
• 2 × USB 2 sockets, with header for two more sockets
• Micro USB socket for updating CM4
• microSD card socket for CM4Lite modules
• PCIe Gen 2 socket
• Standard fan connector
• External power connector (+5V, +12V)
• 2 × MIPI DSI display FPC connectors (22-pin 0.5mm pitch cable)
• 2 × MIPI CSI-2 camera FPC connectors (22-pin 0.5mm pitch cable)
• Raspberry Pi HAT connector
• RTC with battery socket and ability to wake up CM4
• Jumpers to disable features, e.g. wireless, EEPROM writing
2.1. CM4 module connectors
The two CM4 module connectors are positioned so the on-board wireless antenna is at the edge of the board for best
wireless performance.
2.2. PSU input
The main PSU input (J19) is a 2.1mm DC tip positive +12V input. There is an on-board +12V to +5V DC-DC converter to
power the CM4. There is also an on-board +12V to +3.3V DC-DC converter PSU which is only used for the PCIe slot. The
+12V input feeds the +12V PCIe slot, the external PSU connector and the fan connector directly. If these aren’t being
used then a wider input supply is possible (+7.5V to +28V).
With a +12V supply via the DC barrel jack, the external PSU connector (J20 with +5V and +12V) is ideal to connect to
PCIe cards that require an external PSU. You should ensure that the PSUs aren’t overloaded. The J20 mating connector
is known as "Berg" connector, part number AMP/TE Connectivity 171822-4 or similar.
The exact current required from the +12V PSU is dependent on the application and on what is connected to the
Raspberry Pi Compute Module 4 IO Board. We recommend budgeting 9W for CM4.
If you want to supply an external +5V supply to the board, e.g. via J20 or via PoE J9, then we recommend that L5 be
removed. Removing L5 will prevent the on-board +5V and +3.3V supplies from starting up and +5V coming out of the DC
jack socket (J19).
2.3. Dual full-size HDMI 2.0 connectors
CM4 does most of the interfacing required for the HDMI interface so that most signals are directly connected to the
2.1. CM4 module connectors
4
Raspberry Pi Compute Module 4 IO Board
CM4 board. HDMI connectors require a +5V supply, which is provided on the Raspberry Pi Compute Module 4 IO Board
via a current-limited switch.
2.4. Gigabit Ethernet RJ45
The Raspberry Pi Compute Module 4 IO Board uses a standard 1:1 Ethernet magjack, which supports PoE as well.
Additional ESD protection is provided on the Raspberry Pi Compute Module 4 IO Board as it is typically needed in PoE
applications. The PoE signals from the RJ45 connector are connected to J5. Typically a PoE HAT will supply +5V to the
Raspberry Pi Compute Module 4 IO Board. As a typical PoE HAT doesn’t generate a +12V power rail, PCIe expansion
cards and the fan will not function.
2.5. USB 2.0 hub
The Raspberry Pi Compute Module 4 IO Board has an on-board USB 2.0 hub. This connects to the CM4 USB 2.0 port.
Two ports from the hub are connected to a connector. The other two ports are connected to a header; this header can
be used to provide two extra internal ports.
There is an internal current limit switch to provide VBUS to the USB connectors. The current limit is set to approximately
1.2A.
The USB interface is disabled to save power by default on the CM4. To enable it you need to add the following to the
config.txt file:
dtoverlay=dwc2,dr_mode=host
2.6. Micro USB connector
The micro USB connector is designed to enable CM4 to be updated via rpiboot. When a micro USB cable is plugged in
the USB hub is automatically disabled, so the CM4 USB 2.0 port becomes a USB device.
2.7. microSD card socket
WARNING
For use only with CM4Lite modules
The microSD card socket is a push-push socket. To release the microSD card, a gentle push on the card will enable it to
be removed.
2.8. PCIe Gen 2 x1 socket
The PCIe socket is designed to take standard PC PCIe cards. You should ensure that there is a suitable OS driver for
your card.
The PCIe link on the Raspberry Pi 4 Model B is used for the USB 3.0 interface via the VLI805 XHCI controller. If the
application requires USB 3.0 interface then an external XHCI controller is required like the VLI805.
The PCIe link has been successfully used with an NVMe drive via a passive PCIe adaptor.
2.4. Gigabit Ethernet RJ45
5
Raspberry Pi Compute Module 4 IO Board
NOTE
Booting isn’t supported via a PCIe switch.
If the application uses a standard PCIe card then it might be useful to have a small PCIe adapter to rotate the PCIe card
90degress to enable a more compact case.
NOTE
The PCIe interface doesn’t support MSI-X. Typically PCIe devices will fall back to MSI.
2.9. Fan connector
This connector supports standard +12V fans with PWM drive and tacho output. An EMC2301 controls the fan via I2C.
The mating connector part number is Molex 47054-1000 or similar. The +12V power for the fan comes from the +12V
input and isn’t regulated.
TIP
To enable the I2C bus to the fan controller, you will need dtparam=i2c_vc=on set in config.txt. The fan controller will
then be on i2c-10 address 0x2f (7-bit address).
2.10. Dual DSI display connectors (22-pin 0.5mm pitch
cable)
Both DSI interfaces (2-channel and 4-channel) are brought out to separate 22-way 0.5mm pitch connectors. These
connectors are the same as on the existing CMIO board; note that they are different from Raspberry Pi 4 Model B. If the
DSI0 interface (2-channel) is used, then the two jumpers on J6 must be fitted to route the I2C bus to the connector.
2.11. Dual CSI-2 camera connectors (22-pin 0.5mm pitch
cable)
Both CSI-2 interfaces (2-channel and 4-channel) are brought out to separate 22-way 0.5mm pitch connectors. These
connectors are the same as on the existing CMIO board; note that they are different from Raspberry Pi 4 Model B. If the
CSI0 interface (2-channel) is used, then the two jumpers on J6 must be fitted to route the I2C bus to the connector.
2.12. Raspberry Pi HAT connector
The Raspberry Pi Compute Module 4 IO Board has a standard Raspberry Pi 40-way HAT connector. Mounting holes are
also provided so that standard HATs may be used.
2.13. Real time clock (RTC)
A PCF85063AT RTC is provided on the Raspberry Pi Compute Module 4 IO Board. A battery socket is provided for a
CR2032 battery. On initial setup, the CLKOUT of the RTC should be disabled to save power.
The alarm output of the RTC is used to wake CM4 from a previous shutdown. If an alarm goes off during normal
2.9. Fan connector
6
Raspberry Pi Compute Module 4 IO Board
operation, the CM4 will be reset; this can be used as a watchdog timer if required.
TIP
To enable the I2C bus to the RTC you will need dtparam=i2c_vc=on set in config.txt. The RTC then will be on i2c-10
address 0x51 (7-bit address).
2.14. Jumpers
R4/R5 Vref voltage selection
By default the Raspberry Pi Compute Module 4 IO Board sets the CM4 IO voltage to +3.3V via R5. Moving R5 to R4 sets
the IO voltage on CM4 to +1.8V. Moving the resistor requires the use of a soldering iron.
NOTE
Only one of R4 or R5 may be fitted at any one time.
NOTE
J6 CSI0 DSI0 I2C enable
For the J6 jumpers, if either CSI0 or DSI0 is used then both jumpers must be fitted to route the I2C bus to the
connectors.
Table 1. J2 jumpers
Pin
1-2
3-4
5
6
7
8
9
10
11
12
Function
nRPIBOOT - if fitted, forces USB booting; it is useful if the eMMC becomes corrupted
EEPROM_nWP - if fitted, write-protects the EEPROM on CM4
AIN0 MXL7704 - analog input; consult MXL7704 datasheet for details
AIN1 MXL7704 - analog input; consult MXL7704 datasheet for details
GND for AIN signals
SYNC_IN
SYNC_OUT
GND
TV_OUT
GND
13-14
Connect a push button to wake CM4 from low-power mode. It can’t be used to shut down CM4.
Table 2. J3 (not fitted
by default)
Pin
Function
1
2
3
WL_nDIS - when connected to ground the wireless interface will be disabled
GND - ground
BT_nDIS - when connected to ground the Bluetooth interface will be disabled
Table 3. J1 (not fitted
by default)
Pin
1
2
Function
GLOBAL_EN
GND
2.14. Jumpers
7