Honda Insight Forum banner

Controlling the Instrument Cluster's Display

74946 Views 470 Replies 65 Participants Last post by  Mario


A little project I'm working on. :) (Sorry for the horrid picture!)

Here's the elevator pitch: Directly control the LCD panel with a microcontroller to display custom information on the instrument cluster. The microcontroller will also read the data that would normally be going to the LCD and can choose to display that info or custom info.

Maybe you want to display OBDII parameters where the MPG is. Maybe you want to change the charge, assist, and SOC gauges to accurately reflect amps in/out, real battery SOC, etc.

I've got a few other ideas as well. Once I'm finished with this project I'll open-source everything I've learned and perhaps produce some PCBs to sell. We'll see!

I have work and other projects as well, so it may be slow going at times. But I'll try to give updates fairly regularly.
I don't think this has ever been done before. I hope you guys are excited!
If anybody is or wants to work on something similar, I'll be glad to share what I know; just ask.
See less See more
  • Like
Reactions: 5
41 - 60 of 471 Posts
I was hoping that you could plug Pegasus and the obdc&c AND leave another port open for a BT reader or emissions visits.

I know that I could just unplug Pegasus but it would be ideal to have an open port. I could either move the open port to another place or cut Pegasus into the data lines and leave the stock port available.

I like using the BT obd for some of the graphing functions available through the app.

I just thought that I would suggest this while you were planning so see if it was possible.

Thanks!
I'll only be including one female OBDII port to plug a device into. You can plug in either the OBDIIC&C or a BT reader. I don't think a high enough percentage of people buying this would use two ports, so it doesn't justify the effort to me. Sorry!

I also wouldn't recommend just splicing it into the OBDII lines because there will be conflicts when two devices try to talk at the same time. Then both devices might not work very well or at all.

Sounds cool for EV conversion project. Remap fuel = SOC, BAT = voltage or something (would like to visualize voltage sag if bars are scaled to show e.g. 300-250V), mpg = miles/kWh...
That will be possible! You'll be able to send data to my board and have it display it on the screen, even without using OBDII. I'm including a connector for RS-485 on my board.
Hey Mario,
I think your OBDII pinout is incorrect. Specifically, the H-line is pin 6 (G1 Service Manual), which is SAE pin 14. I'll let you verify against my data:
Text Font Line Document Parallel
See less See more
Very cool! I love the Gen1 dash, and didn't think it could be much improved, but you did it! Sign me up.
Hey Mario,
I think your OBDII pinout is incorrect. Specifically, the H-line is pin 6 (G1 Service Manual), which is SAE pin 14. I'll let you verify against my data:
View attachment 41122
Yes, though only in naming, not in function. For some reason I totally didn't think to look for OBD port pinouts on here, so I forgot about the SCS line. In my diagram I call the H-Line "CAN-Low" because that's what it was called on Wikipedia. I now know that to be the H-Line and the one I previously called the H-Line is the SCS line. I knew about the SCS line, I've even used it before, I just totally forgot about it this time, for some reason.

When the project is done I'll release all the (correct) info I have. :) That post is really outdated by now, I now know some of it to be false.

Very cool! I love the Gen1 dash, and didn't think it could be much improved, but you did it! Sign me up.
Thank you! It's going to be a while before it's finished, but it's coming along.

Recently I've been working on deciding exactly what hardware features there will be on the board, and with that, finishing up the schematic for the PCB. Rev 1 is almost finished, then I have to do the layout, but that shouldn't take too long.

Once I have a real board I can install, I'll work on the coding. It'll take a while to implement the various features I'm hoping for, but I think it'll be worth it.

Features I'm planning on having, so far:
- 4-way tact button (like in OBDIIC&C) for configuring various features
- Two extra trip meters (accessed through the FCD button)
- Remap fuel gauge to be linear, needs some simple soldering to the cluster PCB (optional)
- Remap SOC to show actual SOC
- Make assist/regen show actual amps in/out of battery
- Change scale of temperature gauge to whatever you like
- Replace the static "150" in the instantaneous MPG area with instantaneous MPG
- Show OBDII or IMA parameters in the trip meter area (one at a time), but scroll through as many screens as you like with the 4-way
- Display any parameter or number you like on any area of the display (except MPH area, when speed > 0), and allow scaling to change what is shown. Wanna have TPS where the fuel gauge is, where the bottom is 5% and the top is 90%? Sure! Or you could change the temp gauge to show from 164F to 220F (4 degrees per bar), whatever you like.
- 2x 12V outputs, configurable to turn on under whatever conditions you want. Can drive lamps or relays.
- 3x 5-12V inputs, also accepts analog input 0-5V. Can show the value on screen, have the gauge do things depending on the value, whatever. Use for temp sensors, buttons, etc. I personally am going to hook up the two cruise control buttons on my S2000 wheel so I can scroll through parameters.
- 1x RS-485 port, for future expansions. In particular, I'm including it so it will be possible to talk to mudder's BCM/Li-ion board. Just solder two wires onto two points on the back of the cluster PCB, very easy (cluster will be controllable through this port).

Plus more stuff as I think of it. All these features are subject to change depending on constraints (there is not a ton of space for a PCB inside the cluster, for example, so I already had to compromise on the removable connectors I wanted to use), but at this point I am confident at least all these features will be in the final product.

More news as it comes! I'll show you all the schematic once I finish it.
See less See more
Sounding increasingly awesome :)
Impressive list of features... Just a couple ideas on the features below:

Features I'm planning on having, so far:
....
- Remap SOC to show actual SOC
- Make assist/regen show actual amps in/out of battery....
On remapping SoC, seems like there's at least a couple ways one might do that.
-There's 20 bars so make each bar worth 5%. But most of the time that would leave roughly the lower 4-5 bars and the top 4-5 bars unused.
-Make the 20 bars represent only the useable capacity, pretty much the way it is, just divide that range evenly, so each bar represents the same amount... That'd work in my car, with the 2 different MCMs I've tried, but some people report that their SoC gauge rescales commensurate with what the BCM calculates to be the useable capacity. Not sure about that...

On assist/regen, if possible I think "power" might be better than current... With that there's also probably a couple different ways one might do it. In general, in stock form, max assist and regen are 10kW - so you could divide evenly by the number of bars. On the other hand, it does peak over 10kW sometimes, and non-stock cars can do more... I guess maybe it would be programmable any way?...
See less See more
Impressive list of features... Just a couple ideas on the features below:



On remapping SoC, seems like there's at least a couple ways one might do that.
-There's 20 bars so make each bar worth 5%. But most of the time that would leave roughly the lower 4-5 bars and the top 4-5 bars unused.
-Make the 20 bars represent only the useable capacity, pretty much the way it is, just divide that range evenly, so each bar represents the same amount... That'd work in my car, with the 2 different MCMs I've tried, but some people report that their SoC gauge rescales commensurate with what the BCM calculates to be the useable capacity. Not sure about that...

On assist/regen, if possible I think "power" might be better than current... With that there's also probably a couple different ways one might do it. In general, in stock form, max assist and regen are 10kW - so you could divide evenly by the number of bars. On the other hand, it does peak over 10kW sometimes, and non-stock cars can do more... I guess maybe it would be programmable any way?...
That was actually exactly my thinking as well. You can show the full 100% or have it show from 20% to 80%, or whatever you want.

And yes, I'll add an option to show wattage or current, but I agree watts is a better measure. There's only 18 bars on the assist/regen gauges, so if each bar was 0.5kW, you can only show up to 9kW... I suppose you could do 0.6kW/bar to show up to 10.8kW. Or whatever you want, I think I will keep mine on 0.5kW/bar just to make it easy to do the math in my head.
Very cool. Use the force...
Sounding increasingly awesome :)
:plusone:

..........
1x RS-485 port, for future expansions. In particular, I'm including it so it will be possible to talk to mudder's BCM/Li-ion board. Just solder two wires onto two points on the back of the cluster PCB, very easy (cluster will be controllable through this port).
Thanks for that future support, Mario! Talk about awesome!

Features I'm planning on having, so far:
- 4-way tact button (like in OBDIIC&C) for configuring various features
Am I the only one who doesn't like these small joysticks? Unfortunately, I don't have a better compact solution, but I always have a hard time getting them to interpret my input correctly.

- Replace the static "150" in the instantaneous MPG area with instantaneous MPG
This is my favorite feature thus far ;). Maybe make the '100' show the trailing mpg over the last minute, too? That would be even cooler.
There's only 18 bars on the assist/regen gauges, so if each bar was 0.5kW, you can only show up to 9kW... I suppose you could do 0.6kW/bar to show up to 10.8kW. Or whatever you want, I think I will keep mine on 0.5kW/bar just to make it easy to do the math in my head.
Why not make it 1 horsepower per bar (746 W). That'll give you 13.4 kW. That's how I plan to display horsepower with my Linsight board (with or without your LCD board). With the Leaf battery installed, I'll show 0.5 kWh per bar... the OEM pack would thus be empty when the gauge is two bars down... that's how much bigger the Leaf pack is versus OEM.

By the way, have you come up with a name for your modification yet?
Another feature you might add:
-Trip gauges no longer roll over every 1999 miles... now they'll rollover every 99,999 miles. You just count the number of times a gauge has rolled over since the user last reset... and then store that value in nonvolatile memory so it doesn't get erased when the 12V battery is disconnected.
Am I the only one who doesn't like these small joysticks? Unfortunately, I don't have a better compact solution, but I always have a hard time getting them to interpret my input correctly.
I agree they are often annoying to use. I could possibly use an analog joystick a la Mike's MIMA system. I was thinking about not including anything and having you use the throttle and brake as input to set up the display. ;) But I quickly realized that would be quite tedious, and besides, you need some way to switch between displays while driving.

This is my favorite feature thus far ;). Maybe make the '100' show the trailing mpg over the last minute, too? That would be even cooler.
Thanks! I am excited about that feature because I often find myself resetting my segment trip meter just to see my current MPG as a number. This will be very useful.

Unfortunately, the segments in the '100' are not all controllable, only the middle digit is. So you could show 180, 140, 60, 8, etc but nothing more granular than that. In other words, the 1 and last 0 in that 100 can only be 1 and 0 (or off), respectively.

I can include the minute-average MPG as an option for the 150, though!

Why not make it 1 horsepower per bar (746 W). That'll give you 13.4 kW. That's how I plan to display horsepower with my Linsight board (with or without your LCD board). With the Leaf battery installed, I'll show 0.5 kWh per bar... the OEM pack would thus be empty when the gauge is two bars down... that's how much bigger the Leaf pack is versus OEM.
This is also a valid way to show the power being used. I can include all these as options (horsepower, watts, amps).

By the way, have you come up with a name for your modification yet?
Yes! I posted it on the last page. I'm calling it PEGASUS, which stands for PCB for Enhanced Gauges and Adjusted Scale, User-Selectable. Worked hard to come up with that one. :) You don't have to capitalize all of it, though, just Pegasus is fine with me.

Another feature you might add:
-Trip gauges no longer roll over every 1999 miles... now they'll rollover every 99,999 miles. You just count the number of times a gauge has rolled over since the user last reset... and then store that value in nonvolatile memory so it doesn't get erased when the 12V battery is disconnected.
Good idea! I'll be sure to add that one.
See less See more
2
Schematic is pretty much finished and I'm starting on the PCB layout! None of the signals are connected to the microcontroller yet because it's easier to place all the components in their general area on the board, then figure out what microcontroller pins would be easiest to route each particular signal to.
There will inevitably be changes and tweaks later as well; this is only the first revision. Once I get the first boards I'm be able to test everything and make sure it all works as intended.

Here's a rough screenshot of the five schematic pages and a photo of the PCB outline (3D printers are super useful):



See less See more
I like 3D printers, too ;).

Glad your METSCI line is bidirectional, so Linsight and Pegasus can both talk to each other. You should put a 2k resistor between the differential METSCI pair for better noise immunity, directly at the transceiver.. I'll do the same on my end. That'll force current down the diff pair and increase the noise immunity on whichever side is receiving (i.e. furthest from the low impedance driver). I'll also add 200 Ohm series resistors on both lines to prevent short circuits if we both decide to drive simultaneously... The LT1487 is designed to safely overheat and disable if driven into while driving, but I prefer sinking that heat elsewhere.

Text Font Line Graphic design Number
See less See more
lol, reading your guys stuff is hilarious, you guys could be spouting gibberish and I wouldn't be able to tell. Loving this thread.
Mario, I reviewed your schematic and the flux capacitor on page 3 isn't configured properly. You have pin 35 connected to ground, which causes it to go backwards in time. You should have pin 35 connected to VCC, which will cause forward time travel. Honest mistake. A better idea would be to tie pin 35 to an uncommitted static IO on your uC; that'll let the user select which direction they want to travel. Hopefully you have another free pin.
Also, what information am I missing on why you're monitoring the current on the 12V and 5V rails? Is this just a safety feature to disable the rail FETs if too much current is pulled? A PTC is cheaper/simpler if you're just trying to prevent short circuit thermal events. I do like that you'll be able to monitor the current ;).
lol ok, flux capacitor.
I like 3D printers, too ;).

Glad your METSCI line is bidirectional, so Linsight and Pegasus can both talk to each other. You should put a 2k resistor between the differential METSCI pair for better noise immunity, directly at the transceiver.. I'll do the same on my end. That'll force current down the diff pair and increase the noise immunity on whichever side is receiving (i.e. furthest from the low impedance driver). I'll also add 200 Ohm series resistors on both lines to prevent short circuits if we both decide to drive simultaneously... The LT1487 is designed to safely overheat and disable if driven into while driving, but I prefer sinking that heat elsewhere.
The instrument cluster already has a 100 ohm resistor across the two lines, so I wasn't planning on adding one. From Honda's design it's clear the cluster was never intended to send data, only receive it. But I think I might be able to make it work.

100 ohms is pretty low - I'd wish it were higher. Unfortunately, I can't expect a user to replace that resistor. It's surface mount, and it could cause some issues with a stock BCM if it were changed. I'm not sure we'll get good transmission with 220 ohm series resistors on the lines. I think you should probably switch to a 100 ohm termination resistor to match the stock setup.

There shouldn't be bus contention anyway because Pegasus will be a slave device - it'll only send anything if you send it something first and are waiting for a response.

Also, what information am I missing on why you're monitoring the current on the 12V and 5V rails? Is this just a safety feature to disable the rail FETs if too much current is pulled? A PTC is cheaper/simpler if you're just trying to prevent short circuit thermal events. I do like that you'll be able to monitor the current ;).
You are correct - it's to watch for shorts to quickly turn off the power. This is especially important for the 5V rail because it comes directly from the instrument cluster's 5V regulator! Don't want to bog that down or the cluster will shut off.

If you notice I have polyfuses as well... I'm overbuilding it a little for the first prototype. ;) The current-sensing will likely get taken out in a later revision, at least on the 12V rail. It'll have just the PTC. I think I might still keep it on the 5V rail as I want to make sure I protect the cluster.

Mario, I reviewed your schematic and the flux capacitor on page 3 isn't configured properly. You have pin 35 connected to ground, which causes it to go backwards in time. You should have pin 35 connected to VCC, which will cause forward time travel. Honest mistake. A better idea would be to tie pin 35 to an uncommitted static IO on your uC; that'll let the user select which direction they want to travel. Hopefully you have another free pin.
Aw, crap, you're right. Well, I'm running short on GPIO anyway, I think I'll just remove the time travel feature altogether. It's too hard to calculate the MPG, anyway. :)
See less See more
41 - 60 of 471 Posts
Top