USB to Can adapter
mpCAN-USB is a low cost small footprint USB to CAN adapter that allows connection to any CAN network, it can be flashed multiple firmwares to support different applications and platforms.
All applications are available in this link.
Features and Specifications:
Available API for LabView, C#, VB.Net, Delphi, Python (See Documentation)
Supports BUSMaster using SocketCAN Firmware (VSCOM)
Supports CAN2.0A/B, data rate up to1 Mbit/sec.
Jumper to activate/deactivate 120R Termination.
Jumper to enter bootloader mode.
Compatible with SocketCAN.
Supports candleLight gsusb.
Compatible with CAN Analyzer.
Flash new Firmware:
Download mpFlasher Tool. Link
Set the 1.27mm DFU jumper
Plug in the USB cable, both LEDs should start blinking
Once in DFU mode, the device will appear as "USB Serial Device"
If you have multiple USB Serial devices connected make sure to choose the right one
Click the "Three Dots" button to select the firmware file
Then Click flash button.
1- SocketCAN Firmware (VSCOM API):
SocketCAN is similar CANtact firmware below, but support some extra features like BUSMaster compatiblity and availability of APIs in different languages such as LabView, C#, VB.Net, Delphi, Python and more.
You need to download the right version of BUSMaster provided in the Link above. Here is how to setup the hardware. Remember to set both Acceptance Code and Mask to '00000000'.
Select VSCom CAN-API by clicking on 'Driver Selection -> VSCom CAN-API"
Then Click on 'Channel Configuration -> Advanced'
Click on 'Search for Devices on COM-Ports', the device should appear in the drop downlist or fill the right COM port number
Check the 'Hardware Timestamps' check box.
Choose the Baudrate.
Most importantly set both Acceptance Code and Mask to '00000000'.
Click 'OK', then Click the Connect button on the top left corner.
2- CANtact Firmware:
CANtact firmware is compatible with slcan-interface and can be used with socketcan and slcand with Linux. Under Windows it can be directly driven by the serial interface.
Drivers: On windows mpCAN-USB will appear as a comport (COMxx) in the devices manager. Under Linux and Mac as a USB CDC device, /dev/ttyUSBX for linux and /dev/cu.usbmodemXXXX on MacOS
Windows and Mac application:
CANtact App can be used to monitor and send packets on CAN bus. No drivers are needed just choose the right serial port and set the baud rate and it's all set.
In Linux CAN interface can be brought up using slcand.
sudo slcand -o -c -s0 /dev/ttyUSB0 can0
sudo ifconfig can0 up
sudo ifconfig can0 txqueuelen 1000
cansend can0 123#11223344 # Send a CAN frame ID:0x123 payload:0x11223344
candump can0 # Receive CAN packets on CAN0
bus = can.interface.Bus(bustype='slcan', channel='COM70', bitrate=500000) #Windows
#bus = can.interface.Bus(bustype='slcan', channel='/dev/ttyACM0', bitrate=500000) #Linux
msg = can.Message(arbitration_id=0x112233,
data=[1, 2, 3, 4, 5, 6, 7, 8],
print("Message NOT sent")
for msg in bus:
print(msg) ## Print received messages
3- candleLight Firmware:
candleLight firmware generally has a better performance than slcan. Under Windows and Ubuntu it can be used with MicroBus or Cangaroo APP.
candleLight is natively supported under linux using gs_usb driver. Just plug it in and using this command:
ip link set can0 up type can bitrate 500000
For development you can install candle-driver
cangaroo app: source
CAN-Analyzer firmware is based on slcan firmware, it also uses CDC serial interface. This firmware was ported for the sole purpose of interfacing with realdash.