CB2¶
Product Profile¶
The BIGTREETECH CB2, compatible with the Raspberry Pi CM4 form factor, uses two 100-pin high-speed board-to-board (BTB) connectors for easy and quick connection with external expansion baseboards. It offers an alternative with similar IO capabilities, including Micro HDMI, USB, Gigabit Ethernet, DSI, and CSI outputs. Additionally, it features 2.4G and 5G WiFi, Bluetooth 5.2, the Rockchip RK3566 SoC, 2GB LPDDR4 RAM, and 32GB eMMC storage.
Product Link: https://biqu.equipment/products/bigtreetech-pi-2-cb2?variant=41018191839330
Features Highlights¶
- CPU: Rockchip RK3566, quad-core Cortex-A55 @1.8GHz
- GPU: Mali-G52 1-Core-2EE
- NPU: 0.8 TOPS NPU
- RAM: 2GB/4GB LPDDR4
- Onboard EMMC
- MIPI DSI display support
- Dual-lane MIPI CSI-2 Camera Interface
- 3x USB 2.0 ports, 1x USB 3.0 port
- PCIe 2.1 1x1 Lane
- Gigabit Ethernet +433Mbps WiFi+BT5.0
- 40-pin GPIO
- BTB socket that is completely identical to the one on the Raspberry Pi CM4
Specifications¶
Dimensions | 40mm x 55mm |
---|---|
Mounting Dimensions | 33mm x 48mm |
Input Voltage | 5V±5%/2A |
Output Voltage | 3.3V±2%/100mA |
Output Voltage | 1.8V±2%/100mA |
WiFi | 2.4G/5G, 802.11 ac/a/b/g/n/ wireless standards |
Dimensions¶
Peripheral Interface¶
Pin Description¶
PIN | Connector | Signal | Description |
---|---|---|---|
1 | A connector_01 | GND | |
2 | A connector_02 | GND | |
3 | A connector_03 | GBIT_MDI3_P | |
4 | A connector_04 | GBIT_MDI1_P | |
5 | A connector_05 | GBIT_MDI3_N | |
6 | A connector_06 | GBIT_MDI1_N | |
7 | A connector_07 | GND | |
8 | A connector_08 | GND | |
9 | A connector_09 | GBIT_MDI2_N | |
10 | A connector_10 | GBIT_MDI0_N | |
11 | A connector_11 | GBIT_MDI2_P | |
12 | A connector_12 | GBIT_MDI0_P | |
13 | A connector_13 | GND | |
14 | A connector_14 | GND | |
15 | A connector_15 | 1000M_LED | |
16 | A connector_16 | CAMERAB_PDN_L | |
17 | A connector_17 | 100M_LED | |
18 | A connector_18 | SPDIF_TX_M2 | |
19 | A connector_19 | PWM3_IR | |
20 | A connector_20 | NC | |
21 | A connector_21 | WORKING_LEDEN_H | |
22 | A connector_22 | GND | |
23 | A connector_23 | GND | |
24 | A connector_24 | GPIO0_C3 | |
25 | A connector_25 | GPIO4_C2 | |
26 | A connector_26 | GPIO4_C5 | |
27 | A connector_27 | GPIO4_C3 | |
28 | A connector_28 | GPIO0_C0 | |
29 | A connector_29 | GPIO0_A0 | |
30 | A connector_30 | GPIO3_D7 | |
31 | A connector_31 | GPIO0_C1 | |
32 | A connector_32 | GND | |
33 | A connector_33 | GND | |
34 | A connector_34 | NC | |
35 | A connector_35 | GPIO0_B3 | |
36 | A connector_36 | GPIO0_B4 | |
37 | A connector_37 | GPIO0_A6 | |
38 | A connector_38 | GPIO3_C3 | |
39 | A connector_39 | GPIO4_A2 | |
40 | A connector_40 | GPIO3_C2 | |
41 | A connector_41 | GPIO3_C4 | |
42 | A connector_42 | GND | |
43 | A connector_43 | GND | |
44 | A connector_44 | GPIO3_C1 | |
45 | A connector_45 | GPIO4_A3 | |
46 | A connector_46 | GPIO1_A1 | |
47 | A connector_47 | GPIO4_C6 | |
48 | A connector_48 | GPIO1_A0 | |
49 | A connector_49 | GPIO0_C0 | |
50 | A connector_50 | GPIO0_C7 | |
51 | A connector_51 | GPIO0_D0 | DEBUG UART |
52 | A connector_52 | GND | |
53 | A connector_53 | GND | |
54 | A connector_54 | GPIO3_A1 | |
55 | A connector_55 | GPIO0_D1 | DEBUG UART |
56 | A connector_56 | GPIO4_B3 | |
57 | A connector_57 | SDC0-CLK | SDCARD Clock signal |
58 | A connector_58 | GPIO4_B2 | |
59 | A connector_59 | GND | |
60 | A connector_60 | GND | |
61 | A connector_61 | SDC0-D3 | SDCARD Data3 signal |
62 | A connector_62 | SDC0-CMD | SDCARD CMD signal |
63 | A connector_63 | SDC0-D0 | SDCARD Data0 signal |
64 | A connector_64 | NC | |
65 | A connector_65 | GND | |
66 | A connector_66 | GND | |
67 | A connector_67 | SDC0-D1 | SDCARD Data1 signal |
68 | A connector_68 | NC | |
69 | A connector_69 | SDC0-D2 | SDCARD Data2 signal |
70 | A connector_70 | NC | |
71 | A connector_71 | GND | |
72 | A connector_72 | NC | |
73 | A connector_73 | GPIO0_B5 | |
74 | A connector_74 | GND | |
75 | A connector_75 | GPIO3_D2 | |
76 | A connector_76 | GPIO3_D3 | SDCARD detect |
77 | A connector_77 | VCC_5V | 5V IN /2A |
78 | A connector_78 | NC | |
79 | A connector_79 | VCC_5V | 5V IN /2A |
80 | A connector_80 | GPIO4_B5 | |
81 | A connector_81 | VCC_5V | 5V IN /2A |
82 | A connector_82 | GPIO4_B4 | |
83 | A connector_83 | VCC_5V | 5V IN /2A |
84 | A connector_84 | 3V3 | 3.3v out /200mA |
85 | A connector_85 | VCC_5V | 5V IN /2A |
86 | A connector_86 | 3V3 | 3.3v out /200mA |
87 | A connector_87 | VCC_5V | 5V IN /2A |
88 | A connector_88 | 1V8 | 1.8v out /100mA |
89 | A connector_89 | GPIO3_B4 | |
90 | A connector_90 | 1V8 | 1.8v out /100mA |
91 | A connector_91 | NC | |
92 | A connector_92 | PWRON | |
93 | A connector_93 | RECOVERY | |
94 | A connector_94 | NC | |
95 | A connector_95 | GPIO4_A1 | |
96 | A connector_96 | NC | |
97 | A connector_97 | GPIO4_A5 | |
98 | A connector_98 | GND |
99 | A connector_99 | PMIC_PWRON | |
---|---|---|---|
100 | A connector_100 | AP-RESET | |
101 | B connector_1 | USB_OTG0_ID | |
102 | B connector_2 | PCIE20_CLKREQn_M 2 | |
103 | B connector_3 | USB_OTG0_DM | |
104 | B connector_4 | LINEOUTL | |
105 | B connector_5 | USB_OTG0_DP | |
106 | B connector_6 | LINEOUTR | |
107 | B connector_7 | GND | |
108 | B connector_8 | GND | |
109 | B connector_9 | PCIE20_PERSTn_M2 | |
110 | B connector_10 | PCIE20_REFCLKP | |
111 | B connector_11 | GPIO4_B0 | |
112 | B connector_12 | PCIE20_REFCLKN | |
113 | B connector_13 | GND | |
114 | B connector_14 | GND | |
115 | B connector_15 | MIPI_CSI_RX_D0N | |
116 | B connector_16 | PCIE20_RXP | |
117 | B connector_17 | MIPI_CSI_RX_D0P | |
118 | B connector_18 | PCIE20_RXN | |
119 | B connector_19 | GND | |
120 | B connector_20 | GND | |
121 | B connector_21 | MIPI_CSI_RX_D1N | |
122 | B connector_22 | PCIE20_TXP | |
123 | B connector_23 | MIPI_CSI_RX_D1P | |
124 | B connector_24 | PCIE20_TXN | |
125 | B connector_25 | GND | |
126 | B connector_26 | GND | |
127 | B connector_27 | MIPI_CSI_RX_CLK0N | |
128 | B connector_28 | USB3-DM | |
129 | B connector_29 | MIPI_CSI_RX_CLK0P | |
130 | B connector_30 | USB3-DP | |
131 | B connector_31 | GND | |
132 | B connector_32 | GND | |
133 | B connector_33 | MIPI_CSI_RX_D2N | |
134 | B connector_34 | MIC1_IN | |
135 | B connector_35 | MIPI_CSI_RX_D2P | |
136 | B connector_36 | MIC2_IN | |
137 | B connector_37 | GND | |
138 | B connector_38 | GND | |
139 | B connector_39 | MIPI_CSI_RX_D3N | |
140 | B connector_40 | MIPI_CSI_RX_CLK1N | |
141 | B connector_41 | MIPI_CSI_RX_D3P | |
142 | B connector_42 | MIPI_CSI_RX_CLK1P | |
143 | B connector_43 | GPIO4_A7 | |
144 | B connector_44 | GND | |
145 | B connector_45 | HP_SNS | |
146 | B connector_46 | USB2_HOST2_DP | |
147 | B connector_47 | HP_DET_L | |
148 | B connector_48 | USB2_HOST2_DM | |
149 | B connector_49 | SARADC_VIN2 | |
150 | B connector_50 | GND | |
151 | B connector_51 | HCEC | HDMI CEC |
152 | B connector_52 | USB3_HOST1_DP | |
153 | B connector_53 | HHPD | HDMI Hotplug |
154 | B connector_54 | USB3_HOST1_DM | |
155 | B connector_55 | GND | |
156 | B connector_56 | GND | |
157 | B connector_57 | MIPI_DSI_TX0_D0N | |
158 | B connector_58 | USB3_HOST1_SSTXP | |
159 | B connector_59 | MIPI_DSI_TX0_D0P | |
160 | B connector_60 | USB3_HOST1_SSTXN | |
161 | B connector_61 | GND | |
162 | B connector_62 | GND | |
163 | B connector_63 | MIPI_DSI_TX0_D1N | |
164 | B connector_64 | USB3_HOST1_SSRXP | |
165 | B connector_65 | MIPI_DSI_TX0_D1P | |
166 | B connector_66 | USB3_HOST1_SSRXN | |
167 | B connector_67 | GND | |
168 | B connector_68 | GND | |
169 | B connector_69 | MIPI_DSI_TX0_CLKN | |
170 | B connector_70 | HTX2P | HDMI TX2 Positive. |
171 | B connector_71 | MIPI_DSI_TX0_CLKP | |
172 | B connector_72 | HTX2N | HDMI TX2 Negative. |
173 | B connector_73 | GND | |
174 | B connector_74 | GND | |
175 | B connector_75 | MIPI_DSI_TX1_D0N | |
176 | B connector_76 | HTX1P | HDMI TX1 Positive. |
177 | B connector_77 | MIPI_DSI_TX1_D0P | |
178 | B connector_78 | HTX1N | HDMI TX1 Negative. |
179 | B connector_79 | GND | |
180 | B connector_80 | GND | |
181 | B connector_81 | MIPI_DSI_TX1_D1N | |
182 | B connector_82 | HTX0P | HDMI TX0 Positive. |
183 | B connector_83 | MIPI_DSI_TX1_D1P | |
184 | B connector_84 | HTX0N | HDMI TX0 Negative. |
185 | B connector_85 | GND | |
186 | B connector_86 | GND | |
187 | B connector_87 | MIPI_DSI_TX1_CLKN | |
188 | B connector_88 | HTXCP | HDMI CLK Positive. |
189 | B connector_89 | MIPI_DSI_TX1_CLKP | |
190 | B connector_90 | HTXCN | HDMI CLK Negative. |
191 | B connector_91 | GND | |
192 | B connector_92 | GND | |
193 | B connector_93 | MIPI_DSI_TX1_D2N | |
194 | B connector_94 | MIPI_DSI_TX1_D3N | |
195 | B connector_95 | MIPI_DSI_TX1_D2P | |
196 | B connector_96 | MIPI_DSI_TX1_D3P | |
197 | B connector_97 | GND |
198 | B connector_97 | GND | |
---|---|---|---|
199 | B connector_99 | HSDA | HDMI I2C |
200 | B connector_100 | HSCL | HDMI I2C |
Interface Introduction¶
SW1 Button Explanation¶
The EMMC will not start when holding the SW1 button for 3 seconds while powering up. Releasing the button allows for programming the EMMC using the RKDevTool.
40 pin GPIO¶
The calculation method for GPIO pins is as follows:
GPIO4_B2 = (GPIO4 - GPIO0) * 32 + (‘B’ - ‘A’) * 8 + 2 = 4 * 32 + 1 * 8 + 2 = gpio138
GPIO3_D7 = (GPIO3 - GPIO0) * 32 + (‘D’ - ‘A’) * 8 + 7 = 3 * 32 + 3 * 8 + 7 = gpio127
Flashing the System¶
Download the System Image¶
Only use the image provided in the link: https://github.com/bigtreetech/CB2/releases
Write System to MicroSD Card¶
1、Download the balenaEtcher software from [https://www.balena.io/etcher/], install, and run it.
2、Insert the MicroSD card via a card reader.
3、Select your downloaded image.
4、Select the MicroSD card and click "Flash" (WRITE the image will format the MicroSD card. Be careful not to select the wrong storage device, otherwise the data will be formatted).
5、Wait for the process to complete.
Writing System onto eMMC¶
Using RKDevTool to Write the eMMC (Windows)
Download and unzip RKDevTool from the GitHub repository (https://github.com/bigtreetech/CB2) to your computer. DO NOT insert a MicroSD card.
1、Turn the DIP switch 4 (USBOTG) and 3 (RPIBOOT) to the ON position to enter BOOT mode.
2、Then, connect the Type-C cable to the computer.
3、Install the driver:
① In “Device Manager”, if you see “Unknown Device”, it indicates that the computer is missing drivers.
② Open the DriverAssistant tool in the downloaded RKDevTool folder, click “①Uninstall Driver”, then click “② Install Driver” to ensure that the latest version of the driver is installed.
③After the installation is complete, hold down the “Recovery” button, replug the Type-C cable. "Device Manager" should now recognize a “Rockusb Device”, indicating that the driver installation is successful.
④Open the “RKDevTool” software:
Note: The parameters in the software are set by default as shown in the image. Normally, you only need to set the “④ actual path of the .img system”. If the parameters in your software do not match those in the image, manually adjust them to match.
①Find the path where the downloaded RKDevTool is located.
②Open the RKDevTool tool.
③The software will recognize a “LOADER” or “MASKROOM” device.
④Select the system to be written (the OS image must be unzipped as a .img file beforehand; RKDevTool does not support directly writing compressed .xz files).
⑤Check “Write by Address”.
⑥Click “Run” to start writting the system.
⑦“Download image OK” indicates that the system has been successfully burned.
5、After writing is complete, toggle the USB OTG switch to the OFF position to boot normally. Note: Files on the eMMC cannot be accessed by the computer like those on a MicroSD card, so you cannot modify the system.cfg configuration file to set up the WiFi network. Instead, use an Ethernet cable or USB-to-UART connection to configure the terminal.
Writing System onto eMMC Using a MicroSD Card¶
1、First, write the system onto the MicroSD card. Then, insert the MicroSD card into the motherboard's card slot and wait for the system to boot.
2、Connect to the system terminal via Ethernet cable, WiFi, or USB to UART, and log in to the system.
login: biqu
password: biqu
Execute the command sudo nand-sata-install. In the interface that pops up, select "2
Boot From eMMC - system on eMMC" and then select "OK"
①Select "Yes" to start erasing and writing the system onto the eMMC.
②Choose the filesystem "1 ext4" and then select "OK".
③Wait for the writing process to complete.
④Upon completion, you will be prompted whether to power off. Select “Power off” to shut down the system.
⑤After the system has powered down, disconnect the power supply, remove the MicroSD card, and then reconnect power. The system should now boot from the eMMC.
Erasing eMMC¶
When using a MicroSD card as the system card instead, it's best to erase the data on the eMMC to prevent the motherboard from booting from it by mistake.
Using RKDevTool to Erase eMMC (Windows)¶
1、Refer to the steps in "4.3.1 Using RKDevTool to Write the eMMC (Windows)" to connect the motherboard to the computer.
2、Open the "RKDevTool".
①Find the path where the downloaded RKDevTool is located.
②Open the RKDevTool.
③The software will recognize a "LOADER" device. If it recognizes "MASKROOM," it indicates there is no data in the eMMC, hence no erase operation is necessary.
④Click "Advanced Function."
⑤Click "EraseAll" to begin erasing data from the eMMC.
⑥"Erasing sectors success" indicates the erasure is complete.
Erasing eMMC After Booting from MicroSD Card¶
1、Refer to the steps in "4.3.2 Writing System onto eMMC Using a MicroSD Card" and log into the system terminal.
2、Run the command sudo mkfs /dev/mmcblk1 and then enter "y" to confirm.
System Configuration¶
Using Ethernet¶
Ethernet is plug-and-play and requires no additional setup.
Setting Up WiFi¶
After the system image has been written, the MicroSD card will have a FAT32 partition recognized by the computer. In this partition, there is a "system.cfg" file. Open it and replace "Your SSID" with your actual WiFi name and "Your Password" with the actual password.
Configuring Overlays¶
Open the "armbianEnv.txt" file in the BOOT partition and set the values for overlays. The configuration file supports only one line of overlays at a time; if multiple overlays are enabled, only the last line will take effect. If you need multiple overlays, place the contents of multiple configurations on the same line separated by a space. For example, if you need to use a DSI screen, MCP2515 SPI to CAN module, and I2C1 simultaneously:
overlays=dsi mcp2515 i2c1
Configuring the Display¶
1、Open the "armbianEnv.txt" file in the BOOT partition.
2、The default overlay is set to "hdmi," meaning the system uses an HDMI screen by default. This can be changed to match the actual screen being used, such as:
· "hdmi": HDMI screen
· "dsi": DSI screen
· "tft_35": SPI Screen
·
For "tft_35", there is also a "tft35_spi_rotate" parameter for system-level screen rotation, with default "0" meaning no rotation, other options include "90", "180", "270".
Note: Only one screen type can be used at a time.
3、To configure KlipperScreen, open the system.cfg
file in the BOOT partition. Set the screen type with the parameter ks_src
, and the rotation angle with ks_angle
.
Using SPI to CAN¶
Open the "armbianEnv.txt" file in the BOOT partition and add "mcp2515" to the overlays configuration.
Using CSI Camera and Crowsnest Configuration¶
For both RPi v1.3 ov5647 and RPi v2 imx219 cameras, no specific configuration in "armbianEnv.txt" is required as they are plug-and-play. "crowsnest.conf" file configuration is as follows:
device: /dev/video0 # The CSI camera node is fixed as video0
custom_flags: --format=UYVY # The current system's CSI camera does not support the default YUYV, so it needs to be set to the supported UYVY format.
Using Bluetooth¶
1、To scan for Bluetooth devices, enter the following command, and a list of Bluetooth devices will appear as shown below:
bluetoothctl --timeout 15 scan on
2、Find your Bluetooth device, for example, if your device name is "HONOR xSport PRO", locate the corresponding Bluetooth MAC ID as shown below.
3、To connect to a Bluetooth device, enter the following command, connection success is shown as below
bluetoothctl connect E0:9D:FA:50:CD:4F
①If there's an issue while connecting, as shown below, please restart the Bluetooth device and repeat steps 1 and 2 to connect.
②If there's an issue while connecting, as shown below, please enter the following commands and then repeat steps 1 and 2:
bluetoothctl remove E0:9D:FA:50:CD:4F (Your Bluetooth device's corresponding MAC ID)
rfkill block bluetooth
sleep 3s
rfkill unblock bluetooth
pulseaudio -k
pulseaudio –start
4、 If you exit voice playback during the use of Bluetooth and cannot reuse it, manually delete the corresponding playback process. Use the ps command to view the process number, then use kill -9 process_number to delete the corresponding playback process.
Setting up 3.5mm Headphones Port¶
1、Enter the command: aplay -l
Check for the corresponding sound card, as shown in the image (the sound card for the headphone port shown in the image corresponds to card 0).
2、Enter the command:
amixer -c 0 contents(0 represents the card 0 found in the previous aplay -l command)
Check the settings for playback and recording channels, as shown in the image.
3、Enter the command:
amixer -c 0 cset numid=1 3
Set the playback channel, as shown in the image.
4、Enter the command:
amixer -c 0 cset numid=2 1
Set the recording channel, as shown in the image.
5、Enter the following command to play audio, with the audio file directory xxx and the audio file name xxxxx.wav:
aplay -D plughw:0,0 /xxx/xxxxx.wav
6、Enter the following command to record (where 10 represents recording for 10 seconds), storing the recording in directory xxx, file name xxxx.wav:
sudo arecord -Dhw:0,0 -d 10 -f cd -r 44100 -c 2 -t wav /xxx/xxxx.wav
7、Enter the following command to play the recording:
aplay -D plughw:0,0 /xxx/xxxx.wav
SSH Connect to Device¶
1、Install the SSH software Mobaxterm: https://mobaxterm.mobatek.net/download-home-edition.html
2、After powering on, wait for the system to boot, which typically takes about 1 to 2 minutes.
3、Once the device is connected to WiFi or an Ethernet cable is plugged in, it will automatically be assigned an IP address.
4、Access the router management interface to find the device's IP (it should be BTT-CB2 here).
5、Open Mobaxterm and click "Session", and click "SSH", inset the device IP into Remote host and click "OK" (Note: your computer and the device needs to be in the same network).
6、Login as: biqu password: biqu
Precautions¶
1、About 10 seconds after powering on, the system enters the kernel phase. At this time, the blue light stays on, and the green light flashes continuously, indicating that the system is running normally.
2、Root administrator:
Login: root
Password: root
BIQU user:
Login: biqu
Password: biqu
3、The PCIe M.2 interface does not support hot-plugging; the solid-state drive must be connected in advance for the device to be recognized.
4、When booting from eMMC, do not insert a MicroSD card. When booting from a MicroSD card, it is necessary to erase the data in the eMMC.
Navigation:
BIQU Official Website: http://biqu3d.com
BIGTREETECH Official Website: http://bigtree-tech.com
Online Store: https://biqu.equipment
BIGTREETECH Official Group: https://www.facebook.com/groups/bigtreetech
Discord: https://discord.gg/hhZsV7zk