I bought (another!) bike speedo and I'm going to try using that as a readout - presumably it's waterproof.It's also kind of a neat idea if you think of it as a bike speedo circuit bending exercise. You're basically breaking into the speedo's sensor wire and installing an arduino that changes the readout depending on the tach input.
My Arduino uses IC1 to decode J1850 (could measure RPM directly)
My code http://www.zdez.org/pulse1.c uses 1000000 baud but feel free to edit that. It prints out high and low values. To get period, just add the current width and previous, or remove the edge detect flip code at the top of the IC ISR. Once you have it printing out the correct period, just do the appropriate scaling to get RPM.
Can I get some sort of a wiring schematic for the RPM pickup? I wonder if the signal needs any sort of hardware filtering. I imagine it would be a good idea to filter the data in software too. Maybe throw out the highest and lowest value and average the ones in between?Or is the signal so clean in your experience that it doesn't need anything like this? The tach signal I'll be capturing is coming straight off the ECU and not off the distributor or ignition signal wire or anything like that. So I'm assuming the signal should be clean...