[solved] Problem connecting car instrument panel to arduino uno

Hello, I'm new here. I don't have much experience in electronics, but I love to play with arduino! Now I am trying to control instrument panel from old honda civic. The problem is that I can't make to work RPM gauge. Coolant temperature, fuel level and speedometer works, but the RPM does not. I draw a simple schematics how I have connected everything. I have 12V power supply from my old PC(battery). The notes show connections between instrument panel and breadboard. B1 - Fuel, B2 - Speedometer, A4 - Coolant temperature, A5 and A3 - power, B8 - tachometer. The B1,A4 and B2 needs ground to work, but B8 needs voltage. I thought that NPN transistor will connect A3 with B8 when Arduino Pin 6 is high, but it is not working, the current goes from A3 to Pin6. Any ideas why?

Do you know what sort of signal goes to the tachometer?

What sort of signal goes to the Speedometer?

...R

Robin2:
Do you know what sort of signal goes to the tachometer?

What sort of signal goes to the Speedometer?

...R

For speedometer to show around 100km/h i send a 1 ms pulse every 14 ms

For tachometer should be similar pulses but at diferent interval i think(every 250 ms probably).

Measuring voltages on speedometer when only power on : gnd->B2 4.6V
A3->B2 0.1V

Tachometer: GND->B8 0.04V
A3->B8 10.0V

because of that i think speedometer not working the same as tachometer, and needs different wiring :confused:

I got things back to front. I thought you were trying to get the Arduino (rather than the instrument panel) to display RPM from the engine. But I think you want the Arduino to pretend it is the engine in order to make the instruments move.

Are you able to make the tachometer move at all by sending pulses to it?

I know nothing about the wiring. Maybe the tachometer expects 12v pulses?

...R

Robin2:
I got things back to front. I thought you were trying to get the Arduino (rather than the instrument panel) to display RPM from the engine. But I think you want the Arduino to pretend it is the engine in order to make the instruments move.

Are you able to make the tachometer move at all by sending pulses to it?

I know nothing about the wiring. Maybe the tachometer expects 12v pulses?

...R

yes, I am trying to make instruments to work using arduino.
To move tachometer with arduno - no, but when I connect and disconnect A3 to B8 fast by hand the arrow in tachometer jumps a bit.

oh, i measured again, and somehow now A3toB8 shows 10V, something went wrong at first measurement.
I think, the problem is that I can't make current to flow from A3 to B8 using NPN transistor.

You should tell more, now we have to guess.
When do you measure 10 volts ?
Is that while the instrument panel is powered and the Arduino is idle ?
Is tha Arduino connected to the panel at all during that measurement ?
Is it during your Arduino sending some kind of pulses (and what pulses are that) ?

Chances of some Honda Civic expert visiting this thread are very low, even if that model was sold millions of times.
You should provide as much information as possible, so people trying to help will have a better chance of doing so.

MAS3:
You should tell more, now we have to guess.
When do you measure 10 volts ?
Is that while the instrument panel is powered and the Arduino is idle ?
Is tha Arduino connected to the panel at all during that measurement ?
Is it during your Arduino sending some kind of pulses (and what pulses are that) ?

Chances of some Honda Civic expert visiting this thread are very low, even if that model was sold millions of times.
You should provide as much information as possible, so people trying to help will have a better chance of doing so.

I have not much experience, so I do not know what information might be important when measuring, sorry :slight_smile:
1.Instrument panel is powered (A3 and A5 connected).
2. Arduino connected to B1 - Fuel, B2 - Speedometer, A4 - Coolant temperature, no signals sent to them.
B8 disconnected from board
Measured A3 to B8(A3 connected as power to instrument panel and to multimeter red wire, B8 wire connected to multimeter black wire)
3. Arduino powered, but no signals were sent.

  1. There is no need specific knowledge of hondas, I even added instrument panel circuit picture from repair manual to you to imagine what is there :slight_smile:

No need to be sorry, that's why i asked to give a bit more information so you can be helped.

I did see your instrument cluster wiring diagram.
That's not exactly a schematic, but probably the closest a mere mortal can get.
It doesn't show what's going on inside that cluster (there's some "black boxes" in there), but it does show how it's wired.
So now one needs to guess what signal is supposed to be sent from the igniter unit to the tacho circuitry inside the cluster.
Not your fault, because you must be guessing too at this moment.
A Honda mechanic might know what signals are supposed to be there.
Someone with the same model civic (they've been around for a while) might be able to measure it for you, preferable by using an oscilloscope.
Expect quite short pulses that are synchronous to the spark plugs that are fired by the igniter unit, perhaps divided by the number of spark plugs.
But that's me guessing now...

omg, I just found how to make this work! after much of reading about transistors I found out this article:
PNP transistor switching
and tried to make this circuit myself:

and it works ! now when I send 1ms pulse every 20ms tachometer shows 1500 RPM :slight_smile: thanks for effort guys :slight_smile: my final breadborad:

I am hoping somebody can help me with this. I am trying to replicate exactly the post above but I am having trouble. When connected as above the NPN switches between 3v and 12v (its a NTE123). The PNP (NTE292) never shuts the power down i think because the NPN isn't going all the way down to 0v. Any help would be greatly appreciated.

Hi Can I get the code you used for the Arduino and what pins on the cluster you attached the Arduino too?

Hi.

It's quite unlikely for Alianto to see your request, and Alianto would have to re-register to answer your question because they never came back after their 3 messages in this thread about 5 years ago (so the account expired).

Having said that, this is the easiest thing to do after you made a start with coding for your Arduino.
Because doing what Alianto has told about in this thread, is nothing more than to change the sketch already in the Arduino when you get it: Blink.
You'd rather use the "Blink without Delay()" sketch if you ever want to do more than just control your tachometer but the standard sketch will give you a start and you'll probably learn a bit while trying to have it do what you want it to do.

Lots of luck and fun.