CM4-NANO-C
| ||
Overview
CM4-NANO-C (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 with an onboard camera.
Precautions
1. DO NOT hot-plug any devices except the USB and HDMI. In particular, it is forbidden to install or remove the camera with electricity.
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 interfaces 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.
Dimensions
CM4-NANO-C
Compute_Module 4
Onboard Resources
Label | Name | Description |
1 | CM4 socket | suitable for all versions of Compute Module 4 |
2 | MINI HDMI | HDMI interface, support 4K 30fps output |
3 | DSI | MIPI DSI display interface, connect with CM4 DSI1 interface |
4 | USB 2.0 interface | for connecting to all kinds of USB devices |
5 | Micro SD card slot | For inserting a Micro SD card with the system, only for Lite version |
6 | Power supply/programming interface | 5V/2A power supply, can also be used as eMMC programming interface |
7 | 40PIN GPIO Header | Easy access to various HAT modules |
8 | CAM interface | connect with IMX219-D160 |
9 | User button | User can program key function, connect to GPIO21 |
10 | 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 (booting from eMMC or SD card) |
11 | ACK Indictor | Indicate the working status of CM4 |
PWR Indicator | Indicate the power status of CM4 |
Usage Introduction
Writing Image
- According to the version of CM4 you are using, the image programming can be divided into two versions: EMMC and LITE. Please choose the version below according to your CM4 to watch.
- Write Image for Compute Module Boards eMMC version
- Write Image for Compute Module Boards Lite version
USB2.0
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:
dtoverlay=dwc2,dr_mode=host
- After saving the file, start the machine according to the normal process
USB-OTG Mode
- 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).
CSI and DSI
Configuration
- Due to CSI and DSI are disabled by default, we need to load the device tree to enable, and 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 wget https://files.waveshare.com/upload/4/41/CM4_dt_blob.7z 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.
Enable CSI Camera
- Make sure to connect the CSI camera and DSI screen in a power-off state, otherwise the equipment may be damaged.
- In addition to modifying the device tree, the CSI camera also needs to be set to enable the camera function.
Old version (buster)
1. Execute the following command to enter the Raspberry Pi configuration.
sudo raspi-config
2. Choose Interfacing Options and enter.
3. Choose Camera
4.Choose to open the camera interface.
5.The system prompts as follows:
6.Back to the main interface, select Finish.
7.Reboot the system
- Test the camera function:
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.
New version (bullseye)
1. Execute the following command to enter the Raspberry Pi configuration.
sudo raspi-config
2. Block or delete the automatic camera detection sentence.
3. Add the driver of the camera you use, here I take IMX219 as an example, and connect it to CAM0, and attach the adapter.
Model | CAM0 Set Sentence | CAM1 Set 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 |
- CM4-NANO- only uses CAM0, so just add a sentence "dtoverlay=imx219,cam0".
4. Ctrl+o to save the file and press Enter
5. Ctrl+x to exit the editor.
6. Reboot the Raspberry Pi.
sudo reboot
7. Enter the camera detection command, you can see that the camera has been checked by now.
libcamera-hello --list-cameras
8. Display the camera screen on the desktop.
libcamera-hello -t 0
7. Taking photos.
libcamera-jpeg -o test.jpg
8. Record a video of 10s.
libcamera-vid -t 10000 -o test.h264
Resources
Datasheet
Schematic
3D Graphics
Software
FAQ
This, and only this exact line in /boot/config.txt, allowed the camera to be detected:
camera_auto_detect=0 dtoverlay=imx219,i2c_vc,cam0=on
{{{5}}}
Support
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 PM GMT+8 (Monday to Friday)