I drive a very old car (1960 Rambler American) as my daily driver/long distance trip car, it needs to be reliable. I had an aftermarket EFI system on it which proved to be junk... the whole story is at Rambler Lore
The short story here is that I resurrected a hated transitional technology, the feedback carburetor, and applied modern code to it. Umm microcontrollers have improved somewhat in the last 40 years...
The feedback carburetors are the terminal end of a technology that lasted almost a century, analog computers that get fuel mixture within a couple percent. The feedback carbs are about as good as they can be. There's a lot of passive emissions controls, limiting fuel evaporation, mostly, and fuel metering is surprisingly good -- at one altitude, and fuel mixture varies with temperature.
But a closed loop sensor-base feedback and control system makes them kinda sorta OK even compared to the kind of EFI systems one can install on an ancient engine.
The photos here are of the revised version; the first one is installed and running now. It got me just about 10% better mileage (averaged on a recent 2000 mile trip).
Here's the current one installed, a 16 x 2 LCD and a rotary encoder. Though it's 100% hands-off automatic you can poke around in it, see sensor data, and tune the fuel table. (The one inside the box here is Mega 2560 powered with my custom controller on top of it.)
The rest of the photos are of the new version, "done", on the bench waiting for me to install it. This one us Arduino Due powered, my custom board has improved electronics to support Due's 12-bit ADCs.
The Carter YFA feedback carb has a single control mechanism: a pulse-width-modulated solenoid that adds air (leans out the mixture: enleanment) to the main fuel circuit. It's pulsed at a fixed 10 Hz rate.
The sensors used are tailpipe wideband oxygen, manifold pressure, engine RPM, engine temperature. (The box also watches engine oil temp, transmission temp, etc.)
The photo below is the new system ready to go. I built a new metal chassis because this version uses a microSD for storage (the previous Mega 2560 version used EEPROM).
My board is a "shield" that sits on top of the Due. On the right are 8-pin connectors for LCD, microSD, and rotary encoder.
This is the electronics package outside of it's box. The big ugly connectors are Weatherpacks. Automobiles are about the worst environment for electronics, especially old ones. I have another car, a roadster I made, that is run by three networked controllers using this packaging scheme, it's very solid.
I'll write another post about the software....