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.