The Arduino Due is the first Arduino board based on a 32-bit ARM core microcontroller. With 54 digital input/output pins, 12 analog inputs, 2 CAN ports, and 3 serial ports (UART), it is the perfect board for powerful larger scale Arduino projects.
Our main focus at Copperhill Technologies is the development of CAN Bus and SAE J1939 prototyping, and we found the Arduino Due to be the perfect solution. In terms of hardware, the Arduino Due is an ARM-based embedded system, thus providing great performance, and it comes with two Controller Area Network (CAN) ports per default. In regards to programming, the Due is supported by the easy-to-learn and easy-to-manage Arduino IDE, which includes massive support for all hardware features.
For more information on the Arduino Due, see:
https://www.arduino.cc/en/Main/ArduinoBoardDue.
CAN Bus Ports
However, in order to activate the CAN Bus ports, you will need additional hardware, i.e. the board comes with two CAN Bus controllers but it lacks the necessary CAN Bus transceivers. For more information on the topic and where to obtain the components, refer to the following references:
- ARM Cortex M3 Development Boards Require External CAN Bus Transceiver
- App Note: Testing Arduino Due With 2 CAN Bus Breakout Boards
- Arduino DUE CANShield With 2 CAN Ports
- CAN Bus Breakout Board 3.3 VDC
- CAN Bus Breakout Board 5 VDC
- CAN Bus Mini Breakout Board
In addition, see our post: In Production: Dual CAN Bus Interface For Arduino Due With Extended Power Supply Range.
Gateway Solutions
With the CAN interfaces on-board, there are a great number of possible gateway applications, most excitingly those with IoT capabilities:
- CAN-to-USB – This would be the simplest solution through the use of the so-called Native USB on the Arduino Due’s board.
- CAN-to-Ethernet – Such a gateway would require the use of the Ethernet W5100 Shield Network Expansion Board for Arduino.
- CAN-to-WiFi – Here, too, you would need an Arduino shield, for instance, the WiFi Shield by SparkFun.
- CAN-to-Bluetooth – Yet again, an Arduino Shield is required, for instance, the SeeedStudio Bluetooth Shield V2.
There is plenty of software support for all additional hardware components, and the components itself are standard off-the-shelf products.
For those who are interested in SAE J1939 applications with the Arduino Due, see our post SAE J1939 Protocol Stack Sketch For Arduino Due. In all consequence, all of the above mentioned gateway applications can also be used for SAE J1939.
We will follow up on these application ideas with actual code projects (Sketches) but also a post about CAN Bus gateway design, addressing the aspect of performance limitations when it comes to high busload. For more information, please feel free to contact us at any time.