Chrysler 300M Enthusiasts Club
  • Cluster VFD display mod (GPS speed, current gear, CVIs, torque converter slip or lock...

  • LH Performance Modification Discussions
Ocean City 2019 Banner

Membership Banner

LH Performance Modification Discussions
User avatar
 #377378  by remi
 January 16th, 2019, 2:31 pm
Hi guys!

I don't know where to post this mod, it's not a performance mod but not a lightning mod neither (for a change :)) so here it is.
It's been a while since my last project, living temporary at my dad's place makes things a little bit tricky to start modding! I miss my old place, garage and electronics room...
Anyways! I'm onto something kinda ambitious. It all started when I saw on the web how one could trick the cluster to go into diag mode (tested on a Ford Fiesta then Ford Focus) where it would display more information, with written numbers. Mostly speed. Speed traps are E.V.E.R.Y.W.H.E.R.E in France, it's a great way to steal money from people as you can't argue with a machine.

What's the goal of this project?
First thing to note: I want this to be plug'n'play. That is remove the cluster, unbolt the cardboard protection screen, disconnect the VFD, plug the device in place of the VFD cable on the cluster mainboard, plug the VFD cable to the device, and somehow connect the device to the PCI bus... That's the main "issue". That will require ONE solder job.
And the device features will be:
- Display the GPS speed instead of total mileage while in D
- Only light the "Autostick" word while in autostick only
- Encircle the current gear even while in D
- Display transmission CVI
- Display torque converter slip ratio
- Display torque converter lock mode
- Display transmission status (cold, warm, hot)
- Maybe fuel trims?

Some nerdy background
As we don't have that on our cars, well I decided to start reverse engineer the display. As I already stated in this post the cluster has a Motorola MC68HCxx brain with a custom part number so it's impossible to get any datasheet. The cluster VFDs (odometer and gear lever displays) share a common VFD driver made by Oki but again the part number is useless. I was able to track down the VFD driver signals down to the MC68HCxx and unfortunately it was not on a "standard" communication port. Btw based on its PLCC52 package I think it's a MC68HC11 chip but whatever.

So the MC68HC11 and the OKI chip communicate via a 3 wires bus and using an oscillator I could identify the clock, data, and a synchronization signals and labeled the connector at the cluster. So we have 12v, 5v, ground, VFD filament heater, data, clock, sync.
The MCU sends messages to the display every 20ms, messages divided in 2 groups of messages identified by the SYNC signal. The oscilloscope is a great way to identify a signal but useless to decode it: a logic analyzer took care of that. The second message has a 2 bits header then 4 words of 16 bits that control the displays (one bit per pixel basically). The first message well I don't know what it does but whatever.

A few coding later, the Aduino was pushing bits to the display board and both VFD came to life! Wouhou they can display 123456 on the odometer display... Great! What's next?

Thanks to Amazon, I quickly received a u-box based global positioning device able to connect to GPS, Glonass, Gallileo and Beidu constellations of satellites. I'm using the proprietary communication protocol instead of the open NMEA standard because it's 10x faster and does all the work for me basically, merging location info from 3 constellations simultaneously. Accuracy should be awesome this way :)

Now let's talk to the car... I have an old but trustworthy OBD to USB adapter based on an ELM327 clone. While I've been using it for years with OBD softwares, I 've never used it "bare-hands" until now.
This was a great place to start!. That guy went very far! His DRB3 emulator database reader (on Github) is simply awesome, and I was able to get a lot of OBD bare commands that the DRB3 is using to ask for CVI, etc...

Current status...
Well well well... I'm able to send data to the displays but there's still some coding needed to read data from the cluster MCU. Treating and altering data is kinda done already.
Fitting an ELM327 OBD adapter in there is not doable, so I'm building a compact J1850-VPW transceiver that would act like an ELM322. Thanks to this interface it should be easy, I already have the ATMEGA8 online but haven't built the hardware around it.
Designing a PCB that would be small enough to fit under the cardboard protection screen... It should be screwed to the cluster and match current screw locations.

I have posted some pictures in Facebook but they only show the cluster, broken into pieces, wired to the oscilloscopes if you want to have a look:

Sneke_Eyez, M-Pressive liked this
User avatar
 #377380  by Sneke_Eyez
 January 16th, 2019, 4:15 pm
Very cool, Remi! I'm excited to see you work your magic on yet another groundbreaking mod!
User avatar
 #377474  by remi
 January 21st, 2019, 3:43 am
I've been working on the J1850 interface this weekend and got it working. My first attempt years ago didn't work because of a shortcut on the PCB, by bad... And I was able to plug it to an OTIS lying around. So for a proof of concept I think it's ok.

Now onto the displays... I've continued programming the Arduino, all my code does "compile" but I haven't tested it on a real cluster yet. So it's ready to get speed from GPS and display OBD speed as well as a warning if GPS isn't available, it reads CVIs from the TCM, fuel trims, intake temperature and absolute pressure and coolant temperature. I'm still working on reading the engaged gear from the TCM as well as the transaxle temperature.
Switching from speed to CVI to fuel trims is done by pressing 3 times the trip reset button. Then pressing the button will switch from a value to another (LR 2-4 OD UD for CVI, STFT-B1 STFT-B2 LTFT-B1 LTFT-B2 for fuel trims, etc...).
M-Pressive, KxWarrior liked this
User avatar
 #377507  by Mopar1
 January 26th, 2019, 8:34 pm
Very cool!
Can't wait to see your results!