logo elektroda
logo elektroda
X
logo elektroda

Electronic pointer tachometer for motorcycle

jaclew  17 21300 Cool? (+34)
📢 Listen (AI):

TL;DR

  • Built an analog electronic pointer tachometer for a Yamaha XT600 3TB motorcycle, replacing the original cable-driven mechanical gauge that caused oil leaks and failed links.
  • The design uses a CS8190 IC driving an air-core movement from a Polonez cluster, with custom component values and red SMD backlighting in a stacked PCB assembly.
  • The tachometer is calibrated for 180 degrees at 9,000 rpm, with a 263 kΩ Rt target and about 50 mA current consumption.
  • It works in daily use, accepts one ignition pulse per crankshaft revolution, and needs only input connection plus RPM adjustment; the PCB pattern was not provided.
Generated by the language model.
Already a few years ago I made an analog electronic tachometer (with a tip) and it works without problems in my motorcycle
enduro which is Yamaha XT600, type 3TB, year 1995.
I think that since the design has proven itself "in battle" it will be worth presenting it here.
Why did I make such a modification? Mainly due to the fact that the old mechanical indicator was driven by a cord
from the worm gear in the engine head. Often there was an unsealing of the O-ring which caused oil leaks,
and the link itself also disappointed. The original one is expensive and the poor quality substitutes have not lasted even one season.

I show below step by step how the design and implementation went, I attach a diagram with the values of the elements,
so almost complete data to make such a tachometer on your own.
Almost, because I do not show here the PCB pattern due to the fact that it is dimensioned for the specific housing of my old original meter.
In addition, whoever wants to can use the ready tachometer module and as such adapt it to their needs.
I downloaded the two most important components from it: the CS8190 integrated circuit and the air-core tip drive, and I've done the rest myself.
I will write about this module later.

In this forum, in the automotive section, there is the topic "Tachometer in a moped":
Tachometer in a moped
but dozens of answers do not consistently present one concept of the device there, and when the thread of the tachometer module similar to the one described here appears, there is no meaningful explanation of the changes needed to adapt it to specific requirements.
Therefore, I think that here - in the DIY department - showing your own solution will be appropriate and welcome :-)

Well, then.
Modifications were made on a motorcycle with a four-stroke, single-cylinder engine, TCI ignition controlled by a microprocessor. It supplies one coil and one spark plug.
Oscilloscopic measurement showed that the ignition module gives one impulse for every revolution of the crankshaft.
This is how the oscillogram looks like when the engine is idling (about 1500 rpm):


I used the original housing of the tachometer because it also has control lamps.
The dial, which was also preserved, was illuminated by a W5W bulb, but it did not look good.
I decided to change it too.
The maximum reading of the original tachometer is 9000 rpm with a pointer angle of 180 degrees.
It looked like this:

I bought a cluster of clocks from Polonez for 20 zlotys and got a tachometer from it (Lumel MS14)
It is built on the basis of the CS8190 system, which controls the air-core drive. It looks like this:

As I have already mentioned, the module on the board can be adapted by appropriate selection of elements to suit the tachometer's own design.
Air-core itself is easily removable from the plate (four M3 screws) and most importantly - with a relatively hard return spring on the axle.
Thanks to this, it is more resistant to shocks, after all, it was in the Polonez driving on our bad roads years ago.

It will therefore remain to get (or replace) several items.
The diagram does not differ much from the application from the catalog note CS8190 and is almost the same as the one from Polonez:


Assumptions for the project
1. maximum tip angle is wskazówki = 180 degrees
2. maximum frequency of the input pulse is f = 150 Hz (max revolutions 9000 [rpm] / 60 [sec])
3. Ccp = 4.7 nF
4. R3 = 3 k?
5. R4 = 1 k?

Calculations
in the catalog note of the CS8190 integrated circuit the following formula is given for the swing angle of the air-core pointer:
? = 970 xfx Ccp x Rt
so we calculate the value of the resistor Rt from it:
Rt = ? / (970 xfx Ccp) = 180 / (970 x 150 x 4.7) = 263 k?
To be able to correct this value, I split it into a series connection of a resistor Rta = 220 k and a potentiometer Rtb = 100 k
We calculate RC time constants for two cases:
1.Ccp capacitor charging:
(R3 + R4) x Ccp = (1 + 3) x4.7 = 18.8 us
2.Ccp capacitor discharge:
R3 x Ccp = 3x4.7 = 14.1 us
and check if the conditions for the minimum input signal period are met, which is:
Tmin = 1 / fmax = 1/150 Hz = 6.67 ms
Well, the RC time constants calculated above must be less than 10% Tmin (i.e. 667 us) and this is the case here.

We then calculate the value of the C4 capacitor, which is a compromise between the acceptable vibration of the pointer,
and sometimes her reaction to the signal. The catalog note gives the following formula:
C4 = (Ccp x 6.3 V) / ?Vmax
In my design, I assumed that the vibration of the hands were relatively small at the expense of the reaction speed.
I assumed ?Vmax = 30 mV and hence the calculated value:
C4 = (4.7 x 6.3) / 0.03 = 1 uF

The experimental value of the C5 capacitor is yet to be selected if the air-core would be without a return spring (they are such)
My air-core has such a spring, so C5 is completely unnecessary, but I kept it for more reliable filtration of the supply voltage
(C5 = 100 uF and C6 = 100 nF)

Summary of items:
R1, R5 = 1 k?
R2 = 4.7 k?
R3 = 10 k?
R4 = 3 k?
R6 = 4,7
Rta = 220 k?
Rtb = 100 k?
C1, C2, C6 = 100 nF
C3 = 4.7 nF
C4 = 1 uF
C5 = 100 uF (25 V)
D1 = np. 1N4001
D2 = Zener 30-50 V
CS8190
Air-core with a coil resistance of about 200 ?

Execution:
Three stacked PCBs. The bottom is the main board with all electronic components on board.
The middle one is the base for the air-core, and the top one has SMD LEDs that illuminate the dial and pointer
on red. LEDs are powered from a separate light circuit in the motorcycle.
The power supply to the electronics itself is taken of course "behind the ignition"
The pulse signal comes directly from the ignition module output to the coil (keyed + 12V)
A few photos about the installation of the tiles:



Launching is reduced to connecting the tachometer input to the ignition module output where the signal goes to the coil
ignition and potentiometer adjustment of the indicated RPM so that they are as close to real as possible.
Current consumption about 50mA.
Vibration tips while driving due to shocks are gone, as I mentioned the air-core drive has a strong return spring and it seems to be an exam.

About Author
jaclew wrote 206 posts with rating 210 , helped 27 times. Live in city Rzeszów. Been with us since 2011 year.

Comments

Anonymous 03 May 2017 06:02

So you replaced the housing and changed some elements based on the manufacturer's note. From the description I did not deduce that the PCB you made yourself (no description) and the PCB looks well... [Read more]

k9mil 03 May 2017 10:20

Very nice design and importantly described exactly. If someone wants to transfer it to a multi-cylinder motorcycle, there will be no problem because it is written how to calculate everything. This backlight... [Read more]

Anonymous 03 May 2017 10:35

There is nothing in the description about the PCB (iron, chemistry). In the low-budget production version I saw such PCBs, usually copper is tin-coated, but not necessarily. I saw production series without... [Read more]

vp32 03 May 2017 11:11

Tell me exactly what Polonaise these clocks were from? I suspect that not every tachometer was mounted on this CS system. [Read more]

djfarad02 03 May 2017 11:19

Terrible clinging. The author has carried out work, which he described quite accurately. He made mechanical modifications, took into account the adaptation of the integrated circuit application to work... [Read more]

zgierzman 03 May 2017 13:29

Give R-MIK a break. This is an outstanding specialist in every field. He did not make such arrangements. Read it yourself this subject . I like the layout, a good way to use parts from the... [Read more]

jaclew 03 May 2017 13:58

... and this is what I described here! Thank you for your accurate remarks k9mil and djfarad02 Not every writing here must be a diploma thesis right away as not every diploma thesis is suitable for ...... [Read more]

Anonymous 04 May 2017 06:49

Everyone used to start and create more or less successful constructions. This one, although simple, is made very carefully. Many of the constructions presented here could be called a makeshift. Returning... [Read more]

jaclew 11 May 2017 22:42

The PCB was protected with PVB60 after testing and final seating in the housing. It is quite tight so moisture is unlikely to appear. I attach a short video showing how the tachometer works on my... [Read more]

noszczyk24 14 May 2017 01:24

Is this suitable for diesel? Does anyone know if the signal from the 'W' alternator will be sufficient for the tachometer to operate? PS project great, it will definitely be useful :) [Read more]

jaclew 15 May 2017 13:49

CS8190 is basically an f / U converter and should be adaptable to the "W" output of a diesel alternator. The following conditions must be met: - the maximum voltage applied to the system input should... [Read more]

robokop 16 May 2017 11:45

The CS8190 system is an old age, for differential control, with two coils. In newer motorcycles, the tachometer system is based on TB9226, where the number of cylinders is configured with jumpers. Still... [Read more]

jaclew 16 May 2017 14:52

Right, CS8190 is old, but it is relatively easy and cheap to obtain from Polonez clocks. It controls the logometer, which is also an advantage, because it is a simple drive and fault-tolerant. The... [Read more]

reaven22 25 May 2017 22:20

Do you have datascheet for TB9226 ?? [Read more]

bodzio.t 29 May 2018 11:58

Is it possible to obtain a PCB schematic on a 1: 1 scale, I have a tachometer in xt 600 [Read more]

MoniTOX 02 Jul 2018 20:06

I used to do several tachometers, the one from the polonaise has a very high pointer inertia. In my opinion, the best ones are AutoGauge. They have regulations for 2, 4, 6 cylinders, and the conversion... [Read more]

ivicajan 19 Apr 2025 05:40

If someone have another one already made and working I am willing to buy it ;) I am restoring my yamaha XT600 from 1984 and have broken revmeter (2 of them). I'm in Croatia. Thanks in advance, ... [Read more]

FAQ

TL;DR: DIY CS8190 tachometer handles 150 Hz (≈9 000 rpm) and draws 50 mA; “air-core drives shrug off vibrations” [Elektroda, jaclew, post #16450647] Build costs ≈20 PLN for the donor cluster. Calibrate with a 50 Hz mains source.

Why it matters: The design lets riders replace failure-prone mechanical cables with a stable, shock-resistant electronic gauge.

Quick Facts

• Max tested input: 150 Hz (single-cylinder, 9 000 rpm) [Elektroda, jaclew, post #16450647] • IC limit: 20 kHz signal frequency [Elektroda, jaclew, post #16477259] • Current draw: 50 mA @ 12 V [Elektroda, jaclew, post #16450647] • Donor Polonez cluster price: 20 PLN (~€5) [Elektroda, jaclew, post #16450647] • Air-core coil resistance: ~200 Ω [Elektroda, jaclew, post #16450647]

What components are essential for the CS8190 tachometer?

Key parts: CS8190 IC, air-core meter (~200 Ω), R1–R6 resistors, Rt 220 kΩ + 100 kΩ pot, Ccp 4.7 nF, C4 1 µF, C5 100 µF, protection diodes, and a 12 V supply [Elektroda, jaclew, post #16450647]

How do I size the Rt resistor for other RPM ranges?

Use θ = 970 × f × Ccp × Rt. Rearranged: Rt = θ / (970 × f × Ccp). Insert desired sweep angle θ and max pulse frequency f to compute Rt, then split it into a fixed resistor plus a trim pot [Elektroda, jaclew, post #16450647]

Will the circuit work on a four-cylinder engine?

Yes. Recalculate Rt for the higher pulse rate (pulses = revs × cylinders / 2 if wasted spark) and keep RC constants under 10 % of the minimum period [Elektroda, k9mil, post #16451373]

Can I drive it from a diesel alternator “W” terminal?

Yes, if the ‘W’ signal stays below the 12 V supply and under 20 kHz. Keep the output frequency linear with RPM and follow the same Rt formula [Elektroda, jaclew, post #16477259]

What is the simplest calibration method at home?

  1. Feed 50 Hz AC from a 5–10 V transformer into the input.
  2. Set the pointer to 3 000 rpm using the pot (50 Hz × 60 = 3 000).
  3. Verify a second point with a handheld tachometer if available [Elektroda, jaclew, post #16451863]

How much current does the gauge consume?

Measured draw is about 50 mA with LEDs off, well under the 1 A fuse on most bike lighting circuits [Elektroda, jaclew, post #16450647]

How do I protect the PCB from moisture?

After testing, coat the board with PVB60 or similar conformal lacquer and ensure the housing seals properly. This blocks condensation and splash water [Elektroda, Christophorus, #16453361; jaclew, #16470792].

Does pointer inertia affect responsiveness?

The Polonez air-core has noticeable inertia; it may lag during rapid throttle blips, especially above 6 000 rpm [Elektroda, MoniTOX, post #17309037]

Are there newer IC alternatives?

TB9226 offers jumper-select cylinder counts and lower power draw, yet needs a matching digital input. CS8190 accepts simple coil pulses and suits retrofits [Elektroda, robokop, post #16479031]

Is a 1:1 PCB layout available?

The author did not release the board art because it fits a custom XT600 housing; you must redraw to match your case [Elektroda, bodzio.t, #17246795; jaclew, #16451863].

What is the main failure edge case to watch?

Using an air-core without a return spring demands a damping capacitor (C5) or the needle oscillates wildly [Elektroda, jaclew, post #16450647]

3-step installation recap?

  1. Mount stacked PCBs and LEDs in the gauge shell.
  2. Connect +12 V after ignition, ground, and coil pulse lead.
  3. Calibrate with the pot, then road-test for jitter [Elektroda, jaclew, post #16450647]
Generated by the language model.
%}