

The CAN BUS Splitter by CubePilot (Manufacturer Part ID: CAN BUS Splitter) is a versatile device designed to divide a single Controller Area Network (CAN) bus signal into multiple outputs. This allows multiple devices to communicate seamlessly on the same CAN bus without interference. It is an essential component for expanding CAN bus networks in applications such as robotics, automotive systems, UAVs, and industrial automation.








The following table outlines the key technical details of the CubePilot CAN BUS Splitter:
| Parameter | Specification |
|---|---|
| Manufacturer | CubePilot |
| Part ID | CAN BUS Splitter |
| Input Voltage Range | 4.5V to 5.5V |
| Maximum Current | 1A (shared across all outputs) |
| Number of Outputs | 4 CAN bus outputs |
| Connector Type | JST-GH 4-pin connectors |
| Communication Protocol | CAN 2.0 |
| Operating Temperature | -40°C to 85°C |
| Dimensions | 30mm x 20mm x 10mm |
| Weight | 5g |
The CAN BUS Splitter uses JST-GH 4-pin connectors for both input and output. The pin configuration is as follows:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (4.5V to 5.5V) |
| 2 | GND | Ground |
| 3 | CAN_H | CAN bus high signal |
| 4 | CAN_L | CAN bus low signal |
Power Supply:
CAN Bus Input:
CAN Bus Outputs:
Termination Resistors:
While the CAN BUS Splitter itself does not directly interface with an Arduino UNO, it can be used in conjunction with a CAN transceiver module (e.g., MCP2515). Below is an example Arduino sketch for sending data over the CAN bus:
#include <SPI.h>
#include <mcp2515.h> // Include the MCP2515 CAN library
struct can_frame canMsg; // Define a CAN frame structure
MCP2515 mcp2515(10); // Initialize MCP2515 with CS pin 10
void setup() {
Serial.begin(9600);
// Initialize MCP2515 and set CAN speed to 500 kbps
if (mcp2515.begin(MCP_ANY, CAN_500KBPS, MCP_8MHZ) == CAN_OK) {
Serial.println("CAN BUS Initialized Successfully!");
} else {
Serial.println("Error Initializing CAN BUS!");
while (1); // Halt if initialization fails
}
mcp2515.setMode(MCP_NORMAL); // Set MCP2515 to normal mode
// Prepare a CAN message
canMsg.can_id = 0x100; // Set CAN ID
canMsg.can_dlc = 2; // Set data length (2 bytes)
canMsg.data[0] = 0x55; // First byte of data
canMsg.data[1] = 0xAA; // Second byte of data
}
void loop() {
// Send the CAN message
if (mcp2515.sendMessage(&canMsg) == CAN_OK) {
Serial.println("Message Sent Successfully!");
} else {
Serial.println("Error Sending Message!");
}
delay(1000); // Wait 1 second before sending the next message
}
No Communication Between Devices:
Signal Interference or Noise:
Power Supply Issues:
Devices Not Responding:
Q: Can I use the CAN BUS Splitter with devices that use different CAN speeds?
A: No, all devices on the CAN bus must operate at the same baud rate for proper communication.
Q: Does the CAN BUS Splitter provide power to connected devices?
A: No, the splitter only distributes the CAN signals. Connected devices must be powered separately.
Q: Can I daisy-chain multiple CAN BUS Splitters?
A: Yes, you can daisy-chain splitters to expand the network, but ensure proper termination and avoid exceeding the maximum bus length.
Q: Is the CAN BUS Splitter compatible with CAN FD?
A: No, the splitter is designed for the CAN 2.0 protocol and does not support CAN FD.