Jump to content

Isuzu / Volvo Penta / VDO Tachometer Gauge - hour counter not working - fixed!


stuart

Featured Posts

Hi Stuart,

For over a year I am looking for a solution to fix my engine hour meter.

I ordered the parts you referenced in your article.

I have received this week.

Could you send me the code for the Arduino.

My email address is benoit@abcnetwork.be

Thank you in advance for your sharing

Link to comment
Share on other sites

I plan to update it in the near future with a nicer font, possibly also a 7-segment font, and I plan to create a small tool to create a customizeable splash screen that allows non-programmers to draw a splash screen in Paint and have it shown on the display at startup.

 

The update has now been uploaded with all of the above features.

Enjoy.

Link to comment
Share on other sites

  • 2 weeks later...

 

I've already written the program code to make this work, but you would need to know how to "burn" this program code onto the chip - the Arduino system - its relatively straightforward, start here...

 

http://arduino.cc/en/Guide/HomePage

Can you send me the program code for this repair.

Many thanks

Chris Brown

clbrown@blueyonder.co.uk

Link to comment
Share on other sites

  • 3 weeks later...

 

I've already written the program code to make this work, but you would need to know how to "burn" this program code onto the chip - the Arduino system - its relatively straightforward, start here...

 

http://arduino.cc/en/Guide/HomePage

Have downloaded the program Ardino. Can I send software code. My mail al.vorobyev1981@gmail.com . Thanks in advance !!

Edited by al.vorobyev
Link to comment
Share on other sites

Hi guys,

 

since I haven't heard back from Stuart since a week before Christmas, I decided to have a go at the code for myself. After all my Arduino Nano and OLED display arrived right after Christmas.

 

Stuart helped figuring out the LCD pinout and communication protocol, so that saved me the 15 minutes, and he also found the datasheet for the LCD controller, which I'm not sure how I would have found..

 

Anyway that didn't really help because I still didn't know how the individual segments of the seven segment LCD display were mapped to the RAM, which equals the data being transmitted on the I2C bus.

 

Fortunately it turned out that it's not the circuit on glass technology that sucks, it's the ribbon cable VDO used to connect the glass the the PCB that's the problem. In my case each connection had a resistance from a few kOhm up to just above 20 kOhm, which is obviously enough to break anything. Fortunately I managed to find another cable with a similar pitch in one of my boxes, so I could temporarily connect the LCD to the tachometer. To my delight it even worked! Then I could connect the LCD to the Nano and send commands to the LCD to turn on each individual segment one at a time to get the complete memory map.

 

Next it was an easy job to convert the information to ASCII to show on the OLED display.

 

In case anyone is still interested I've put my code here:

 

http://mtech.dk/thomsen/Husky/repairs/index.php

 

I plan to update it in the near future with a nicer font, possibly also a 7-segment font, and I plan to create a small tool to create a customizeable splash screen that allows non-programmers to draw a splash screen in Paint and have it shown on the display at startup.

 

Hi denmike, Nice work, sorry for not getting back to you sooner, got lots of other projects on the go at the moment!!

 

Didn't take you long to reverse engineer the screen, I wish mine had been working as I wouldn't have needed to work in the dark then!

 

Looking at your code its surprising how close they are to each other, I'll post mine on Github later when I get chance!

Edited by stuart
Link to comment
Share on other sites

  • 4 weeks later...

Very impressed with the above .I have no chance of understanding it as I my tech skills are non existant. Although my hour counter comes back on when it feels like it,I am fitting a separate hour counter .As this seems to be a wide spread problem,I wonder why the manufacturer has not addressed it?

Link to comment
Share on other sites

wonder why the manufacturer has not addressed it?

 

I normally only starts happening at about 2 years old, so out of warranty!

I agree to pay for the work done !!! Tired of buying the device enough 3-4 months. If anyone can send me a working program, specify the price!!!!

 

al, you've mentioned a few times you are struggling to get it to work.

 

What have you tried and what is not working ?

Link to comment
Share on other sites

  • 3 months later...

Hello Stuart!

I really enjoyed following your description how to fix the vdo hour counter display. I have two units that are malfunctioning and would like spend some time to try to fix them. I would really appreciate if you would send me the program needed.

Thanks and wishing You all the best!

Mats

Link to comment
Share on other sites

  • 4 weeks later...

Thanks Stuart! I was struggling for a long time until I found out that I had to use the old Arduino software. I tested both Your version and Denmikes version. Only when I switched to version 1.0 it started to work, but I assume You all knew that already.

In the end I chose to use Denmikes version. Now I have it working after some problems (wrongly connected wires etc, actually I think it is wrong in the description. Had to change the pins in the program). I also believe that the Arduino "WIN" pin should be connected to the vdo +V, not the 5V as said in the description... At least it makes more sense to me that way).

 

I do still have a problem, and that is that I have placed the boat logo in the center of the display, but the numbers are displayed on the top row. I do not want to move the logo, since then I would have to move the display further down and that would mean that I would have to machine the plastic peace even more. Since I am a newbie on programming the Arduino I do not seam to find how to move the digits one row down. Is there anybody that can help me on that? Would appreciate it alot.

 

Thanks in advance!

Matilda

Edited by Matilda
Link to comment
Share on other sites

Hi Matilda, glad you got it working!

 

Since building this, I'm finding that the OLED screen is difficult to read in direct sunlight, so I may replace with an old fashioned LED figure of 8 display - but don't let that put you off!

 

 

As you are using DenMike's code, I'm not 100% on the alignment of the the logo, however I suspect its this line...

 

display.drawBitmap(24, 0, Logo);
Try changing the 0 to another value and see if the alignment moves.
Link to comment
Share on other sites

  • 4 weeks later...

In the end I chose to use Denmikes version. Now I have it working after some problems (wrongly connected wires etc, actually I think it is wrong in the description. Had to change the pins in the program).

 

If you found a problem in the program, please let me know, and I'll have a look. It works on my boat.

 

I do still have a problem, and that is that I have placed the boat logo in the center of the display, but the numbers are displayed on the top row. I do not want to move the logo, since then I would have to move the display further down and that would mean that I would have to machine the plastic peace even more. Since I am a newbie on programming the Arduino I do not seam to find how to move the digits one row down. Is there anybody that can help me on that? Would appreciate it alot.

 

It seems like there are different instruments around with different location of the hour-window.

 

As far as I remember moving the text down is a bit tricky, due to the memory mapping of the OLED. If I remember correctly, it is only easy to move the text 8 pixels down at a time. You can try to edit the lines containing "128*b" to "128*b+128" (or 256, 384, etc). If this is acceptable, I will create a new version with this option for others to use.

 

If it is not good enough it's a bit more tricky. I don't mind looking into it, though.

 

I agree with Stuart, that the OLED is not easy to read during daylight, but it looks very nice in the dark, so I'm pretty happy.

 

PS: It turned out that the extra line 2 (commented out in the end of the ino file) is a digital RPM, in case anyone is interested to play with that. I'm still contemplating how I can make that shown nicely in the small window.

Link to comment
Share on other sites

  • 3 weeks later...

Great topic. My VDO tacho lcd hour meter is just playing up and a new meter at £200+ doesn't appeal!

My engine electrics are 24v - will that make a difference. Tacho is also only 3000 rpm, but I don't think that will affect anything.

Where are the number of engine hours actually stored?

Thanks.

Link to comment
Share on other sites

The VDO tacho stores the engine hours inside an EEPROM - labelled pcf8582c. A dump of this chip looks like this...

 

 

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x31

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x05,0xF2,0x05,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x01,0x90,0x01,0x00,0x00,0x00,0x0F,0xA0,0x05,0x17,0x29,0x28,0x0A,0x00

,0xFF,0x00,0xFF,0x00,0x05,0x17,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00

,0x65,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0xB2,0x30,0x31,0x32,0x30,0x00,0x33,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC2,0x00,0x00,0x00,0x08,0xA9

My engine hours are

F2 05 F2 = 0x05F205F2 = 1522 hours

Link to comment
Share on other sites

Stuart, thanks for that.

Tried the hairdryer trick and it worked for a while. Also tried to pull needle off but wouldn't budge. Guess I need more force?

My tacho is around 2003 and the outer bezel is painted brass. Needed a good levering to remove. It is also magnetic pickup from flywheel.

I assume that the 24v is of no consequence as the arduino and display are suppled by the 5v header on the gauge PCB.

I've downloaded your zip file and just have to get the bits.
A winter project.

Thanks.

Colin

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 months later...

Hi Stuart,

 

I've joined just so I can join this discussion. Very impressed you have decoded the ribbon cable signals, what did you use, a Bus Pirate? I know you have Arduino code for this project, but does it catalogue the information you discovered? Arduino code is not my preference, I'm a PIC person :)

 

You may have found a document on replacing the counter with a standalone unit from Curtis, that was mine. For the record, I don't have a boat on a canal, I've got one with sails on the sea. Many items of equipment cross-over though, as this proves.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.