Car trouble. I suspect the fuel injector circuit. I am trying to construct a com port reader that will place a timestamp into a log on the closing the 12v fuel injector circuit.

The fuel injector is a simple normally open 12v circuit of 2 wires. The + is tied into the ignition switch. The ground is held open by the ECM (Electronic Control Module). When it is time to squirt fuel into the cylinder, the ECM pulses/flashes the ground to complete the circuit.

I am planning on using Eltima's Serial Port Monitor to record the event of the closed circuit with a timestamp on a single injector and store the data into a log so that I can evaluate and analyze the data.

Originally, I thought I would simply run pin 3 of a DB9 to a back probe on the injector and run the engine. But with the circuit always powered by 12 volts, I would get a reading on pin 3 coinciding with the ignition switch and not with the pulsing ground.

Do you have any ideas on how to read the pulsing ground on the fuel injector?


1 Answer 1


You could try isolating the switching signal with an opto coupler. enter image description here

Every time the ECM pulls the injector to ground a small current (about 10mA) goes through the internal LED and turns on the output transistor.

The pulse width/timing could be measured using a small microcontroller and converted to serial data.

  • \$\begingroup\$ Take precautions to prevent the inductive kick-back from the fuel injector from frying your opto-coupler LED. Since a waveform from a fuel-injector doesn't resemble a serial data stream in any way, it is not at all clear how you can convince your serial port monitor to detect and record the pulses? \$\endgroup\$ Jun 6, 2016 at 14:00
  • \$\begingroup\$ @RichardCrowley. Thanks for that. As far as how to convert the pulse into a serial data stream I would add a small microcontroller to measure the pulse width and timing between pulses and send out an appropriate signal. I've added this to the circuit. \$\endgroup\$ Jun 6, 2016 at 14:17
  • \$\begingroup\$ It is my understanding that a change in the voltage on pin 3 will be read by the port monitor -- the monitor should record the change as junk (i.e. no intelligible data, no stop bit, etc) but what I am interested in is the EVENT of the change and not the transfer of the data (or in this case, non-data). I am hoping that reading the change will allow me to determine the start of the pulse, the duration, and frequency per second or minute. \$\endgroup\$
    – Mark Cain
    Jun 6, 2016 at 14:21
  • 1
    \$\begingroup\$ Use one of the RS-232 flow-control pins - they are digital levels; there is no data protocol on them. "Back in the old days" when we needed quick & dirty digital I/O from a PC, we often used those. \$\endgroup\$
    – JRobert
    Jun 6, 2016 at 14:25

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.