Site Information

 Loading... Please wait...

Blog

CAN Bus And SAE J1939 Prototyping With The Arduino Due ARM Cortex M3 Processor

Posted by Wilfried Voss on

Arduino Due for SAE J1939 and CAN Bus Prototyping

Whenever it comes to building rapid prototypes for new CAN Bus or SAE J1939 applications, my first choice is regularly the Arduino Due, a microcontroller board based on the Atmel SAM3X8E ARM Cortex-M3 CPU.

In general, the Arduino platform couples an easy-to-use programming environment (IDE) with a vast number of hardware extensions (shields). While I do appreciate programming on a more "professional" level using our embedded systems with more sophisticated IDEs and debug probe, often enough, the needed hardware is not available. The Arduino concept may have its flaws (such as limited debugging capabilities), but when it comes to rapid prototyping, it is virtually unbeatable.

Let's have a look at the Arduino Due features:

  • Microcontroller board (Arduino Due) based on the Atmel SAM3X8E ARM Cortex-M3 CPU
  • 512 KB Flash Memory
  • 96 KB SRAM
  • 84 MHz Clock Speed
  • 2 CAN ports w/o transceiver
  • 54 Digital I/O Pins (of which 12 provide PWM output)
  • 12 Analog Input Pins
  • 2 Analog Output Pins

When it comes to CAN Bus or SAE J1939 applications, though, the Due misses an essential feature, namely the CAN Bus transceivers (it shares that short-coming with a great number of off-the-shelf embedded systems with CAN Bus ports). Consequently, we at Copperhill Technologies have created a Dual CAN Bus interface for the Arduino Due that provides the following features:

  • 2 CAN ports with three-pin terminal connectors
  • Extended input power range of 7 VDC to 36 VDC
  • 3 LEDs (Power, CAN Activity Port 1, CAN Activity Port 2)
  • CAN Bus Termination resistors switchable per jumper

The available options are:

Arduino Due With Dual CAN Bus Port Plus Ethernet Shield

The concept of the Arduino Due mainboard plus Dual CAN Bus interface allows adding any Arduino-compatible hardware (shield). 

For instance, the image to the left shows the board with Dual CAN Bus interface plus an Ethernet shield, which certainly, with the corresponding software development, can be used as a CAN-to-Ethernet gateway.

Check out the available resources, may it be hardware, cables, datasheets, or sample programs:

CAN Shield Resources:

Arduino Due Resources:

Cables:


Arduino Project Handbook: 25 Practical Projects to Get You Started

Arduino Project Handbook: 25 Practical Projects to Get You Started

The Arduino Project Handbook is a beginner-friendly compilation of electronics projects using the low-cost Arduino board. With just a few components, an Arduino, and a computer, you learn to create and program everything from light shows to arcade games to an ultrasonic security system.

In the first step, you receive an introduction to the Arduino and helpful information on tools and components. Then you work throughout the book in order or jump to projects that catch your eye. Each project includes simple instructions, colorful photos, circuit diagrams, and all the necessary code.

The Arduino Project Handbook is a fast and fun way to get started with micro­controllers that is ideal for beginners, hobbyists and educators.

More Information...

Application Note: Arduino Due Timer Control

The Arduino platform is not only the ideal solution for the hobbyist, due to low price and ease of programming; it is also a great tool for professionals who are looking for quick prototyping. This application note will address the very specific topic of timer control for the  Arduino Due. The Arduino platform does provide library functions dedicated to timers, and they cover [...]

Read More »


CAN Bus Prototyping With Arduino Uno - Prototyping Hardware

This post is part of a series about Controller Area Network (CAN Bus) Prototyping With the Arduino Uno. As I had mentioned earlier, it is assumed that you have some basic knowledge of the Arduino, Arduino Sketches, and Arduino Shields. I will nevertheless take the opportunity of mentioning the prototyping hardware and its variants. It is important to know that the [...]

Read More »


Arduino Due - Programming And Debugging Using JTAG ICE And Atmel Studio

Atmel’s SAM3X series MCUs are great for users who want to move further from the world of 8bit/16bit microcontrollers to 32bit ARM Cortex core MCUs. One of the most famous device in this series is SAM3X8E, Atmel’s Smart ARM microcontroller. The development platform of choice for getting started with the SAM3X8E is the Arduino Due board.  The SAM3X8E [...]

Read More »


Arduino Due Firmware Flaw: Problem With Using The USB Programming Port At 230400 Baud And Beyond

One of the improvements that came with the Arduino IDE's updates was an increased baud rate for the Serial Monitor.  Well, there are many time-sensitive applications that will benefit from the speed gain, specifically when using one of the fastest Arduinos around, the Arduino Due with its ARM Cortex M3 processor. However, when you set the Serial [...]

Read More »


ARM Cortex Processors – UART Programming Problem At Baud Rates Higher Than 115200

To say it upfront, I cannot confirm with 100% certainty that all ARM Cortex microcontrollers are affected by the UART programming problem as described in the following, but there are indications that make my assumption very probable. The outcome depends primarily on thorough testing of serial communication applications, but there is evidence to the contrary [...]

Read More »


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 [...]

Read More »


Arduino DUE CORE Board With Dual CAN Bus Interface, Real-Time Clock, And SD Card

As I had mentioned in my post, Arduino DUE CORE Board With Dual CAN Bus Interface And Extended Power Supply Range, our business strategy is providing prototyping solutions for the CAN Bus (including SAE J1939, ISOBUS, NMEA 2000), and, in the months to follow, we will increase our focus on the Arduino platform, specifically the Arduino Due. Now [...]

Read More »


Arduino DUE CORE Board With Dual CAN Bus Interface And Extended Power Supply Range

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 [...]

Read More »


Hands-On Recipes To Quickly Build And Understand Arduino Projects And Their Development

The single-chip computer board Arduino is small in size but vast in scope, capable of being used for electronic projects from robotics through to home automation. The most popular embedded platform in the world, Arduino users range from school children to industry experts, all incorporating it into their designs. Arduino Development Cookbook comprises clear and step-by-step [...]

Read More »