Unleash the power of the Arduino Due with ARM Cortex-M3 processor to develop and test your SAE J1939 application, may it be an SAE J1939 to USB protocol converter, an SAE J1939 Bridge, an SAE J1939 data monitor, and many more.
The SAE J1939 Programming Kit comes with many programming samples, including a full-blown SAE J1939 protocol stack (ARD1939). The included SAE J1939 Simulator Board serves as a transmitter and receiver of SAE J1939 data frames (PGNs).
Use the Windows-based JCOM1939 monitoring and simulation software to display, record, or transmit J1939 PGNs, including data request messages. To top things up, the kit includes two books on the SAE J1939 Standard and Arduino Programming for J1939 applications.
The Arduino Due
There are a great number of ARM Cortex M3 developing and prototyping boards available in the marketplace. The Arduino Due is a very popular system that matched my selection criteria, which are low-cost, ease of programming, and great performance.
The Due is the first ARM-based Arduino development board. The programming of the microcontroller is accomplished through the familiar Arduino IDE (Windows, Mac, Linux), keeping the programming as backward compatible to other Arduino systems as possible, thus allowing a smooth migration between processor systems.
The Arduino Due has two USB ports available. The Native USB port (which supports CDC serial communication using the SerialUSB object) is connected directly to the SAM3X MCU. The other USB port is the Programming port. It is connected to an ATMEL 16U2 which acts as a USB-to-Serial converter. This Programming port is the default for uploading sketches and communicating with the Arduino.
- Getting started with the Arduino Due:
- Arduino Due Pin Mapping:
- Arduino Due Schematics:
- Atmel SAM3X8E ARM Cortex-M3 CPU Data Sheet:
The Arduino IDE
The Arduino Integrated Development Environment (IDE) is common to all Arduino boards, including the Arduino Due. However, after installing the IDE (see reference below), you will find that you cannot select the Due from the list of Arduino systems.
First, after installing the Arduino Desktop IDE, you need to add the Atmel SAMD Core (see reference below). In addition, when using the IDE version 1.6.2. or higher (which is very likely), you need to also install the core that supports the Arduino Due. It may sound confusing, but the procedure is fairly simple. Select the Tools menu in the IDE, then Boards, then Boards Manager.
It is highly recommended not only to install the newest IDE version but also check version numbers frequently. This will prevent unpleasant surprises when working/downloading online programming samples that won’t work with older IDE versions.
- Getting started with the Arduino Due:
- Download/Install the Arduino IDE:
- Arduino Boards Manager:
The JCOM1939 Monitor Software
The JCOM1939 Monitor Software is the perfect tool to monitor, record, analyze, and simulate SAE J1939 data traffic. The system works in combination with our SAE J1939 gateways.
This comprehensive and easy-to-use, easy-to-understand Windows software displays not only SAE J1939 data traffic; it also allows to scan the network, simulate an ECU (incl. full node address negotiation features), and respond to data request messages.
For more detailed information, including installation, please refer to:
SAE J1939 Programming Kit - Quick Start
The next step as described here assumes that you have already installed the newest version of the Arduino IDE and have installed the JCOM1939 Monitor Software.
In a first step, we will load a demo program to the Arduino Due. The demo sketch simulates two sample PGNS, and we will monitor them with the JCOM1939 Monitor.
But first, please refer to our post Arduino Due: Dual CAN Port Test Sketch With LED CAN Traffic Indicators. Download the sketch (zip), decompress it and store into a file folder of your choice (e.g., under Documents/Arduino).
In general, for more programming samples, please refer to the Arduino-Due-Based SAE J1939 Programming Kit - Standard Edition.
After you have loaded the sketch, you should see two LEDs blinking on the Arduino's CAN board, indicating SAE J1939 data traffic.
The second step involves the JCOM1939 Monitor software. We assume, you have connected the JCOM board to your PC and started the software. Please select the COM port associated with the board.
In the section "Filter," select "Pass All."
You should now see the data traffic.
In a next step, just for fun, we assign a name to the PGNs. In the "Filter" section, select "As Defined in Table." The data traffic on the screen will stop. Now edit the PGNs as shown below (hit the "Save" button to submit the entries).
As soon as you hit the "Save" button, you should see the data associated with the edited PGN.
For more detailed information on the JCOM1939 Monitor Software, please refer to JCOM1939 Monitor Pro - User Manual (PDF)...
Last, but not least, let me make an important point: We have invested some tremendous amount of efforts and time to document everything the user needs to know, and we have created numerous programming examples. Please take your time to read the documentation. It will help to get you up to speed, and it will prevent frustration and delays.
Introduction Welcome to my beginner's guide! By opening this page, you have entered the first and probably most crucial stage toward developing your SAE J1939 project: Reading. Over the years, I dealt with many newcomers to the J1939 technology, some of them motivated by great product ideas. Others were thrown into a project because they were [...]
The open-source ProductivityOpen platform presents all the features of a conventional Arduino plus an industrial controller. The processor circuit of the P1AM-100 Arduino-compatible CPU simulates the Arduino MKRZero microcontroller. The P1AM-100 is compatible with multiple available Arduino MKR format shields, plus the ProductivityOpen shields, and can employ most Arduino sketch programs found on open-source websites. Using the [...]
Mastering Embedded Linux Programming: Unleash the full potential of Embedded Linux with Linux 4.9 and Yocto ProjectThis complete guide shows the technologies and techniques needed to incorporate Linux into embedded systems. The reader will begin by learning about the essential elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the [...]
RASPBERRY PI 4 COMPLETE MANUAL: A Step-by-Step Guide to the New Raspberry Pi 4 and Set Up Innovative ProjectsThe Raspberry Pi 4 can accomplish a remarkable variety of embedded applications. Amateur technology enthusiasts use Raspberry Pi boards as media centers, file servers, retro games consoles, routers, and network-level ad-blockers, for starters. However, that is just [...]
The CANopen Magic Pro Library by Embedded Systems Academy is a system supporting customized CANopen based PC applications for quick and easy development without the need to know all details of the CANopen protocol stack. The kit consists of a professional CANopen library along with documentation, a C header file and makefile for gcc. The CANopen library achieves [...]
The AVR microcontroller by Atmel (now Microchip) is one of the most widely used 8-bit microcontrollers. The popular Arduino Uno board utilizes an AVR microcontroller. It is inexpensive and widely available around the world.This book combines this combination. The authors apply a step-by-step and methodical approach to demonstrate the programming of the AVR chip. Examples are presented [...]
Arduino is a powerful and very versatile platform used by millions of people around the world to create DIY electronics projects. It can be connected to a wide variety of sensors and other components, making it the ideal platform to build fantastic Internet of Things (IoT) projects on―the next wave in the era of computing.This book [...]
Atmel's AVR microcontrollers are the chips that power the Arduino platform and are the go-to chip for many hobbyists and their hardware hacking projects. In this book, you set aside the layers of abstraction implemented by the Arduino environment and learn how to program AVR microcontrollers instantly. In doing so, you learn more about the chip, and you [...]
We at Copperhill Technologies have designed an SAE J1708-to-UART breakout board, and we are in the process of adding it to our e-commerce website. However, what we learned during the development is that the device is in need of some massive software support as I will explain in the following.First of all, to go into [...]