Compute Module 4 POE Board

From Waveshare Wiki
Revision as of 07:17, 9 April 2021 by Eng20 (Talk | contribs)

Jump to: navigation, search
Compute Module PoE Board
Compute Module PoE Board
Compute Module Acce D

Compute Module IO Board with PoE Feature, Composite Breakout Board for Developing with Raspberry Pi CM4 / CM4L




Primary Attribute
Category: Raspberry Pi
{{{userDefinedInfo}}}: {{{userdefinedvalue}}}
Brand: Waveshare
International: Website
Chinese: 中文官网
Onboard Interfaces
Related Products


This is an IO board for evaluating the Raspberry Pi CM4 or being integrated into end products. the board feature PoE function, it can be used for all variants of CM4.


Compute_Module 4 POE Board
Compute_Module 4 核心板
Compute Module 4 IO Board 5.png

What's on board


No. Component Description
1 CM4 connector Suitable for all variants of Compute Module 4
2 DC power supply/programming interface 5V/2.5A power supply, also can be used as eMMC programming interface
3 DISP Interface MIPI DSI Display interface
4 FAN Interface Convenient access to the cooling fan, support speed regulation and speed measurement
5 CAM Interface Dual MIPI CSI camera interface
6 HDMI0 Interface HDMI Interface,Support 4K 30fps output
7 USB 2.0 Interface 2-channel USB 2.0 Interface, support various USB device insertion
8 Gigabit Ethernet RJ45 Gigabit Ethernet port, support 10/100 / 1000M network access
9 M.2 indicators Indicates the working status of the interface
10 ACT indicators Raspberry Pi operating statusindicator
11 PWR indicators Raspberry Pi power indicator
12 BOOT Jumper cap connection:CM4 USB Type C Boot
Jumper cap is not connected: eMMC and SD card Boot
13 40PIN GPIO Interface Conveniently connect various HAT modules
14 Micro SD Card interface Used to connect to the Micro SD card with system, only for Lite version
15 HDMI1 interface HDMI1 Interface,Support 4K 30fps output
16 USB 2.0 interface USB 2.0 Cable interface, connected through the adapter board
17 FE1.1S USB HUB chip, USB Interface 1 expand 4
18 Suitable for NVIE solid state drives, or communication modules that support PCIE M.2 interface
19 RTC Support RTC wake up, shutdown, restart, or other functions
20 RTC interrupt pin switch PI-RUN: RTC trigger interrupt CM4 restart
GN-EN: RTC trigger interrupt CM4 shutdown
D4: RTC trigger interrupt D4 pin trigger
21 EMC2301 Fan controller, control fan speed, measure fan speed
22 RTC Battery connector Can be connected to CR1220 button battery

Writing Image

1、 If your Compute Module 4 (CM4 hereafter) is the LITE version, you just need to write the image to Micro SD card like Raspberry Pi boards.
2、 If your use the eMMC version, you need to connect the CM4 to PC by Micro USB cable, Download the rpiboot tools and install it as administrator
3、 Download newest Raspberry Pi OS image from Raspberry Pi Website.
Compute Module 4 IO Board 3.png
If you use the eMMC version, you need to connect the CM4 to the IO board. Connect the BOOT pin of IO board to the GND . Connect USB SLAVE Interface of IO board to PC. Connect 12V power adapter to IO Board. A device named BCMxxx is recognized, and you need to run the rpiboot software, to recognized eMMC of CM4 as an portable drive.
4、 Format SD card: You need to format the MicroSD card or the eMMC by SDFormatter.exe software.
5、 Write image: You need to write the image to Micro SD card or the eMMC by Win32DiskImager.exe software. Select the image file and click “Write”. Please DO NOT format it after formatting.
6、 Booting: Insert the Micro SD card into the card slot and connect the 12V power adapter. Power indicator turn solid red and the ACT is green and blink while booting.
If you use the eMMC version, don't forget to disconnect the nRPI_BOOT J2 jumpers when powering off and reboot.
If you failed to write the eMMC, please try with the following steps:

  • User Windows PC instead of Windows 7 or Linux. It seems that Windows 7 or Linux PC is not stable for eMMC writing.
  • Check your CM4, make sure that it is the eMMC version which has one more eMMC chip compare to the LITE version..


  • Note that you need to connect 12 power adapter to the Power port.
  • Please change a USB cable for a try and make sure that the cable is data accessible.
  • Change the USB port of the PC and try it again.
  • Try to restart your PC.
  • Re-connect the CM4 for a try.
  • Try with other PCs.


To enable the I2C for Cooling fan and the RTC, you need to add the line "dtparam=i2c_vc=on" to config file
RTC is connected to i2c-10 with address 0x51(7bits)
FAN is connected to i2c-10 上 with address 0x2f(7bits)

sudo nano /boot/config.txt
#Add the following line to the end
#comment the line dtparam=audio=on
#Save and reboot
sudo reboot

RTC test

1.Download the test demo.

Open the terminal of the Raspberry Pi, enter the following command:

sudo apt-get install p7zip-full
sudo wget
7z x PCF85063_code.7z -O./
cd PCF85063_code

2.Run the demo


Execute the following commands to compile and execute the test demo:

cd c
sudo make clean
sudo make -j 8
sudo ./main

And then you can check the running result as below:

RTC PCF85063 c test.png


Enter the python/example directory:

cd python/example

And then run the python demo, the demo can support python2/3

# python2
sudo python
# python3
sudo python3

The running result as below:

RTC PCF85063 python test.png

FAN test

【Note】Please connect the fan first before connecting the power to the PoE Board to complete! Please do not connect the fan to the PoE Board when the board is powered on(the fan control chip is powered on,), otherwise, the EMC2301 chip will be damaged!

Open the terminal of the Raspberry Pi, enter the following command:

sudo apt-get install p7zip-full
sudo wget
7z x EMC2301_code.7z -O./
cd EMC2301_code


Compile and execute the test demo:

cd c
sudo make clean
sudo make -j 8
sudo ./main


Enter the python/example directory:

cd python/example

And then run the python demo, the demo can support python2/3

# python2
sudo python
# python3
sudo python3

The fan will run the variable speed test in RPM mode. Pay attention to the changes of the fan's sound. The running phenomena of the python demo are the same as the C program. The terminal will output the relevant data of the fan at the same time, as shown in the picture below:

FAN EMC2301 test.png

You can also directly control the fan speed by modifying the parameter of the demo.


CSI and DSI are disabled by default. I2C-10、I2C-11、I2C-0 should be used for Camera and DSI displays.
Open a terminal and run the following commands:

 sudo apt-get install p7zip-full
 7z x CM4_dt_blob.7z -O./CM4_dt_blob
 sudo chmod 777 -R CM4_dt_blob
 cd CM4_dt_blob/
 #If you want to use both cameras and DSI0
 sudo  dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp0-double_cam.dts
 #If you want to ue both cameras and DSI1
 sudo  dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-double_cam.dts
 #HDMI1 is disabled if you use DSI interfaces for displayin. HDMI1 cannot work even thought you just built the file without connecting DSI display, please note it.
 #If you want to enable the HDMI1, please remove the dt-blob.bin file with the command: '''sudo rm -rf /boot/dt-blob.bin'''
 #Turn off IO Board and re-power the CM4

Connect Cameras and DSI display
1: Please first disconnect power off the IP Board when connecting.
2: Use CM-DSI-ADAPTER to connect Compute Module 4 PoE Board and DSI displays
3: UseCSI adapter cable to connect Compute Module 4 PoE Board and CSI cameras.
3: Connect the power adapter
4: Wait for booting.
5: If the DSI display cannot work, please check if you have added /boot/dt-blob.bin and reboot.
6: Please enable camera by raspi-config, choose Interfacing Options->Camera->Yes->Finish-Yesand reboot


Test RPi Camera:
Test video0:

sudo raspivid -t 0 -cs 0

Test video1:

sudo raspivid -t 0 -cs 1



No. PIN Description
1 PI BOOT The pin is low when booting. This pin is connected to USB SLAVE interface.
2 EEPROM WP Set it to LOW to avoid writing EEPROM
3 IP1/0 MXL7704 AN1/0 Pin of CM4 board
4 VADC COMP Video output
5 ETH IN ETH synchronize signal
6 PI_EN Synchronize with PI_RUN signal
7 PI_GLOBAL_EN MXL7704 power enable pin of CM4, Low to disable.
8 PI_RUN CM4 status pin, high for On. Pull-down it to foruce reset the CM4
9 WIFI_EN WIFI enable pin, Low to disbale, and NC to enable.
11 BT_EN Bluetooth enable pin, Low to disable and NC to enable.

If you require technical support, please go to the Support page and open a tickets.
Retrieved from ""