f i go and buy the dollarsquirt, then what exactly is the DIY?
You get to build up the PCB, even order most of the components to populate the PCB if you want, decide what version of the system you want, put it in a box, wire it into your existing EFI system, then start the glorious process of setting it up for your engine and then tuning it. That's a fair amount of DIY, trust me, i have done it a few times.
You could also design and build your own PCB if you simply had to, even modify the schematics if your adventurous.
read MAF or map sensor (havent figured out) in order to establish an engine load.
** then, using a wideband sensor, and with a tuning session, you can have the "perfect" amount of fuel, needed for each MAF/MAP on a MAF-injection time table...**
I think this question, and subsequent statement, have a lot to do with why other members are thinking that you may not understand the complexity of the task you are undertaking. Simply put, and with all due respect, it appears that you do not know what you do not know, so to speak.
but, to move the ball forward....
MAF stands for Mass Air Flow. It is generically used to describe a sensor that measures the mass of air being pulled into the engine.
Most modern MAF sensors employ a "heated wire" technique, a current is passed through a wire (usually platinum) to heat it to a specific temperature, the current required to maintain that temp increases as the airflow through it cools the wire. that current is usually converted into a 0-5 volt signal. If you know the Mass vs Vout then calculating fuel injector pulse width is fairly straight for ward, assuming you know the flow rate of the injector.
MAP stands for Manifold Absolute Pressure, and is generally a 3 wire sensor that measures the pressure inside the intake manifold, ideally relative to the atmospheric pressure. Using this type of sensor is called speed density, because it requires the ECU to calculate the Mass of the air going into the engine based on the engines speed (rpm) and the density of the air it is injecting (manifold pressure). All engines are not the same, but MAP sensor signals from a 600cc 4 cyl and a 8000cc V12 could be identical.
So the ECU needs to know how big the injectors are (flow rate), how big the engine is, Volumetric efficiency at different rpms as well ad desired air fuel ratio among other things. Generally though, there is an x-y look up table, RPM vs MAP, that the ecu uses to calculate required duty cycle.
As for a WBO2 being used to determine the "perfect" amount of fuel, this is possible, in theory but generally not in practice.
The O2 sensor is reactionary, its signal only indicates whether or not previous fuel calculations were high or low. The ECU can use this to adjust upcoming fuel calculations, but it is a moving target, so to get an exact error compensation is a rather tall order. Yes, it can be done but would require a lot of computing power as well as knowing little things like, for instance, how long it takes the exhaust gas from each cylinder to reach the O2 sensor at different RPMs, the response time of the O2 sensor etc. It is much easier to simply make small adjustments over time. The constants, the numbers programmed into the ECU, are used to try and get as close as possible to the "perfect" fuel delivery, the O2 sensor is used for fine tuning those numbers.
Here is what i would consider a minimalistic blue print for an ECU main processor:
Crank sensor input (RPM) 1 digital I/O // preferably on a hardware interrupt pin
Camshaft sensor input 1 digital I/O // same as above, however either one of these could be used alone, or both paired
Fuel injector(s) 1 to 2 digital I/O // 2 should be considered minimum, but up to 16 would be ideal
ignition coil(s) 1 to 2 digital I/O // again, 2 would be a good minimum, however 4-8 would be ideal
Fuel pump 1 digital I/O
Idle control 2 digital I/O // 1 minimum (PWM motor) but 2 recommended ( stepper motor )
Cooling fan 1 digital I/O // completely optional but recomended
coolant temperature 1 analog
air temp 1 analog
throttle position 1 analog
MAF/MAP 1 analog // some sensors are digital though, but not many
system voltage 1 analog // for measuring voltage available to injectors and coils, NOT optional
O2 1 analog
BARO 1 analog // measuring barometric pressure, optional
So by my reckoning, for a bare bones system, a uno could do it, but a pro mini might be a better choice as it would allow a baro sensor and one extra analog. if you had to you could multiplex the coolant, air temp and baro, but i wouldn't want to do that on any of the others.
However, I think it would be much smarter to start with a MEGA board, or better yet a DUE or even a Tensy3.1.
The Mega has pins to spare, but the DUE and teensy3.x offer more pins and more speed and computing power, the extra speed might well compensate for less than ideal coding.
I highly recommend ( as much as it will hurt ) that you find the online manual for the " DIY EFI system that shall NOT be named "
and study it, its very comprehensive, free, and to my knowledge the best resource for learning and understanding what is required to control an engine with an embedded computer.