
This circuit features two Raspberry Pi 2B microcontrollers connected to separate CAN BUS modules, forming a CAN network for data exchange. A pushbutton is included for user interaction, interfaced with GPIO pins on both Raspberry Pis.

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.

This circuit features two Raspberry Pi 2B microcontrollers connected to separate CAN BUS modules, forming a CAN network for data exchange. A pushbutton is included for user interaction, interfaced with GPIO pins on both Raspberry Pis.

This circuit features two Arduino UNO R4 WiFi microcontrollers interfaced with NS-LS2 light sensors and CAN_SN65HVD230 CAN bus transceivers. The Arduinos are configured to read light intensity data from the NS-LS2 sensors and communicate with each other over a CAN network, likely for a distributed sensing application. Power distribution is managed with 3.3V and 5V connections to the respective components, and the ground connections are shared across the devices to complete the circuit.

This circuit integrates multiple microcontrollers (STM32F103C8T6, ESP32, and Raspberry Pi Pico W) with MCP2515 CAN controllers to facilitate CAN bus communication. The microcontrollers are connected to the MCP2515 modules via SPI interfaces, and the circuit includes USB-to-serial converters for programming and debugging purposes.

This circuit is designed to control two hub motors using a HUB driver, powered by a DC-DC converter and a power module. The USB to TTL converter allows for communication with the HUB driver, and a 5V relay module is used to switch the motors on and off.
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.