When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I think it'd be cool if you released the sourcecode/information on how the screen data is displayed/interpretted.
Dragging up an old thread...
This! I just pulled the LCD from an RX8 race car I'm stripping, and had thoughts about how I might control it.
Source code or some information on how to communicate with it would be great. Especially if there is no plans to sell these interfaces again in the future 0 let the open source community take it further.
I'd like to show some race car vitals on mine (will have no other stock Mazda electronics in the car) and communicate with it via beaglebone or raspi.
Red - 8.5v -- (unknown)
Blue - Mode 1
White - SPI CS
Green - SPI MOSI -- (data in)
Purple/Black - 5v -- (power)
Orange - 8.2v (7.1v with lights on) -- Backlight
You can't see anything on the display at all unless the backlight is on so watch for that. Also the radio head unit (or the Metra module thing) sends data to the display constantly, so you kind of have to fight with it.
All you need to use to write to the display are the SPI pins and the Mode pins. When sniffing traffic on the SPI bus be sure to pay attention to the states of the CS and both Mode pins.
Red - 8.5v -- (unknown)
Blue - Mode 1
White - SPI CS
Green - SPI MOSI -- (data in)
Purple/Black - 5v -- (power)
Orange - 8.2v (7.1v with lights on) -- Backlight
You can't see anything on the display at all unless the backlight is on so watch for that. Also the radio head unit (or the Metra module thing) sends data to the display constantly, so you kind of have to fight with it.
All you need to use to write to the display are the SPI pins and the Mode pins. When sniffing traffic on the SPI bus be sure to pay attention to the states of the CS and both Mode pins.
So if it speaks I2C/SPI then I'm set. Should be fairly easy to make it work. Mine won't be connected to a head unit of any kind.
So while I wait for all my turbo parts to arrive, the one thing that has been bugging me is the fact that I need an AFR and Boost gauge, but there is just no good looking way to mount them.
So I decided the best looking solution would be for the gauges to be on the pretty red LCD right above the head unit. Of course when I called mazda & their suppliers, no one would give me the signaling spec for the display, so I had to reverse-engineer it. Using a logic analyzer I figured it all out. Here are some pics of this process: https://i.imgur.com/YBhi8.jpg https://i.imgur.com/hQGSm.jpg
Step 2 was to design a circuit board that could fit in a small enclosure. I decided the best place was the ashtray. I figured since the CAN bus isn't too far from there, there is nothing preventing me from querying the car's computer for sensor data as well.
Here is the final product, I am calling it the GOODbox (Gauges On the OEM Display):
When on, it overrides the data coming from the head unit and shows you live gauge data. I can even override the fonts and make custom patterns & symbols. There is also a buzzer/beeper to warn about overboost, and while I was at it I added a feature that lets you choose custom startup text instead of the stock "mazda rx-8"
It can display 2 different screens, A or B. Each screen can show either 1 or 2 gauges. This way you can quickly switch around up to4 different gauges. It has a menu system that lets you choose gauges, calibrate the boost gauge and edit the custom startup text. Since the display is 12 characters, each gauge gets 6 characters in dual mode. Sometimes that is kind of cramped, but oh well. There is probably some improvements I could make with the formatting of dual gauge mode.
The harness just connects to tap splice connectors on the LCD's cable, a 12V power source and the CAN bus which is closest just above the head unit by the Tire Pressure Sensor Module.
List of currently supported sensor data:
Boost pressure
Coolant Temp
Air/fuel ratio
Intake Air temp
Short term fuel trim
Long term fuel trim
Throttle position
Engine load (in %)
Speed (mph)
Engine RPM
I can add anything to this list that the RX8's computer supports, just have to know the right ID.
A couple of features I would like to add soon:
When I designed the board, I added an additional analog pad that you could solder your own custom sensor to (for example EGT), but I haven't yet added that feature in the firmware. The idea is that you would use the menu to give it a name, and set calibration multiplier, divisor and offset. So displayed value would be data*multiplier/divisor+offset.
The display for the Mazda3 and Mazda6 is the same as the one in the RX8, so there is no reason it wouldn't work for those cars too. The MS3 definitely needs a nice boost gauge like this.
Well, what do you think? I am thinking about selling these. I would love to hear some feedback, and refine it a bit more. Soldering on all the small parts is kind of a pain, so I might have to find some kind of manufacturer to assemble the PCB for me.
This looks like an awesome idea, as far as a manufacturer, if you're in the states you could try SurmoTech.
I'd buy 1.
Try and send a PM to a member here named Dondo. I have gotten a few PM's about Goodbox Motorsports being closed but I asked Erik on Facebook and he didn't respond so I don't know what is going on.
Thanks 9k. We got booted from our physical space when it was leased out from under us but we're still here. my email is mike(at)goodboxmotorsports(dot)com now.
Red - 8.5v -- (unknown)
Blue - Mode 1
White - SPI CS
Green - SPI MOSI -- (data in)
Purple/Black - 5v -- (power)
Orange - 8.2v (7.1v with lights on) -- Backlight
You can't see anything on the display at all unless the backlight is on so watch for that. Also the radio head unit (or the Metra module thing) sends data to the display constantly, so you kind of have to fight with it.
All you need to use to write to the display are the SPI pins and the Mode pins. When sniffing traffic on the SPI bus be sure to pay attention to the states of the CS and both Mode pins.
Since I have this extra display I tore into a bit deeper and filled in a few of the wiring blanks. It is interesting that the SPI data lines aren't traceable to the chip itself. I don't have the chip completely exposed yet, so there might be some filtering caps or other components in the path. But here is what I was able to trace:
1) Red = Unknown - Can't Trace (yet)
2) Yellow = VDD +5V Chip Power - Traced to chip pin 1
3) Blue = Mode1 / AC - Can't Trace (yet)
4) Purple = Mode0 / RS - Can't Trace (yet)
5) White = SPI CS - Can't Trace (yet)
6) Brown = SPI CLK - Can't Trace (yet)
7) Green = SPI MOSI - Can't Trace (yet)
8) White/Black = Metal Shield around LCD, not sure why this wouldn't just be tied to ground?
9) Purple/Black = +5V - Can't Trace (yet)
10) Grey = VSS 0V Chip Ground - Traced to chip pin 14
11) Orange = LED Backligh V+ (+8V) - Traced to LED (+) terminal
12) Black = LED Backlight Ground - Traced to LED (-) terminal
I am starting to think that the Red wire is LCD Display voltage VLCD1, which, according to the chip data sheet, should be anywhere between VDD (+5V) and +10V, so I have it connected to the +8V driving the backlight LEDs.
I just figured out I could run my Arduino as a logic sniffer woohoo!!! This is just garbage on the pins while I was validating the channels, but hopefully will be testing today…
Yeah, I think my sample rate is just way too low lol... I am a newb and learning as I go...
I'll give increasing my sample rate a shot... In the meantime, I just verified I could tie several of the lines together and the LCD still operated. At this point I believe I should be able to run the LCD without the head unit, if I can just get my code correct :-)
EDIT: I have confirmed the display can be run without the head unit with the following connections. The modes listed earlier in this thread were reversed, which hung me up for awhile
EDIT EDIT: After pondering a bit more, perhaps the modes aren't flopped, but their reference to the chip pins is flipped, ie: Purple is mode0, which is actually AC and not RS...
LCD Board Connector PIN
1) Red = VLCD1? - I believe so at this point - Tied to +8.0V with Orange
2) Yellow = VDD +5V Chip Power - Tied to +5.0V with Purple/Black 3) Blue = Mode0
4) Purple = Mode1
5) White = SPI CS
6) Brown = SPI CLK
7) Green = SPI MOSI
8) White/Black = LCD Shield - Tied to Ground 0V with Grey and Black
9) Purple/Black = +5V - Tied to +5.0V with Orange
10) Grey = VSS 0V Chip Ground - Tied to Ground 0V with White/Black and Black
11) Orange = LED Backlight V+ (+8V) - Tied to +8.0V with Red
12) Black = LED Backlight Ground - Tied to Ground 0V with White/Black and Grey