arduino j1939


Today, during the 70s and early 1980s manufacturers started using electronic means to control engine functions and diagnose engine problems. This was primarily to meet EPA and mission standards through the years onboard diagnostic systems have become more sophisticated obd2. A new standard introduced in the mid 90s provides almost complete engine control and also monitors parts of the chassis body and accessory devices, as well as the diagnostic control network of the car. Obd simulator is a device which simulates obd2 data on ken bus it having the minimal hardware required to generate data on ken bus hardware. Setup is shown in the picture. I used Arduino and CANbus shield to make obd2 simulator other side. Esp 32n can driver IC, MCP to 5 v obd ii data parse. I developed GUI based software on Windows to change obd data dynamical from the computer. You can find more information about obd on wikipedia here’s, the request and response data format for obd2 obd2 data reader needs to create a request for PID in this form. At ECU will, then send a response to a particular request and the format is shown here. You have to parse frame like shown here. This is PID here you find the information about PID let’s, see how we create obd to request. The request consists of 8 bytes of data. The first byte for a number of additional data is 2. The second byte for mode is 1. The third byte for PID is PID.

We are requesting rest of the bytes are either 0 or 55 X. Now respose for request is created like this and send by arduino you you here, we print ESP 32 logs on the console. First, he SP 32 scanned the all obd2 PID, which is supported and stores it for requesting one by one. You, after scan completed, we found 11 supped PID. Here is current data from arduino. You can see the request coming on arduino serial terminal. You now close Arduino terminal, install arduino, obd, simulator software, you you, you select comport and baud rate 9600 open connection. You can now change obd2 data from software and it will reflect at obd scanner.


arduino j1939 Video







arduino j1939 news








arduino j1939 Social






👋 Want to bring Tony Stark-like gesture control to your projects? Learn how with the BLE-enabled MKR WiFi 1010 and Nano 33 BLE Sense boards using the ArduinoBLE library.
safe image.php?d=AQDyi1ELcW4VGzhx&w=720&h=720& dChOhNMmeF - arduino j1939

Arduin-yo ho ho! A fairground favorite, the pirate ship is a fun way to explore the oscillation of a pendulum. How much fun, you ask? Access our Science Kit Physics Lab preview and see for yourself:

🔬 Now that you’ve gotten your feet wet, dive into the kit and enjoy all nine experiments. Order yours today:

70537898 550174072395145 8798850142103928832 n.jpg? nc cat=102& nc oc=AQmCfMPwMf1oPpYqFhzbxfnGdbrmsjZXrEEBy1ox5Z8EJtiYMADoFNZ5mnSNRgCCY74& nc ht=scontent - arduino j1939



Originally posted 2015-11-30 10:50:59.

(Visited 1138 times, 1 visits today)

About The Author

You might be interested in

Comment (32)

    1. @ZenElectro Waiting for good news. Thank you again for your efforts. You saved me from going to my car many times in a day 🙂

  1. I connected from the CAN BUS Shild to a OBD2 Reader without success. I also connected also a 120 Ohm resistor to Hi/Lo PIN 14/6, don’t work. My question is, do I need the CAN Driver MCP2551 in the middle and can I connect them to the OBD reader to pin 14 and 6?

    1. Basically Can driver MCP2551is voltage level converter.
      It required on both sides with single 120 ohm resistor between line(CAN H and CAN L) can bus shield have jumper to connect it.
      Make sure.
      1) If OBD reader is transfer data on CAN H and CAN L then your CAN bus shield should have MCP2551 on it.
      2) if OBD reader transfer data on CAN RX and CAN TX then you need MCP2551 to connect your CAN bus shield (shield with mcp2551 on it).
      3) check CS and INT pins are properly connected.
      4) before starting software verify log on Arduino console.

    1. Hello Simracermudes. You can not use MCP2515 for ISO9141. As this protocol uses K line for communication. But there is way to make K line driver from some transistors wich can used by Arduino to read data. Or you can find ISO9141 driver.

    1. Here I used ESP32 as OBD II PID scanner and reader. It simple BLE GATT demo modify to read CAN(ESP32 internal CAN controller) data then data is parsed by OBD II data parser written by me. after parsing data I write that data on GATT characteristics in the key-value pair.

    2. @ZenElectro Can you please, share your project with me – . I`m trying to make a ESP32-MCP2551 OBDII – Car speed reader (0xOD HEX) with a PWM output that is with function of speed, but i can`t find any information about interfacing the MCP2551. I got a succes with MCP2515 but i wanna make it quite smaller with less hardware with the MCP2551 and ESP32. I`ll be very greatfull to help with some issue.

    3. Sorry Dani Chervenski, I cant share source code for ESP32 device. as its confidential. you can look for CAN driver for ESP32

    4. Are you selling anything fully assembled? Can I purchase something from you to support you as well? I appreciate the video. Ypu did an awesome job brother

    1. Hello Omer Ozdemir. You can not use this simulator with iso 9142 as it uses K- line protocol. And this simulator works with CAN hardware. You can mdify it for K-line. You need K line protocol hardware.

  2. ola boa noite. primeira mente nota 1000. para o projeto. gostaria de saber se serve para caminhoes? sou do brasil . aproposito pode me mandar o esquema? por email . desde ja agradeço muito por ter pessoas como vc.. para ajudar os que precisa . agora esse simulador faz tudo que um simulador de ecu. faz? sou um pouco leigo nessa parte ….fui.. fica com deus…

    1. ola Jean Avila. Este simulador simula o protocolo OBD2. não relacionado com um tipo de veículo específico. Se você está procurando por Caminhões, a maioria dos caminhões tem o protocolo J1939 ou J1708 para diagnósticos.
      Para esquemas, consulte este O ECU com o total do protocolo OBD2 tem 196 PID, dos quais este simulador suporta 10 parâmetros. Para mais informações sobre o OBD 2, acesse
      você pode entrar em contato comigo no e-mail

  3. Are you selling anything fully assembled? Can I purchase something from you to support you as well? I appreciate the video. Ypu did an awesome job brother

  4. great software, but please I have few questions
    can’t we use mcp2551 with all cars with obd2 why?
    the same questions for elm 327?
    the last one is can we use elm 327 to get data from your software+arduino+can bus shield?

    1. 1) Yes, we can use MCP2551 drive( need CAN controller here like MCP2515 or MCU that have inbuild CAN controller like stm32F103) with all cars, becase BOD2 supports multiple standard protocols to send ECU data on OBD2 bus one of them is ISO 15765 CAN.
      2) Same for ELM327 its use CAN protocol to read OBD 2 data.
      3)Yes, we can use ELM327 to read data from this simulator. This simulator acts like ECU of car wich send 10 parameters and can be changed throw software.

    1. You have to scan all possible PID for that. there is no other way to find hidden PID used by manufacturer using OBD scanner. else look on google might some one uploaded official document or buy it from toyata (it much costly).


Your email address will not be published. Required fields are marked *