From Waveshare Wiki
Jump to: navigation, search







CM4-NANO-B (Raspberry Pi CM4 Ultra Mini Expansion Board Type B) is a baseboard that can be used with Raspberry Pi Compute Module 4. Although it is tiny, it can bring out the interface of Raspberry Pi Compute Module 4.


1. DO NOT hot-plug any devices except the USB and HDMI.
2. As the module does not have any protection, please do not short-circuit the power supply.
3. The USB Type-C interface can be used as a power supply or as a USB SLAVE interface to program the image.
4. In order to ensure the normal power supply of the CM4, please do not connect other devices when using the USB Type-C interface to program the image.
5. Providing 5V 2A for CM4 to ensure that it is in normal use. Otherwise, there may be problems such as automatic shutdown, frequency reduction, and so on.
6. The USB2.0, CSI and DSI and Audio interface are disabled by default and need to be enabled by the user.
7. The user key is connected to GPIO21 and pulled up to GPIO_VREF by R16 (10K). When the key is not pressed, GPIO21 is pulled high by default; when the key is pressed, the level of GPIO21 will be pulled down.




Compute_Module 4


Onboard Resources


Label Name Description
1 CM4 Socket suitable for all variants of Compute Module 4
2 Micro SD Card Slot For inserting a Micro SD card with the system, only for the Lite version
3 40PIN GPIO header Easy access to various HAT modules
4 Ethernet Port RJ45 Gigabit Ethernet port, support 10 / 100 / 1000M network access
5 Power Supply/Burning Interface 5V/2A power supply, can also be used as an eMMC programming interface
6 Audio Interface 3.5mm audio interface
7 User Button User can program key function, connect to GPIO21
8 USB2.0 Indicates the working status of the Raspberry Pi
9 CAM Interface MIPI CSI camera interface, connect with CM4 CSI0 interface
10 DSI MIPI DSI display interface, connect with CM4 DSI1 interface
11 DC Buck Circuit DC buck circuit to power 3.3V for DSI, CSI and GPIO
12 MINI HDMI HDMI interface, support 4K 30fps output
13 BOOT ON: Switch the USB to type C interface, and enter the download mode when powered on (configured as a large-capacity disk through rpi boot)

OFF: Switch the USB to TYPE A interface, it will not enter the download when powered on (start from eMMC or SD card)

Usage Introduction

Writing Image


USB enable configuration

  • The USB port is disabled by default on the CM4 to save power.
  • It is recommended to directly open the config.txt file in the boot drive letter after the programming is completed, and add the following content:
  • After saving the file, start the machine according to the normal process


  • If you use the latest Raspberry Pi OS (image after October 30, 2021) and USB2.0 is in 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).




  • Due to CSI and DSI being disabled by default, we need to load the device tree to enable, I2C-10, I2C-11, and I2C-0 will be occupied when using the CSI camera and DSI screen.
  • Enter the following command:
sudo apt-get install p7zip-full -y
7z x CM4_dt_blob.7z -O./CM4_dt_blob
sudo chmod 777 -R CM4_dt_blob
cd CM4_dt_blob/
# If using two cameras and DSI1, execute
sudo  dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts
#When using any DSI, HDMI1 has no image output, even if you do not connect the DSI screen, as long as the corresponding file is compiled, then HDMI1 will not output.
#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.

New Version System (Bullseye)

Camera Config

  1. Execute the following commands to edit the "/boot/config.txt" file.
  2. sudo nano /boot/config.txt
  3. Block or delete the camera auto-detect sentence.
  4. CM4-NANO-B02.png
  5. Add the driver of the camera you used. Here I take IMX219 as an example, connect to CAM0, and attach the adapter.
  6. CM4-NANO-B03.png
    Model CAM0 Setting Sentence CAM1 Setting Sentence
    OV9281 dtoverlay=ov9281,cam0 dtoverlay=ov9281,cam1
    IMX290/IMX327 dtoverlay=imx290,clock-frequency=37125000,cam0 dtoverlay=imx290,clock-frequency=37125000,cam1
    IMX378 dtoverlay=imx378,cam0 dtoverlay=imx378,cam1
    IMX219 dtoverlay=imx219,cam0 dtoverlay=imx219,cam1
    IMX477 dtoverlay=imx477,cam0 dtoverlay=imx477,cam1
    • If the camera you are using is the official Raspberry Pi camera and there only is one camera connected, you do not need to set up the config file.
    • CM4-NANO only uses CAM0, so you only need to add "dtoverlay=imx219,cam0".
  7. Ctrl+o to save the file and press Enter.
  8. CM4-NANO-B04.png
  9. Ctrl+x to exit the editer.
  10. Reboot CM4.
  11. sudo reboot

Test Camera

  1. Input the camera detecting commands, and you can see the camera is detected.
  2. libcamera-hello --list-cameras


  3. Display the camera pictures on the desktop:
  4. libcamera-hello -t
  5. Take a photo:
  6. libcamera-vid -t 10000 -o test.h264
  7. Record a 10s video:
  8. libcamera-vid -t 10000 -o test.h264

Old Version (Buster)

Configure Camera

  1. Execute the following command to enter the Raspberry Pi configuration.
  2. sudo raspi-config
  3. Choose Interfacing Options and enter.
  4. Interface.png
  5. Choose Camera:
  6. Camera.png
  7. Choose to open the camera interface.
  8. Camera2.png
  9. The system prompts as follows:
  10. Prompt.png
  11. Back to the main interface, select Finish.
  12. Finish.png
  13. Reboot the system.
  14. Finish2.png

    Camera Test

    • Take a photo:
    raspistill -o image.jpg
    • Test the recording function:
    raspivid -o video.h264 -t 10000
      • Where -t 10000 means recording for 10 seconds, users can adjust according to their own needs.
      • Please refer to CSI.

    Audio Jack

    • The Audio of this device uses GPIO. If you use GPIO18 and GPIO19, you need to enable it via the configuration file.

    1. Edit config.txt.

    sudo nano /boot/config.txt

    2. Add the following content at the bottom.


    3. Reboot the CM4.

    sudo reboot

    4. Enter the graphical interface, right-click the volume icon, and select AV Jack.

    • PS: When switching to the Audio interface, the audio output of HDMI will stop.




3D Graphics




No, Didn't connect out Ethernet_SYNC_OUT on CM4-NANO-B.



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)