Arduino-Based ECU Development Board With Dual CAN Bus Interface
Leverage the power of an ARM Cortex M3 32-bit processing capability in combination with a dual CAN Bus interface to create your next CAN Bus or SAE J1939 application or prototype. By combining our dual CAN port interface, the Arduino DUE microcontroller, an OBD2 or SAE J1939 cable, and open-source software libraries you are ready to go with powerful a turn-key Arduino-based dual CAN bus solution.
Use the vast resources of Arduino software (sketches) and hardware components (shields) to create your CAN Bus, OBD2, or SAE J1939 application.
- 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 with three-pin terminal connectors
- 3 LEDS (Power, CAN Activity Port 1, CAN Activity Port 2)
- CAN Bus Termination resistors switchable per jumper
- Extender power input range 7 VDC to 36 VDC (optional)
- 54 Digital I/O Pins (of which 12 provide PWM output)
- 12 Analog Input Pins
- 2 Analog Output Pins
We reserve the right to use Arduino Due “clones” in case of supply shortage for the original board. We use only one other brand (OSOYOO), which we have tested thoroughly before release.
Possible applications include:
- CAN to USB Gateway and Protocol Converter
- CAN to Wireless (WiFi, Bluetooth) Gateway
- 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 Bus ECU Prototyping
- SAE J1939 ECU Prototyping
When necessary, we add a 10k Ohm resistor to the Due board to address the reset problem as described at:
- J1 - CAN Port 0
- J2 - CAN Port 1
- J3 - External Power Supply 7 - 36 VDC
- JP1 - Jumper Termination Resistor CAN Port 0
- JP2 - Jumper Termination Resistor CAN Port 1
- PWR - Power LED
- LED1 - LED Connected to Arduino Due GPIO 14
- LED2 - LED Connected to Arduino Due GPIO 15
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 Shield 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
Arduino Due Resources:
- Getting started with the Arduino Due
- Arduino Due Projects And Sample Code...
- 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...
- Electronic Logging Device (ELD) - GPS And Real-Time Clock (RTC) Breakout Board For The Arduino Due
- The Easiest Way Installing A Bluetooth Interface On The Arduino Due And Mega 2560
- SAE J1939 GPS Application With Arduino Due Delivers PGN 65267 (Vehicle Position)
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