XC92
Proven Member
- 1,570
- 357
- Jul 22, 2020
-
Queens,
New_York
Yes, I realize that several already exist and are very mature, reliable and respected, but they're for tuners, of which I'm not one nor likely to become one any time soon. Way above my current pay grade and my stock 1G DSM. Plus they're kind of pricey.
Rather, I'm looking to build a fairly basic and cheap OBD1 scan tool, initially to read one of the dozen or so OBD1 codes that a 1G ECU can put out so I don't have to do the buzzer/analog multimeter/LED thing, and perhaps eventually to read ECU engine codes, but that would be a ways off.
The initial, OBD1 version would likely be built around a mini Arduino board, with an LED display and some buttons. Very basic stuff. It would literally just output any codes put out by the ECU, and store them so you could toggle between them if there was more than one.
Although it's been a few years, I have a decent amount of Arduino and programming experience so I don't need any help there. I'm thinking some pullup (or pushup) resistors to read the codes from one of the analog ports, some basic C++ code to process and output them, and some soldering on a small circuit board to connect all the components, and maybe a small enclosure to house it all. I'm confident that I can do all of this.
What I need to know is what specific kind of connector I need to buy that plugs into a 1G DSM's diagnostic port, ideally already wired so I don't have to crimp every pin that 1G DSMs use. But if I have to do that, I'm sure I can handle that too. I have some crimping tools and would just need to know what kinds of wire-end crimping connectors to get. MOLEX, perhaps?
That would be Version 1. Pretty basic stuff.
Version 2 would read and display all the data coming from the ECU, e.g. RPM, O2 level, coolant temp, etc. That would be a whole other thing and a lot more involved, and much further down the line. I'm not even sure that an Arduino could handle all the data streams in real time, and I might have to go with a Raspberry Pi, with which I also have some experience but more on the software than hardware side.
What I'd need to know there is how to actually read all those other pins, which I assume put out all this other data. Is it proprietary to whoever currently owns the DSM ECU firmware, be it Chrysler, Mitsubishi or whoever, and to ECMLink and any other companies that may have reverse engineered it? Or is it public domain and legally available for download, and if so where?
And no, I'm not looking to compete with these companies as I don't have the auto and tuning expertise to do that, nor any interest in doing it (so he says, I'm sure you're thinking!). I just like to tinker with electronics and thought it would be a fun project, especially Version 2 if I ever got to it (let alone Version 3, which would output the data to a phone, tablet or laptop app and which I'll probably never get to as I've never written an app and have no idea how to).
Also, if I did get around to doing this, I'd post the schematics, design and code so that anyone else with the ability and inclination could build one as well for $10-$20. Version 1 that is. I'm guessing that I'm not the only one interested in such a tool.
Rather, I'm looking to build a fairly basic and cheap OBD1 scan tool, initially to read one of the dozen or so OBD1 codes that a 1G ECU can put out so I don't have to do the buzzer/analog multimeter/LED thing, and perhaps eventually to read ECU engine codes, but that would be a ways off.
The initial, OBD1 version would likely be built around a mini Arduino board, with an LED display and some buttons. Very basic stuff. It would literally just output any codes put out by the ECU, and store them so you could toggle between them if there was more than one.
Although it's been a few years, I have a decent amount of Arduino and programming experience so I don't need any help there. I'm thinking some pullup (or pushup) resistors to read the codes from one of the analog ports, some basic C++ code to process and output them, and some soldering on a small circuit board to connect all the components, and maybe a small enclosure to house it all. I'm confident that I can do all of this.
What I need to know is what specific kind of connector I need to buy that plugs into a 1G DSM's diagnostic port, ideally already wired so I don't have to crimp every pin that 1G DSMs use. But if I have to do that, I'm sure I can handle that too. I have some crimping tools and would just need to know what kinds of wire-end crimping connectors to get. MOLEX, perhaps?
That would be Version 1. Pretty basic stuff.
Version 2 would read and display all the data coming from the ECU, e.g. RPM, O2 level, coolant temp, etc. That would be a whole other thing and a lot more involved, and much further down the line. I'm not even sure that an Arduino could handle all the data streams in real time, and I might have to go with a Raspberry Pi, with which I also have some experience but more on the software than hardware side.
What I'd need to know there is how to actually read all those other pins, which I assume put out all this other data. Is it proprietary to whoever currently owns the DSM ECU firmware, be it Chrysler, Mitsubishi or whoever, and to ECMLink and any other companies that may have reverse engineered it? Or is it public domain and legally available for download, and if so where?
And no, I'm not looking to compete with these companies as I don't have the auto and tuning expertise to do that, nor any interest in doing it (so he says, I'm sure you're thinking!). I just like to tinker with electronics and thought it would be a fun project, especially Version 2 if I ever got to it (let alone Version 3, which would output the data to a phone, tablet or laptop app and which I'll probably never get to as I've never written an app and have no idea how to).
Also, if I did get around to doing this, I'd post the schematics, design and code so that anyone else with the ability and inclination could build one as well for $10-$20. Version 1 that is. I'm guessing that I'm not the only one interested in such a tool.
Last edited: