The vehicle is an AMC eagle, they come with a diagnostic port diagnostic port I have made a diagnostic tool that lights led lights when signals turn on and off, but it has to be wired in and is bulky. I am wondering if it would be possible to have an arduino plugged in and running off the 12v battery supply (with step-down to 5v) and have it catch the signals and send them over Bluetooth to a computer. Does this sound like it is within the scope of an arduino or am I asking too much? Or is there a better and easier way to do this? diagnostic tool I made

  • Two things. 1. With the engine running, you may have 14.5VDC, not 12VDC. 2. Be careful with the tach signal. If it's connected to the negative side of the ignition coil, you could see a voltage spike of up to 250 volts. – VE7JRO Jul 2 '19 at 16:28

You can step down 12V to 5V with resistor dividers, or drive transistor base with 12V and let the collector pulldown an input with pullup resistor to signal an active signal (like an optocoupler, but without the slow optical part). Arduino reading the inputs and sending via bluetooth to something else is pretty straightforward, perhaps send only when a change from 0 to 1, and 1 to 0, on any input is sensed. Check Adafruit.com for bluetooth modules that are easy to use.

  • I have a bunch of 2n222 smd parts but I doubt they could handle 12v, would I need to have one transistor per gpio used? The diagnostic port has 16 inputs that I would like to use. – Shane R. Jul 3 '19 at 2:26
  • Also, a lot of these signals are either always on, off, or change rarely. For example coolant temperature switch just goes from off (0v) to on (12v) when the coolant temperature reaches 135deg F. So speed is not that critical for most operations. Would an optocoupler work fast enough for these types of signals? My only concern is putting a bunch of resistors in a small package in a hot engine bay and having them constantly divide 12v would make the whole thing pretty hot. I could be wrong thou, I have a pretty basic understanding of electrics. – Shane R. Jul 3 '19 at 3:38
  • The current flow thru the transistors is very low, not much heat will be generated. P=IIR, so say you had a 10K and a 5Kin series to drop 12V down to 4V, then the current thru the pair would be I=V/R = 12/15000= 0.8mA, and P = 0.096W * 16 = 1.5W for 16 circuits. You could increase the resistor values and lower the generated power. Alternatively, you could use a pair of cd74HC4050 as level translaters, powered from 5V, to bring 12V down to 5V. 48 cents each at Digikey.com. That would use even less current for lower power dissipation as the output is just 1uA to drive the Arduino inputs. – CrossRoads Jul 3 '19 at 11:55
  • I like the cd74HC4050 idea, in looking at the spec sheet, are there 6 inputs per chip? So for instance I would plug 5v regulated into pin 1, arduino gpio X into pin 2 and input 1 into pin 3? I'm specifically looking at the cd74HC4050E if there are differences between the chips. If there are 6 "inputs" per chip I would need 3 correct? – Shane R. Jul 3 '19 at 13:00
  • Yes, 3 chips would provide 18 channels. I don't have the datasheet in front of me, but the pinout is straight forward. Don't forget to use a 0.1uF cap from 5V to Gnd, located near the chip. – CrossRoads Jul 3 '19 at 14:01

Yes, it is possible. The 12v signals would have to be conditioned for the Arduino to receive them (0 - 12v or maybe 0 - 12-14.5v?). Then the Bluetooth side would be the same as any other Bluetooth data transmission.

So your question comes down to: Is this a fun project that's worth the effort you put into it for the learning experience? Or is this meant to answer a need, and the most practical means to that end is the best means?

Ex: I wanted to know how long / what kind of driving would it take to get my car's oil to full temp (~100C), starting from dead-cold in the winter? I had a thermo-logger I'd built for another experiment, so I taped a sensor to my oil filter (yeah, not the greatest, but quick and dirty) and lead a cable outside the hood, through the driver's window, to the experimental PC board on my dash-board. It wasn't a miserable failure but nothing to be proud of, either.

The solution I settled on was a USD$12.00 OBD port sender and an iPhone app. The results were much better, and while I didn't have the built-it-myself experience, I got the data and the answers I needed.

  • It is to answer a need, it would be a replacement for my homemade diagnostic tool that I built (picture added). These vehicles are finicky as older cars can be, and I would like to be able to provide a simple tool for me and others who want it to use, not unlike the small Bluetooth obd2 readers that have pop'd up. Arduino sounds like the best option but I wanted to ask before I went down the rabbit hole only to find out that there is already something that does pretty close to what I'm after. – Shane R. Jul 2 '19 at 17:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.