Site Information

 Loading... Please wait...

Blog

SAE J1939 Programming with Arduino - Program Structure

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. As with every Arduino application, the initialization of data and the J1939 protocol takes place during the setup() function, while the actual application resides in loop().setup() - The j1939.Init function is mandatory to operate ARD1939. You also need to set the preferred [...]

Read More »


SAE J1939 Programming with Arduino - Functionality Settings

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Overall, the sketch supports three versions of the ARD1939 protocol stack, two for the Arduino Uno (ARD1939-Uno and ARD1939-Uno/TP) and one for the Arduino Mega 2560 (ARD1939-Mega). ARD1939-Uno – For the sake of saving memory resources, this [...]

Read More »


SAE J1939 Programming with Arduino - ARD1939 Implementation

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. I provide the ARD1939 (SAE J1939 Protocol Stack for Arduino) “as is,” i.e. I provide the entire project (Arduino Sketch). In order to copy and customize the project, use the “Save As” function in the Arduino’s IDE. I had contemplated creating an [...]

Read More »


SAE J1939 Programming with Arduino - ARD1939 Function Overview

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The programming of every serial communication (such as RS232, CAN, Ethernet, just to name a few) should follow a very simple sequence:1.Initialization2.Read data3.Write data4.Check statusThese four function calls should be everything a programmer needs to access the serial protocol, and there is no reason [...]

Read More »


SAE J1939 Programming with Arduino - Visual Studio Code

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. While programming the Arduino can be exciting (especially since everything works so smoothly), the real fun comes when you can extend the Arduino’s reach to a PC running Windows. Note: My apologies to all Mac and LINUX users for bringing a Windows programming [...]

Read More »


Gateway Device Connects Ethernet/IP Host Controllers To SAE J1939 Networks

Aparian, headquartered in Irvine, CA, has introduced their J1939 Router, a gateway device connecting Ethernet/IP host controllers to SAE J1939 vehicle networks. The configurable SAE J1939 gateway provides an EtherNet/IP port to communicate with the Logix controller from Rockwell. The product enables the host controller to not only receive multiple PGNs (Parameter Group Numbers) from J1939 devices, but also operates as multiple [...]

Read More »


SAE J1939 Programming with Arduino - J1939 Data Traffic Simulation

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. In a previous project (see chapter SAE J1939 Simulation Example) I demonstrated the simulation of SAE J1939 data traffic.  However, the messages in that example were transmitted within a certain frequency. In the following, we will transmit messages according to user input. As before, [...]

Read More »


SAE J1939 Programming with Arduino - ARD1939 - J1939 Protocol Stack for Arduino

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The most interesting project in this book is, of course, the fully functional SAE J1939 protocol stack for the Arduino, the ARD1939. ARD1939 supports the full protocol, SAE J1939/21 (Network Management, Address Claim Process) and SAE J1939/81 (Transport Protocol, the transport of messages [...]

Read More »


SAE J1939 Programming with Arduino - J1939 Data Traffic Monitoring

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. In the following Arduino sketch, “data traffic monitoring” means nothing else but receiving and displaying SAE J1939 data messages (Refer also to chapter Receiving J1939 Message Frames). Rather than creating a new project, we will only need to add a few code lines [...]

Read More »


SAE J1939 Programming with Arduino - J1939 Network Scanner

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Just like the previous project (See chapter Receiving and Responding to J1939 Request Frames) we will be using the SAE J1939 Request Message, in this case to inquire node addresses from the vehicle network. The Request Message (a.k.a. the Request for Address Claimed [...]

Read More »