Doubtful it's a bjt transistor because the PCM isn't sinking any current when the EST line is high. Certainly not enough to drive a bjt into saturation. Maybe an n-channel fet, but my guess is it's a little more complex. If I can find my old one I'll hack it open just for fun.

Whatever the case, it's not an issue. vilefly you're a genius for your impedance matching comment. I was able to do away with the external Schmitt trigger. I had no idea what voltage to shoot for so I took a WAG and adjusted the potentiometer until I was reading 4.29 volts (219 raw) on the adc channel. If anyone has a chance sometime soon I'd like to see what yours reads at idle. See kur4o's post on page 17 for how to measure.

I was able to add ignition supply voltage sensing for the dwell compensation and tested successfully. I still need to look over the controller log for any anomalies, but no DTCs were set and everything seemed to work as expected.

It may be my imagination or the ridiculously cold weather, but it seems like it takes another 90 degrees of rotation before the engine fires. I don't normally run this thing when I can't wear shorts but it seems to be just noticeably longer cranking with the exception of hot restarts. I'll have to test more on this but it does start every time and I haven't noticed any odd behavior.

Current firmware source 0.9.2 now on github https://github.com/spfautsch/diy-ltcc/tree/master

I will concentrate on finishing the schematic, but if anyone wants to start working on a test board before that materializes PM me any questions. The code should be relatively well commented as far as what pins are what, but it's not like a "blink" arduino sketch. Very little of the arduino core libraries were utilized due to the time sensitive nature of the main function blocks.