Arduino-Due-Based USB Gateway With Two CAN Bus Ports
The jCOM.DUE.CORE-B board combines two of our products into one:
- Dual CAN Bus Interface for Arduino Due
- Due Core - Arduino Compatible SAM3X8E 32bit ARM Cortex M3 Module
The CAN Bus board incorporates dual CAN transceivers required by the two integrated CAN ports on the Arduino Due, i.e. they convert the CAN TTL signal into a differential voltage as required by the CAN Bus Standard (ISO 11898).
The Due Core is a compact version of the Arduino DUE. It integrates all peripherals required for the MCU, and all GPIO are connected to 2.54mm connectors. As a standard MCU core, the board has the following features:
- Compact size: All components are put on a 54 x 58mm 4-Layers PCB. All IOs are connected to a 116-pin 2.54 standard connector.
- Easy to use: All IOs are connected to 116pin 2.54 standard connector. It requires only a 5 VDC power supply to make it work.
- Stable design: High-quality 4-layer PCB layout, two 5V to 3.3V LDO onboard, one for digital and one for analog processing. Separate AVCC and AGND, to ensure optimum analog performance.
- Easy to set up the development environment: Uploading sketches through standard 6-pin UART interface, standard Micro usb connector, full use of existing resources.
- User-friendly design: Rich LED status indication, two onboard buttons, one is for MCU reset, and one is for Flash Erase. Unique jumper erase protection against the flash erased by mistake.
- Rich resources: All IOs are available for the user. The onboard I2C EEPROM is designed to compensate for the shortcomings of the standard SAM3X8E, which has no built-in EEPROM.
The jCOM.DUE.CORE-B board is powered either by the USB port connection (either the programming or native USB) or through an external power supply supporting an input voltage of 7 to 36 VDC.
Possible applications include:
- CAN to USB Gateway and Protocol Converter
- SAE J1939 Gateway and Protocol Converter
- CAN Data Logger
- CAN Bridge (connecting 2 CAN networks, even at different baud rates)
- CAN Analyzer (in combination with a suitable Windows program)
- SAE J1939 Data Monitoring
- CAN ECU Prototyping
- SAE J1939 ECU Prototyping
We are 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#). For further information, please check this web page frequently or feel free to contact us through this website.
If you experience any problems with running our program samples, please check the following:
- Make sure, your Arduino IDE supports the Due - See: Arduino Due IDE Setup
- Make sure, you have the newest version of the Arduino IDE installed
CAN Board Resources:
- Arduino Due: Dual CAN Port Test Sketch
- Arduino Due: Dual CAN Port Test Sketch With LED CAN Traffic Indicators
- Dual CAN Bus Interface For Arduino Due: Controlling the LEDs
- ODB2 and CAN Bus Acquisition Libraries
- SAE J1939 Protocol Stack Sketch for Arduino Due
- App Note: ARM Cortex M3 Development Boards Require External CAN Bus Transceiver
- CAN Bus Data Traffic Simulation With Arduino Due
- CAN Bus Bridge (CAN-to-CAN) Application With Arduino Due
- SAE J1939 GPS Application With Arduino Due Delivers PGN 65267 (Vehicle Position)
Arduino Due Resources:
- Getting started with the Arduino Due
- Download the Arduino Software (IDE)
- Atmel 11057 32-bit Cortex-M3 Microcontroller SAM3X/SAM3A Datasheet (PDF...)
- A Brief Introduction to Controller Area Network
- Arduino Due Firmware Flaw: Problem With Using The USB Programming Port At 230400 Baud And Beyond...
- ARM Cortex Processors – UART Programming Problem At Baud Rates Higher Than 115200...
- Arduino Due - Programming And Debugging Using JTAG ICE And Atmel Studio...
- Arduino DUE CORE Board With Dual CAN Bus Interface And Extended Power Supply Range...
- Programmable, Arduino-Due-Based USB Gateway With Two CAN Bus Ports...
Programming Arduino - Getting Started With Sketches
by Simon Monk
Clear, easy-to-follow examples show you how to program Arduino with ease! "Programming Arduino: Getting Started with Sketches" helps you understand the software side of Arduino and explains how to write well-crafted Sketches (the name given to Arduino programs) using the C language of Arduino. This practical guide offers an unintimidating, concise approach for non-programmers that will get you up and running right away.
Programming Arduino: Getting Started with Sketches explains basic concepts and syntax of C with simple language and clear examples designed for absolute beginners - no prior knowledge of programming is required. It leads you from basic through to advanced C programming concepts and features dozens of specific examples that illustrate concepts and can be used as-is or modified to suit your purposes.
- All code from the book is available for download.
- Helps you develop working Sketches quickly.
Coverage includes: C Language Basics; Functions; Arrays, Strings; Input / Output; Standard Library Goodies; Storage; LCD Displays; Programming for the Web; Program Design; C++ and Library Writing