HEI Ignition Coils

The nano is good, I use that too. I program using CVAVR compiler. Much faster code execution than arduino IDE.

There is a schematic for coil drive circuit in this post.Ignition Coil Testing

The resistor in the emitter leg sets the current limit, as current increases, voltage increases, turning on small BJT that pinches off IGBT, holding current constant. The off, is more of a regulation, circuit still has ignition control.

There is a reason to extend dwell at lower RPM, if engine speed abruptly decreases, it is possible to fall short on coil charge. It has to do with the time between cylinder operations being long at low speeds, and the coil charge time very short .100 ms vs 3 ms as example. Cranking, letting clutch out at idle... so dwell is extended, current limit takes care of holding coil energy for when ignition needs to happen. Normally coil is charged just prior to using, at medium RPM, works well, at higher RPM, ignition duration is interrupted to increase available dwell if necessary. OBD2 compliance has schemes to monitor coil peak current, with corrective actions to insure correctness, avoiding missfires. I have that designed for next gen.
Sorry for late reply, been a crazy week. I'll have to look into CVAVR. I get what you're saying about interrupting the firing time to keep dwell up now, I'll have to work that out in my program as I don't have anything in place to do that yet, but I think I know how I'll do it.
Did you include any rev limiter function? Was thinking about adding this and in theory it wouldn't be hard to just cut off ignition at a certain point, but I'm wondering what the ideal pattern to skip certain cylinders firing would be... I guess it would work like cylinder deactivation that chrysler uses in V8s now. Going to have to look into balanced firing patterns that skip cylinders..