Tear down Instrument Cluster

I found on eBay this Instrument Cluster from Mazda MX-5 2016 and decided to take a closer look at it, for potential integration with TFT display.



The construction of the cluster is quite simple. There are 2 layers PCB with all the components on one side. The main microprocessor is made by Fujitsu, MB91F575 , which has 2 CAN interfaces and calculates all the information from the CAN messages. The microprocessor controls 46 LEDs (10 of them are white illumination only), two step motors and one buzzer. Besides CAN messages, inputs for this unit comes from cluster switches, in analog form.

The fuel gauge is implemented on a segmented LCD, controlled by PT6526-LQ chip, which has a serial interface for incoming data. This means it will be relatively easy to insert additional digital information into the middle section. Using a PIC processor, I did a quick test setup for this LCD; through serial interface 36 bytes controlling all the available segments. The video below shows segments association with byte number. For demo purpose, I used temperature field as a byte number. Each byte controls 8 segments, which will light up sequentially.

I think I can use the field allocated for cruise control to show some other info, when cruise control is off. For example, I always wanted to see cabin temperature next to outside temperature gauge. The next video shows insertion of my data (counter) while passing through all other data. In this field it is possible to show 3 digits with range 0 – 299.

This was done by cutting 3 wires and adding PIC18F25K80 micropocessor, which is capable to process CAN data as well. Technically, I can display any data available on the CAN bus within range of 0 -299.


The LCD is mounted into the socket and has the following measurements: 79mm x 60mm x 15mm. I think it will be possible to replace it with a similar size Graphic TFT screen (320×480 ), and replicate the same information and more. However, my ultimate goal is to replace the analog gauges with one single  TFT panel, and remove that sticking out display from CMU.  I think I can design a LVDS muxer, which can mux the data from the CMU and from an additional controller to make one integrated video stream for this cluster.

The challenge will be to decode CAN messages, which are turning these 36 LEDs, to represent them on a graphic screen instead.

To be continued….


23 thoughts on “Tear down Instrument Cluster

  1. For the 124 Spider, the cruise speed might be an ideal location for Turbo Boost, since you naturally don’t care about boost while in Cruise mode. You have many interesting projects ongoing.


    • everything trough single buzzer. “Low” and “High” sound level defined by selectable resistors of the buzzer driver. Computer provides different frequencies with same logic level. There is really no way to change level by software beside two presets.


  2. Oh, can you enable a hyperlink to the 2 cluster PC board photos, so we can enlarge to zoom in? I can’t even locate any transducers.


  3. Pingback: Turn Signal Audio ~ Insufficient Volume | 21st Century Fiat & Abarth 124 Spider

  4. Pingback: Warning Timer for Turn Signal. | Gadgets for my MX-5 2016 (ND)

  5. very cool project. Found it because I just broke that long knob on my 2018 ND gauge cluster. It’s just hanging there and won’t come out, or change gauge brightness. The button does still work. From your photos it looks like that connects to a surface mounted pot. Do you know what the long knob looks like behind the front bezel? Is the bezel easy to remove once the cluster is out? I’m deciding if I should take it apart to fix it. If it would just fall out I would dab some glue on it and be done but it’s just dangling. Seems like your the only person online that has ever taken one apart! 🙂


  6. Hi, very nice project indeed. Do you think it’ll be possible to introduce a new CAN-Controller into the network and have it send data of multiple inputs like Oil-Temperature, Brake-rotor-temp and such?


  7. Hi, this simply great work that you do. My question is somewhat easier I hope: is there some way for me to change the language on my info display from Japanese (I have an import) to English? At this stage not looking for added features – just be able to understand what it currently displays. Would appreciate any insights you might be able to share. Thanks a million.


    • I have tried the other way around, changing from german / english / european cluster to the japanese coding. It was not possible. It seems there’re 2 different clusters for these markets. You can still try it, the mazda3revolution forum has an elaborate thread about customzing the AsBuilt-Data in different ECUs. It requires some hard- and software to change it.


  8. I was thinking the other day about a engine speed sync for down shifting. Could those three digits switch when the clutch is in to the proper engine rpm / 10 (only 3 digits instead of the full 4 we need) given the current vehicle speed and the gear the manual transmission is in? Do you have access to those two pieces of data? Is there a repository of the known ND CANbus info?


Leave a Reply to mediumjon Cancel reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.