Arduino-Due-Based SAE J1939 Programming Kit - Standard Edition
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.
While the book's focus is on the Arduino Uno and Mega 2560, the documentation also applies to our SAE J1939 protocol stack for the Arduino Due.
See: SAE J1939 Protocol Stack Sketch for Arduino Due.
The content of delivery includes:
- Arduino-Due-Based USB Gateway With Two CAN Bus Ports
- SAE J1939 ECU Simulator Board With USB Port
- jCOM1939 Monitor - SAE J1939 Monitor, Analyzer, And ECU Simulator
- 2 x USB cables for Arduino and J1939 Simulator
- 12 VDC Switching Power Supply
- Book: A Comprehensible Guide to J1939
- Book: SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino
Please refer to the above links for more detailed information.
The integrated Dual CAN Bus board incorporates CAN transceivers required by the two on-chip 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 board is a microcontroller board based on Arduino Due, featuring the Atmel SAM3X8E ARM Cortex-M3 CPU.
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 Due Core 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
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 un-intimidating, 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