Site Information

 Loading... Please wait...

Blog

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 »


SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino - The MCP2515 Library

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Microchip Technology’s MCP2515 is a stand-alone Controller Area Network (CAN Bus) controller that implements the CAN 2.0B specification. It is capable of transmitting and receiving both standard (11-bit) and extended (29-bit) data and remote frames. The MCP2515 has two acceptance masks and six acceptance filters [...]

Read More »


SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino - Arduino Programming (Sketches)

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The implementation of either one of the introduced CAN Bus Shields and the corresponding CAN Bus sketches went surprisingly smooth when paired with the right library software. Note: All Arduino CAN Bus/SAE J1939 sketches as explained in the following include the [...]

Read More »


SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino - Connecting Arduino to a Real SAE J1939 Network

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. I have successfully tested my Arduino sketches against commercially available SAE J1939 devices with their monitoring and simulation software, but I did not have the luxury of connecting them to a real vehicle (diesel engine). Nevertheless, all sketches should work in the [...]

Read More »


SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino - Serial Interface And CAN Bus Timing Considerations

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The hardware configuration as introduced in this book, namely the Arduino board plus CAN Bus shield, suggests that it may be well suitable for a CAN-to-USB or J1939-to-USB gateway application. However, the Arduino’s USB baud rate is limited to 115,200 baud, which [...]

Read More »


SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino - Microchip MCP2515 CAN Bus Controller

This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Microchip Technology’s MCP2515 is a stand-alone Controller Area Network (CAN Bus) controller that implements the CAN specification, version 2.0B. It is capable of transmitting and receiving both standard and extended data and remote frames. The MCP2515 has two acceptance masks and six [...]

Read More »