Go Down

Topic: IC Engine Ignition [ Warning: Total Noob] (Read 2432 times) previous topic - next topic


Hello guys,

I'm trying to build an ECU to control spark and fuel injection using an Arduino board.
I will first try to sort out the spark timing and move on to fuel injection once that is complete.

How should I be controlling the induction coil - I've read a relay would be required as it cannot be driven directly by the Arduino.
What is the most practical way of doing it ? Please do go into details, this is my first attempt at understanding electronics.
Is the speed of the relay something of concern ? Should I be adjusting the spark advance to account for it ?

Also, for controlling the injector I will need a PWM signal, can that be passed through a relay ?

Thanks guys, hope to hear from you soon.


Do you know all about ignition and injection systems and are just new to the Arduino system or are you new to both.

If you are new to both I suggest you start with some simple Arduino projects.

If you know about ignition and injection perhaps you can describe how that part should work and how you think you might integrate an Arduino into it.

Two or three hours spent thinking and reading documentation solves most programming problems.


I'm completely new to electronics and any form of programming, but, I have over 40 yrs working on motorcycles so understand minimum requirements.
I've ordered an Arduino to do the same thing as I can't afford $500.00+ for programmable system which will advance progressively timing as rpm increases
Eventually I'll get throttle position sensor and intake pressure sensor to retard timing if needed
A standard relay will not work as it just can't switch fast enough
Your going to need power transistors/MOSFET to run the secondary circuit plus a driver circuit to handle the amperage
Reverse EMF from ignition coil can easily reach a peak of over 300v on the 12v connection (you'll need a PVM adapter for meter to measure it)
Not sure how to deal with that at present but I know it can be done?
Maybe a diode and capacitor and/or a transistor to shunt current to ground?

If your going to use for fuel injection your going to need TPS, cam position sensor (for sequential injection), O2 sensor, (or two), airflow sensor (mass airflow or intake pressure, maybe both for higher accuracy), atmospheric pressure sensor (for reference pressure)

Probably a few other things, I haven't needed to remember any of this stuff for over 2 yrs (coolant temp, oil temp, air temp ?????????)
The sensors are not too difficult to obtain, getting all of the inputs to work then writing a program to use various input, compute and send PWM to injectors is another matter though


I believe the usual way to drive an ignition coil these days (unless you are using capacitor-discharge ignition) is with an ignition IGBT such as this one http://www.onsemi.com/pub_link/Collateral/NGD8201N-D.PDF. See http://www.fairchildsemi.com/graphics/blockdiagram/automotive/Ignition_IGBT_3_large.gif for how it is used. The IGBT needs to be turned off quickly, so you need a pull-down transistor or mosfet connected to the gate.

You can't pass PWM through a conventional relay. What sort of PWM signal does the injector need?
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Go Up