Site Information

 Loading... Please wait...

Programmable, Arduino-Due-Based USB Gateway With Two CAN Bus Ports

Posted by Wilfried Voss on

Programmable, Arduino-Due-Based USB Gateway With Two CAN Bus Ports

As part of our business strategy of providing prototyping solutions for the CAN Bus (including SAE J1939, ISOBUS, NMEA 2000) we have decided to focus more on the Arduino platform, specifically the Arduino Due. The Due, while providing the power of an ARM Cortex M3 processor, comes with two CAN Bus ports per default, however, lacking the necessary CAN Bus transceivers.

For that reason, we had introduced our jCOM.CAN.DUE board, a Dual CAN Bus Interface For Arduino Due With Extended Power Range. In order to more efficiently serve automotive and industrial applications, the jCOM.CAN.DUE-X board supports an extended input power range of 7 to 36 VDC to power the entire system, i.e. including the Arduino Due itself.

We are now ready for a new product release, i.e. the jCOM.DUE.CORE-B board, which connects our Dual CAN Bus interface with our Due Core - Arduino Compatible SAM3X8E 32bit ARM Cortex M3 Module as shown in the above image.

For those interested in the prototyping phase of this project, see my post Arduino DUE CORE Board With Dual CAN Bus Interface And Extended Power Supply Range.

The release is planned for end of July 2018.

In this basic version, the focus will be, as the title of this post implies, on the two CAN Bus ports and the (Native) USB port, a combination that is ideal for creating a programmable USB-to-CAN gateway. The Arduino DUE-CORE module is fully compliant with the Arduino IDE, allowing end users to use our sample code and modify it to their needs.

An upgraded baseboard will add:

  • Real-Time Clock
  • Micro SD Card
  • Breakout Board options for:
    • CAN FD
    • GPS
    • RS232/485
    • LIN Bus
    • SAE J1708/1587

For more information on the upgraded version, see my post Arduino DUE CORE Board With Dual CAN Bus Interface, Real-Time Clock, And SD Card.

However, for the time being, we will start working on the software support for this new product. The first step will be a basic USB-to-CAN Gateway sketch with the intention to gradually extend its functionality in combination with a Windows monitoring software (using Microsoft Visual Studio C#). Another application would be a CAN Bridge, that allows connecting two separate CAN Bus or SAE J1939 networks, including support for different CAN Bus baud rates and message ID mapping to prevent message collisions. 

In the meantime, if you are interested in adding a dual CAN Bus interface to the Arduino Due, have a look at the following options:

Future plans include wireless (Bluetooth, WiFi), accelerometer, magnetometer, and gyro functionality (9-DOF) to create an Arduino-based flight controller system.

Exploring Arduino: Tools and Techniques for Engineering Wizardry

Written by Arduino expert Jeremy Blum, this unique book uses the popular Arduino microcontroller platform as an instrument to teach you about topics in electrical engineering, programming, and human-computer interaction. Whether you're a budding hobbyist or an engineer, you'll benefit from the perfectly paced lessons that walk you through useful, artistic, and educational exercises that gradually get more advanced. 

In addition to specific projects, the book shares best practices in programming and design that you can apply to your own projects. Code snippets and schematics will serve as a useful reference for future projects even after you've mastered all the topics in the book.

  • Includes a number of projects that utilize different capabilities of the Arduino, while interfacing with external hardware
  • Features chapters that build upon each other, tying in concepts from previous chapters to illustrate new ones
  • Includes aspects that are accompanied by video tutorials and other multimedia content
  • Covers electrical engineering and programming concepts, interfacing with the world through analog and digital sensors, communicating with a computer and other devices, and internet connectivity
  • Explains how to combine smaller topics into more complex projects
  • Shares downloadable materials and source code for everything covered in the book
  • Projects compatible with many official Arduino boards including Arduino Uno; Arduino Leonardo; Arduino Mega 2560; Arduino Due; Arduino Nano; Arduino Mega ADK; LilyPad Arduino and may work with Arduino-compatible boards such as Freeduino and new third party certified boards such as the Intel Galileo

Exploring Arduino takes you on an adventure and provides you with exclusive access to materials not found anywhere else!

More Information...