Arduino controlled motorcycle tachometer

I found a smashed Kawasaki dash in the dump. The speedometer was destroyed, but the tachometer was OK. The first thing I did was connect the tacho to 12v. It had three contact points marked IGN, GND and an unmarked one. I figured that IGN was +12V and the unmarked one was the signal input. So I powered up the tacho and flicked a 12V wire on the unmarked contact. Surprisingly it started indicating about 3000 revs.

I then Google’d a way to output a +12V square wave with the Arduino and I found this:

The next thing I did was hook everything up on a breadboard to test it out:

Using a potentiometer I varied the delay in microseconds for the off time of the signal used to drive the tacho.

I had to fiddle a lot with the Arduino program. I figured out that because I had inserted a Serial.println(val); to print out the value of the delay I was using to modify the signal was adding a bit of a delay. The next thing to be done is to receive some data over the serial port and display it on the tachometer.

Arduino controlled motorcycle tachometer