(which I know works as an MS input because I've tried it).
Quote from: spandit on Dec 10, 2012, 11:59 pm(which I know works as an MS input because I've tried it).I must admit I'm surprised at that. Apart from a lingering doubt about that, everything else seems feasible.If you're using MegaSquirt then you also have [the option of] a map-switch function which you could trigger from the Arduino to put the ECU into a more conservative mode if the distribution of temperatures looks unhealthy.
MegaSquirt measures CLT temperature by using the sensor in a voltage divider, thus reading a differential voltage.
That's my understanding. Inside the ECU I'd expect to find a pull-up resistor, and an input to an ADC. With 20mA available at the Arduino output you can probably override the pull-up without any problem, but what voltage you end up with at the MS input I couldn't guess. Also, I wonder whether there is any smoothing or filtering between the external connector and the ADC. I haven't checked the MS circuit diagram, but off-hand I can't imagine any reason for the designers to have put in a low pass filter there. If there isn't one then you're asking MS to ADC a square wave signal and what value that will return is anybody's guess.