Site Information

 Loading... Please wait...

Blog

SAE J1939 Programming with Arduino - A Simple SAE J1939 to USB Gateway

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. I deem it necessary to provide a definition of “SAE J1939 to USB Gateway,” because there are several variants of gateway applications.If you browse through the Internet in search for J1939 gateways, you will primarily find CAN gateways that support the [...]

Read More »


SAE J1939 Programming with Arduino - Receiving J1939 Message Frames

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. This Arduino project provided a bit of a challenge after I had forgotten my own advice.Note: In order to test a CAN/J1939 application, you need at least two CAN/J1939 nodes to establish a network communication. The second node can be another Arduino [...]

Read More »


SAE J1939 Programming with Arduino - SAE J1939 Monitoring Examples

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The following chapter is primarily about SAE J1939 data monitoring, i.e. the Arduino projects as described work mainly in “Listen-Only” mode. Any bidirectional communication with the vehicle bus requires an SAE J1939 protocol stack implementation, specifically the address claim process. Without a node (source) [...]

Read More »


SAE J1939 Programming with Arduino - Arduino Code (Sketch)

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The Arduino code is quite simple and virtually self-explanatory. However, let me lose a few words on the program’s structure.First of all, depending on the CAN Bus shield used for this programming sample, please make sure you set the proper CS [...]

Read More »


SAE J1939 Programming with Arduino - SAE J1939 Monitoring And Simulation

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. As I wrote before, both versions of the Arduino used in this book, the Uno and the Mega 2560, are well suitable for SAE J1939 monitoring and simulation projects. Until now, the simulation of SAE J1939 data traffic involved the purchase of expensive [...]

Read More »


SAE J1939 Applications with the Arduino

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. In general, there are three different intentions for connecting to a J1939 vehicle network: Mere monitoring, processing, and display of network data traffic. All functions as described under 1. but extended by [...]

Read More »


SAE J1939 Programming with Arduino - Message Design

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. For this programming sample I have randomly chosen two PGNs from the vast selection of available parameter group numbers. They are: PGN 65267 – Vehicle Position, provides the vehicle’s latitude and longitude. Transmission Repetition [...]

Read More »


SAE J1939 Programming with Arduino - SAE J1939 Simulation Example

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino.The following programming sample demonstrates effectively how easy simulating SAE J1939 data traffic can be (while the level of complexity can be easily adjusted to the application requirements). However, before we dive into the actual coding, we need to design the simulated messages, [...]

Read More »


SAE J1939 Programming with Arduino - The CAN Bus Interface

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. While the code as introduced in the previous chapter was well designed and thus is highly efficient, I inserted yet another software layer between the CAN Bus interface and the ARD1939 protocol stack.I wrote the ARD1939 source code in plain C [...]

Read More »


SAE J1939 Programming with Arduino - MCP2515 Function Calls

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. There are further functions, among others, for message filtering and settings masks, and they are worth being checked out for more sophisticated functions, but they are not necessary for simple CAN communication tasks.The implementation of the MPC2515 library is fairly easy: Open Arduino, [...]

Read More »