I'm building a miniature inline-6 (21.7cc) from scratch and I know how I want to control the ignition (3 hall effect sensors around the crank with one magnet on the crank, arduino fires the coils based on sensor input), but I don't know where to start with the programming. When firing the coils, I feel it would be best if the mosfets were turned on for only a few milliseconds, but I'm struggling to understand how the "blink without delay" program works.
I would also like to add in automatic ignition advance depending on RPM, as this small engine won't really see much load, and I can add throttle position sensors later (using a carburetor).
For the RPM display I would like to use a 4*7 segment display, because I don't plan to go past 8K rpm. I would also like to implement 2-step, at the press of a button, in addition to a rev limiter.
Is this possible with an Uno, or should I switch to a Mega?