Go Down

Topic: Controlling an analog automotive tachometer (Read 10144 times) previous topic - next topic


BenF is right, 3000Hz is far too high. Use the calculations he provided, or to put is another way, frequency = RPM * cylinders/120.

Your equation yielded the proper results albeit the needle only got close to the given x1000 which I sort of expected given the quality of this gauge (it was SUPER cheap)....

Below is the code I used and I sent the signal through a simple 4N25 Opto I had laying around to isolate the arduino from the rest of it...

Code: [Select]
void setup()  {
  pinMode(9, OUTPUT);

void loop()  {
    tone(9, 33.3333333333333);
    tone(9, 66.66666666666667);
    tone(9, 100);
    tone(9, 133.3333333333333);
    tone(9, 166.6666666666667);
    tone(9, 200);
    tone(9, 233.3333333333333);
    tone(9, 266.6666666666667);


I am glad you got it working. I am just curious, did you have a datasheet ? Others maybe interested doing the same thing.  Even me, I may add a tach for my car.

I haven't looked at the OBDuino and similar, but a tach-out signal would be a nice addition, if there isn't such a function already. Adding a tach to a Ford Focus is either easy or hard. I've found multiple differing "guides" on how to do it, but most of them involve an adapter which IIRC hooks up to the coil, or DIY renditions of the the same. I assume that if you hook up to the CANbus, tach info is there someplace.
... it is poor civic hygiene to install technologies that could someday
facilitate a police state. -- Bruce Schneier


Thank for the tips, justjed, I have to look into the Ford Focus Can Bus to have the tach signal.  Hum... by just thinking about it, when my car was being tested for emissions require by the Ministry of Transportation - Ontario, the tech only connect the CAN bus to a computer system and can read all the info when the car run on a tread mill.

Yes, it is possible... I will do a search about it. I will look at the book "Haynes Repair Manual" Ford Focus 2000 to 2005.

BTW, justjed, my car is fix, $3000 for a 60 000 km motor. ( include installation ).  :smiley-eek: Just to let you know. The motor fail around 150 000 km.   :smiley-eek-blue:

My car is fine now, BTW


I am trying to recreat this with a Tach I got from Summit. The tone function works well, however when I try to lower the tone signal frequency enough to get under 500rpm it starts to freak out. at 30hz I am at 500 rpm, at 29 hz I am pegged out on the tach. I tried to switch to the following code:

void loop() {
   digitalWrite(8, HIGH);
   digitalWrite(8, LOW);

and as I play with the time delay, I run into the same issue where its either 500 rpm, 0, or pegged out as I lower the frequency. Is it something with my signalling that once I get a square wave that is slow enough the tach can't handle it?


[May 2016]

I am trying to emulate the rotation of a speedometer cable to correct for a change in wheel diameter and gearbox and adjust BUT in passing I must observe that as soon as the tachometer becomes an integral part of a complex loom and the vehicles ancillaries start to become "sentient", tapping off wires to trigger/stimulate additional gizmos becomes problematic.

As the owner of a Honda Jazz with little more complex than a rev counter I have decided that displaying coolant temperature and lambda with this is best achieved via a bluetooth odbcII adaptor and a spare 7" tablet... if there is a way to tap into the odbcII with an arduino to grab into I would love to hear about it!


May 06, 2016, 06:45 pm Last Edit: May 06, 2016, 06:56 pm by drjohnbullas
Tachos on a lot of older (pre 1990's) vehicles such as mine take a feed from the low tension side of the ignition coil and the waveform of the 0v/12v is a function of the type of coil and ignition controller being used (optical, points or points assisted), you may find some feed 0/12v when the starter is turning and 0/9v running (ballasted coils)!

https://www.fairchildsemi.com/application-notes/AN/AN-8208.pdf is a good read nonetheless


The Tone() library cuts out around 30hz so that is likely why you are having issues at that level.


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131