Interesting project.I'm trying to get my head around the 8-stroke cycle. Are you going to leave the cam alone and actually pull in a fresh charge at the start of the 'steam' power stroke? In this case you'd be throwing away the hot exhaust charge that contains most of the energy you're trying to recover, and the only thing powering your 'steam' phase would be the hot metal. In this case I'm sure that skipping half the power strokes and running water through the cylinder would cool the engine a lot, but I'm sceptical that you'll gain enough power during the steam phase to offset the friction and pumping losses. I suspect you'll end up with a very rough engine with about half the power and a dead loss cooling system.But it's interesting enough as a concept that I'd like to see how it works in practice.I suppose that to do this properly you'd need to replace the cam drive system with one that ran at 1/3 crankshaft speed instead of half crankshaft speed, and you'd need to change the cam phase/durations. Getting a custom cam grind isn't technically difficult but needs money and engineering skills. Changing the chainwheel/pulley sizes to change the cam speed is something that is easy in theory but may not be possible in practice, depending on the design of your cam drive. It seems to me that this is the only approach that is likely to work well, though.How are you implementing the water injection? Are you injecting into the cylinder? What sort of injectors and water supply system are you planning?What sort of duty cycle are you envisaging for the water injectors? The petrol injectors are probably batch fired, but your water injectors would need to be sequential and accurately phased, so they'll need to be sized to use a much shorter pulse. This may mean you can't simply drive them from the petrol injector signal. You could use the ignition LT pulse to give you a crude engine phase sensor but you still need some logic to decide which part of the engine cycle you're in and switch the fuel and water injection systems on and off.Needing sequential injection also makes it harder to choose the ECU. There are several aftermarket systems that support sequential injection up to 6 cylinders, but it rules out the experimental systems such as Megasquirt/VSMS. It would be worth doing some research though to find what state MS is up to now - last time I was involved with this they were developing a SMD controller that was planned to support lots of drivers and probably do what you need here.If you're running this setup in economy mode I guess you'll be around 3000 rpm which corresponds to 20 ms per crank revolution. If you wanted to complete the water injection within say a 45 degree period, that gives you 2.5 ms water injection duration. I wouldn't expect any difficulty achieving that with an Arduino. The pulse wouldn't need to be calibrated accurately as long as you have some scope to dial it up and down a bit to find the best compromise between water consumption and power. You'd also need outputs to disable the corresponding injector, and inputs for crank position (crank trigger wheel?), cam position (#1 spark LT?) and throttle (MAP?) so you could decide when to enable water injection and phase it correctly.
You'll need some additional way of telling whether the spark is for a particular cylinder, perhaps a flip-flop readable by the Arduino that is set by a spark to a particular cylinder and cleared by a spark to the next cylinder.