Along side the development of these engine technologies, projects such as the MegaSquirt are popping up; allowing end users to, more or less, bolt on EFI as a standalone to engines that might not otherwise ever see this level of control.
The MegaSquirt community has units that come pre-programmed and calibrated, almost "ready-to-run" out of the box for some makes and models. Units and software for Ford, Chevrolet, as well as some foreign brands like Honda which have variable cam timing are all available.
In a weekend, with some spare parts, and an Arduino, the intrepid hacker can model their own MegaSquirt-like stand-alone engine management system (albeit very rudimentary).
I'd like to talk about this process, and some nuances that might be important along the way.
First things first. Any engine basically requires three things to operate:
- Fuel
- Fire
- Air
Our Arduino, along with some peripherals, and a few junkyard items, can function just like a newer engine computer.
For the sake of simplicity, lets focus on two things:
- Engine Speed / Crankshaft Orientation
- Air Fuel Mixture
Knowing where the crankshaft and pistons are in relation to their speed is crucial in triggering injector pulsing and ignition firing.
Knowing your current AFR in relation to your desired AFR is crucial in determining injector pulse width and more intricate things such as spark advancement or retarding.