It sounds like you may have a lot of knowledge on this sort of topic Steve, that may prove to be useful, thanks! 
Always a pleasure!
Just so you know where I'm coming from, I have a degree in Motorcycle Engineering, which is basically an Automotive Engineering degree but with modules on Chassis Dynamics, which for a motorcycle is scarily complicated! The degree included setting up a Megasquirt (or was it a Microsquirt? - I need to remind myself) to run a Honda CB500 twin cylinder engine. I also did a deep dive into the functioning of the ECU on a Royal Enfield by developing a comprehensive data logger, with added idle speed stabilisation and four analogue gauges for fun.
The engine I'm working on at the moment is a 60cc Centaur - a (relatively) low revving 60cc single cylinder engine first published in Model Engineering magazine back in the early '60s. The ECU - based on an Arduino Nano Every - currently controls the fuel injection system and has software control over the cooling system waterpump and radiator fan. The software can also control the power to the ignition system, but not control the ignition timing yet.
For such a simple system with only a fuel injector, throttle blade, and some timing pickups, I would like to build a system from scratch. This engine and alternator is going to be installed in a 4 foot RC boat, which itself is all scratch built. The diy and open source EFI systems are cool though.
First thing to say is that you won't need highly accurate ignition timing or FI timing to get it running. I've found that injection pulse durations rounded to the nearest millisecond (yes, really) are fine. That's because I'm using low pressure propane, so injection durations of up to 24ms are needed.
I would start by setting the ignition timing to 15 degree BTDC to begin with. Don't worry about controlling it - 15 degrees will be fine to start and run the engine. Then concentrate on the fuel injection system. As discussed earlier, get the engine running with a knob for manual control over the fuel injection pulse duration and build the map as I described earlier. After that you can go back and incorporate variable ignition timing.
I'm going to check my degree dissertation to remind myself of the fuel injection pulse duration range on the Enfield, as it will be fairly typical for a small petrol engine and give you an idea of where to start.
One last point: you won't be able to run the injector at a substantially lower pressure than it is designed to handle. This is because the fuel pressure is instrumental in forming an atomised mist of fuel. Reducing the fuel pressure too much will cause the injector to "dribble" or "hose" - that is, inject large droplets of fuel leading to very poor combustion.