I am looking to write an application that works with the J1939 protocol which is part of CAN (Controller Area Network) for vehicle engines. I am reading on this but I am getting some conflicting information in regards to the requirements of communicating here with this Controller Area Network, including reading and transmitting signals this would require a specialized microcontroller and other websites saying that this isn't required but just a connection to a computer. So which is it?

  • You need software to communicate on the can bus, an depending on how much you can do on the bus how sophisticated the software needs to be.
    – Moab
    Jan 12, 2019 at 16:45
  • BTW - Welcome to Motor Vehicle Maintenance & Repair! Jan 12, 2019 at 17:25
  • Do a search on here, there are several posts on this topic, for example : mechanics.stackexchange.com/q/21748/10976
    – Solar Mike
    Jan 12, 2019 at 17:48
  • Keep in mind the OSI model that defines each layer of communication in order to exchange data. The Application Layer requirements are your area ( no pun intended) of networking, as long as your interface supports all the lower layers. Feb 11, 2019 at 23:50

1 Answer 1


What are you wanting to run the software on? Microcontrollers are normally used in this situation because processing is required, however if you're wanting to connect with a PC then the computer can handle the processing for you. There are software suites available for pc in fact that do exactly this. Those diagnostic systems at repair shops are usually just laptops with a breakout cable.

You must log in to answer this question.