?My invention: Best boost/CAN gauge ever on the OEM red LCD display.
#309
Insert funny quote here.
Join Date: Apr 2012
Location: Adelaide, Australia
Posts: 5
Likes: 0
Received 0 Likes
on
0 Posts
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.
#310
Scrappy
iTrader: (1)
I can't share what I've been given, but if you want to mess with it here are the color codes (from the wires to the 12 pin connector).
Black - GND
Grey - GND??? -- (small resistance)
White/Black - 0.5v -- (unknown)
Brown - SPI CLK
Purple - Mode 0
Yellow - 5v (persistent) -- (clock)
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.
Black - GND
Grey - GND??? -- (small resistance)
White/Black - 0.5v -- (unknown)
Brown - SPI CLK
Purple - Mode 0
Yellow - 5v (persistent) -- (clock)
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.
#312
weeeeeeeeee
iTrader: (12)
GoodBox Gauge | Product Categories | GOODbox Gauges
#313
Insert funny quote here.
Join Date: Apr 2012
Location: Adelaide, Australia
Posts: 5
Likes: 0
Received 0 Likes
on
0 Posts
I can't share what I've been given, but if you want to mess with it here are the color codes (from the wires to the 12 pin connector).
Black - GND
Grey - GND??? -- (small resistance)
White/Black - 0.5v -- (unknown)
Brown - SPI CLK
Purple - Mode 0
Yellow - 5v (persistent) -- (clock)
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.
Black - GND
Grey - GND??? -- (small resistance)
White/Black - 0.5v -- (unknown)
Brown - SPI CLK
Purple - Mode 0
Yellow - 5v (persistent) -- (clock)
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.
Thanks for the pinout, that is a huge start.
#315
UPDATE: The GOODbox is now for sale in the group buy thread
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:
A couple of features I would like to add soon:
Here are some videos of it in action:
http://www.youtube.com/watch?v=XSPWBuyuuLc
http://www.youtube.com/watch?v=NXTIb2aJJqA
http://www.youtube.com/watch?v=pA2Pt6ZCJow
http://www.youtube.com/watch?v=FfoIZJvrJ6E
http://www.youtube.com/watch?v=DICK5M4Ovug
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.
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
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.
- Check Engine Light code reading & clearing.
Here are some videos of it in action:
http://www.youtube.com/watch?v=XSPWBuyuuLc
http://www.youtube.com/watch?v=NXTIb2aJJqA
http://www.youtube.com/watch?v=pA2Pt6ZCJow
http://www.youtube.com/watch?v=FfoIZJvrJ6E
http://www.youtube.com/watch?v=DICK5M4Ovug
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.
#319
SARX Legend
iTrader: (46)
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.
#321
I can't share what I've been given, but if you want to mess with it here are the color codes (from the wires to the 12 pin connector).
Black - GND
Grey - GND??? -- (small resistance)
White/Black - 0.5v -- (unknown)
Brown - SPI CLK
Purple - Mode 0
Yellow - 5v (persistent) -- (clock)
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.
Black - GND
Grey - GND??? -- (small resistance)
White/Black - 0.5v -- (unknown)
Brown - SPI CLK
Purple - Mode 0
Yellow - 5v (persistent) -- (clock)
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
Last edited by slash128; 11-04-2016 at 10:05 PM.
#322
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.
#323
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…
#325
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
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
Last edited by slash128; 11-09-2016 at 12:05 AM.