CANBed FD - Arduino CAN-FD Development Kit

Introduction

CAN Bus is a common industrial bus because of its long travel distance, medium communication speed and high reliability. It is commonly found on modern machine tools, such as an automotive diagnostic bus.

This CANBed-FD adopts MCP2517FD CAN Bus controller with SPI interface and MCP2542FD CAN transceiver to achieve the CAN-BUS capability. With an OBD-II converter cable added on and the OBD-II library imported, you are ready to build an onboard diagnostic device.

What's more, the is an Atmega32U4 with Arduino Leonardo bootloader on the board, you can use Arduino IDE to program the board easily.

CAN BUS PRODUCTS LIST OF LONGAN LABS

We have made a lot of can bus products, you can get more information through the following list, so as to choose a product suitable for you.

PRODUCT NAME LINK PRICE MCU CHIP PROTOCOL
Serial CAN Bus Module LINK $14.9 ATMEGA168PA MCP2515 CAN2.0
OBD-II CAN Bus Dev Kit LINK $17.9 ATMEGA168PA MCP2515 CAN2.0
OBD-II CAN Bus GPS Dev Kit LINK $29.9 ATMEGA32U4 MCP2515 CAN2.0
OBD-II CAN Bus Basic Dev Kit LINK $19.9 ATMEGA32U4 MCP2515 CAN2.0
CANBed LINK $14.9 ATMEGA32U4 MCP2515 CAN2.0
CANBed-FD LINK $17.9 ATMEGA32U4 MCP2517FD CAN-FD
CAN-FD Shield LINK $14.9 NO MCU MCP2517FD CAN-FD
Serial CAN Bus Module Lite LINK $9.9 STM8S005 MCP2515 CAN2.0

Features

  • Work at CAN-FD and CAN 2.0
  • Industrial standard 9 pin sub-D connector or 4PIN Terminal.
  • OBD-II and CAN standard pinout selectable at sub-D connector
  • 2x4Pin Connector compatable with Grove system from Seeedstudio
  • SPI Interface up to 10 MHz
  • Power input from 7-28V

Specifications

Parameter Value
MCU Atmega32U4
(with Arduino Leonardo bootloader)
Clock Speed 16MHz
Flash Memory 32KB
SRAM 2.5KB
EERROM 1KB
Operate Voltage 7-28V
Input Interface sub-D

Hardware Overview

Part List

  • CANBed-FD PCBA
  • sub-D connector
  • 4PIN Terminal
  • 4PIN 2.0 Connector x 2
  • 9x2 2.54 Header x 1
  • 3x3 2.54 Header x 1

Pin out

1.9x2 IO Pin OUT:

The IO of Atmega32U4 is list out here.

2.Atmega32U4:

The master of the entire module, mainly used to store data on the TF card or transfer data to the computer through the type C cable. In addition, since it's arduino compatible, you can use it to implement some simple controls, such as triggering a buzzer alarm when the speed exceeds a certain value.

2.Reset Button:

Reset the on-board Atmega chip.

3.Micro USB connector for programming

4. ICSP Header for uploading bootloader

5.CAN RX/TX Indicator

6.sub-D connector or Terminal for CAN Bus

D-Sub CANbus PinOut

pin# Signal names Signal Description
1 Reserved Upgrade Path
2 CAN_L Dominant Low
3 CAN_GND Ground
4 Reserved Upgrade Path
5 CAN_SHLD Shiled, Optional
6 GND Ground,Optional
7 CAN_H Dominant High
8 Reserved Upgrade Path
9 CAN_V+ Power, Optional

7.Switch for the 120Ω terminal resistor for CAN Bus

If you use this slaver on the end of the CAN bus, you need to solder a 120Ω resister between the two pad, if not just leave them alone. For more detail about the CAN bus protocol, please refer to the NI CAN Physical Layer and Termination Guide

8.Grove connector for UART

9.Grove connector for I2C

Usage

IDE and Driver

There's Arduino leonardo bootloader in the board.

Click to get the latest Arduino IDE.

There's Arduino Leonardo driver in the folder: Arduino/drivers.

Arduino Code


We provide an Arduino library for CANBed-FD.

Note

Change the CS pin to 17.

There're many examples for the library, which is consist of,

  • CAN_20_Send - How to send a frame to CAN Bus at CAN 2.0
  • CAN_20_Recv - How to recv a frame from CAN Bus at CAN 2.0
  • CAN_FD_Send - How to send a frame to CAN Bus at CAN-FD
  • CAN_FD_Recv - How to recv a frame from CAN Bus at CAN-FD

Schematic Online Viewer

Reference