From Waveshare Wiki
Jump to: navigation, search
Raspberry Pi 3 Model B+





Onboard 4-ch USB ports, Gigabit Ethernet port, headphone jack and PoE pin, Raspberry Pi CM4 To 3B Adapter is an alternative solution for Raspberry Pi 3 Model B/B+.


  • Onboard standard CM4 connector, support access to CM4 Lite / eMMc series boards with Quad Core Cortex A72 64-bit processor, more powerful performance.
  • Easily compatible with the interfaces of Raspberry Pi 3B / 3B+ boards.
  • Onboard headphone jack (extended from USB).
  • Onboard 4-ch USB ports, compatible with USB 2.0 / 1.1 transmission.
  • Onboard RJ45 Gigabit Ethernet port, 10 / 100 / 1000 M adaptive.
  • Onboard PoE header, for connecting PoE HATs.
  • DSI interface is DSI1.
  • Micro USB port is for power supply and for programming images USB SLAVE.
  • Please do not connect to other devices when programming the image by micro USB so as to ensure that CM4 can be powered on normally.
  • When using CM4, you need to provide 5V/4A to CM4. Otherwise, it may power off, lower frequency, etc.
  • USB 2.0 is close by default, if used dtoverlay=dwc2,dr_mode=host should be added in config.txt.
  • It only supports 5V fan. (12V is not supported.) Please check it before connecting the fan, and note that the speed of the 5V fan cannot be adjusted without a controller.


Compute_Module 4

Onboard Resource


Label Name Description
1 Micro USB 5V/2.5A power supply, can also be used as an eMMC programming interface
2 HDMI0 port HDMI port, supports 4K 30fps output
3 CAM Interface MIPI CSI Camera Interface
4 Audio Interface 3.5mm Headphone Audio Jack, USB Audio Solution
5 Gigabit Ethernet port RJ45 Gigabit Ethernet port, supports 10 / 100 / 1000M network access.
6 FAN port Connect to a cooling fan, does not support speed regulation and speed measurement only supports 5V fans
7 USB 2.0 interface 4-way USB 2.0 interface, support various USB device
8 POE Support POE HAT access
9 40PIN GPIO interface Easy to connect various HAT modules
10 BOOT ON: CM4 USB Type C boot boot
OFF: eMMC or SD card boot
11 DISP1 interface MIPI DSI display interface, DISP1 interface
12 LED Indicator Indicates the working status of the Raspberry Pi
13 System function switch BT_DIS: Bluetooth disabled, only for CM4 version with antenna
WiFi_DIS: WiFi disabled, only for CM4 version with antenna
WP_DIS: EEPROM write protection
14 IO-VREF selection CM4 IO logic voltage switch 3.3V or 1.8V
15 Functional pin RUN: CM4 running status pin
GL-EN: Power supply enable pin
16 CM4 Connector Applies to all versions of Compute Module 4
17 Micro SD card slot For inserting a Micro SD card with the system, only for the Lite version



Do not plug or unplug any device while it is powered on.

Writing Image


The USB port is disabled by default on the CM4 to save power. If you need to start, you need to add the following to the config.txt file:


After restarting

If you use the latest Raspberry Pi OS (image after October 30, 2021) USB2.0 is OTG mode by default, CM4 will report an error:

config failed, hub doesn't have any ports! (err -19)

However, USB can still be used. If you want to remove this error, remove otg_mode=1 in [cm4] of config.txt, and add dtoverlay=dwc2, dr_mode=host (USB cannot be recognized without adding it).
CM4 Burn EMMC 12.png


The fan uses the GPIO18 (BCM) pin to control the switch.


Configuration Files

CSI and DSI is close by default. When using the camera and DSI, I2C-10, I2C-11 and I2C-0 are occupied. Execute the following commands after starting.

  unzip -o -d ./CM4_dt_blob_Source
  sudo chmod 777 -R CM4_dt_blob_Source
  cd CM4_dt_blob_Source/
  sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts
  #If you need to restore, delete the corresponding dt-blob.bin: sudo rm -rf /boot/dt-blob.bin
  # After execution, turn off the power and restart the CM4.

Recording Test

Then connect the camera and DSI screen:
1: Please connect them when the power is off.
2: Connect to the power.
3: Wait a few seconds for the screen to start up.
4: If it fails to start, check whether /boot/dt-blob.bin exists, and restart it if it exists.

Old Version (Buster)

The camera needs to run raspi-config, select Interfacing Options -> Camera -> Yes -> Finish-Yes, reboot the system, open the enabled camera, and then restart to save the changes.

Testing the Raspberry Pi Camera:
View the camera image:

 sudo raspivid -t 0 -cs 0

New Version

If using the latest Raspberry Pi OS (Bullseye):

#The new system uses dual cameras
#Remove camera_auto_detect=1 in config.txt

#Add to

#where imx219 is the camera sensor model, and there are other sensors

#then restart

#open camera
libcamera-hello -t 0

#Other part of the command:
#Check if the camera is detected
libcamera-hello --list-cameras

#Open the corresponding camera
libcamera-hello --camera 1
libcamera-hello --camera 0

#taking photos
libcamera-jpeg -o test.jpg
#You can add --camera to specify the camera

More instructions click me
You can refer to Raspberry Pi Manual.






Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)