Compute Module 4 PoE Board (B)

From Waveshare Wiki
Jump to: navigation, search
Compute Module 4 PoE Board (B)
Compute Module PoE Board (B)

Raspberry Pi Compute Module 4 IO Board With PoE Feature (Type B), for all Variants of CM4




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 features the PoE function (Type B), which can be used for all variants of CM4.

Precautions for use

1: It is forbidden to unplug and plug any equipment other than USB and HDMI when power is on
2: Confirm the fan voltage before connecting. It supports 5V and 12V. The default connection is 5V. Please modify the jumper of FAN_VCC
3: Type C interface can be used for power supply or USB SLAVE interface for burning image.
4: In order to ensure the normal power supply of CM4, please do not connect other devices when using the Type C interface to burn the image.
5: When CM4 is in normal use, it needs to provide 5V 2A power supply for CM4. Otherwise, problems such as automatic shutdown, frequency reduction, etc. may occur.
6: USB2.0 is closed by default, if you need to open it, you need to add dtoverlay=dwc2,dr_mode=host


Compute_Module 4 POE Board (B)
Compute_Module 4
Compute Module 4 IO Board 5.jpg

What's on board

Compute-Module-4-PoE-Board-B-details-intro.jpg Compute-Module-4-PoE-Board-B-details-intro2.jpg

No. Component Description
1 CM4 socket Suitable for all variants of Compute Module 4
2 40PIN GPIO header ~
3 BOOT selection ON: CM4 would be booted from USB-C interface
OFF: CM4 would be booted from eMMC or Micro SD card
4 Misc functional pins ~
5 USB Type-C power supply / programming 5V/2.5A power supply,
also allows burning system image into Compute Module 4 eMMC variants
6 Status indicators ACT: Raspberry Pi operating status indicator
PWR: Raspberry Pi power indicator
7 DISP 2x MIPI DSI display port
8 CAM 2x MIPI CSI camera connectors.
9 USB2.0 ports 4x USB2.0 ports, for connecting sorts of USB devices
10 HDMI ports 2x HDMI ports, supports dual 4K 30fps output
11 RTC battery holder supports CR1220 button cell
12 FAN header for connecting cooling fan, allows speed adjustment and measurement
13 PCIe Gen 2 × 1 socket forconnecting PCIe Gen 2 × 1 modules
14 Gigabit Ethernet connector Gigabit Ethernet RJ45 with PoE support, 10/100/1000M compatible
15 DC 5V output ~
16 RS485 with 600W lightning-proof, anti-surge, and 15KV ESD protection,
reversed optional 120R balancing resistor jumper
17 RS232 with TVS diode, anti-surge, and ESD protection
18 Buzzer ~
19 FAN_VDD/PoE selection cooling fan driving voltage: 12V or 5V
PoE: enable (EN) or disable (DIS)
20 FE1.1S USB expansion chip
21 PCF52063ATL RTC chip
22 RTC/FAN I2C bus switch,
SDA0/SCL0: I2C-10 is shared with CSI/DSI
GPIO3/2: I2C-1 is shared with 40PIN header
23 IO logic level selection set the CM4 IO logic level as 3.3V or 1.8V
24 RTC interruption configuration PI-RUN: CM4 will reboot on RTC interruption
GN-EN: CM4 powerdown on RTC interruption
D4: D4 pin is triggered on RTC interruption
25 Micro SD card slot insert a Micro SD card with pre-burnt system, to start up Compute Module 4 Lite

Writing Image


The UART ports for the RS485/RS232 are disabled by default, if you want to use the RS232/RS485 interface, you need to modify the config.txt file, add the following lines to the file:

  • Command to modify:
sudo nano /boot/config.txt
  • The lines to add:


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 ""