Honda Insight Forum banner

Controlling the Instrument Cluster's Display

74931 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
321 - 340 of 471 Posts
Ah OK, I figured it was something like a filter. Your dash has a much brighter appearance, is that simply just from changing out the color film you mentioned?
^ What? 'Booomp! Boomp! Boomp!' doesn't make the cut?
Sorry about that, of course that will be a feature. ;)

Ah OK, I figured it was something like a filter. Your dash has a much brighter appearance, is that simply just from changing out the color film you mentioned?
I didn't change anything, it's all stock. The brightness must just be an illusion (or I have the brightness turned up!)
@Mario
We're all patiently waiting. Don't feel bad about that at all. Hobbies are hobbies for a reason.
When I'm working on hobbies, I don't mind announcing them early... honestly I like sharing my findings along the way. I'm very careful to avoid establishing timelines when I'm working on hobbies. Work could pick up tomorrow for six months straight, at which point I'd shelve the hobbies.

Yes, LiBCM has RS485 with the requisite 120 Ohm resistor. The MCM also connects to METSCI, but the MCM only "listens" for two different packet types... we could have several hundred/thousand other message types that the MCM would wholly ignore. Also, since we know the MCM broadcasts a packet every 100 ms, we know that T+3 ms to T+97 ms is wide open. Long story short, Pegasus and LiBCM can talk to each other over METSCI.
  • Like
Reactions: 2
I do have some good news! You should expect to see progress on Pegasus in the second half of this year. I will be leaving my job to focus on my personal projects, such as this one. I'm fortunate to be financially stable enough to do this.
Got an official leave date.. July 2nd. :)
  • Like
Reactions: 4
^ Glad to hear it. Maybe you should take a road trip first, purge your system of all that worker-mojo, before you focus on projects...
  • Like
Reactions: 1
Got an official leave date.. July 2nd.
So now you and I can compete again on who releases their delayed 2016 Insight project first ;). I foresee great things in Insight's future!
  • Like
Reactions: 2
4
Miscellaneous updates!

Normally when I design PCBs, I pick components I want to use, design the board, get a couple prototypes to verify everything works as expected, then order in quantity. Unfortunately, there's been a component shortage recently and it's expected to continue well into next year. So I've been picking the critical components and ordering them in quantity (enough to make 50 Pegasus kits) before even designing the board. The main microcontroller I was only able to get 30 of, not sure when more will be available. I'll be keeping an eye out.
It's cost about $2k so far, but most of the expensive stuff has been bought. Not too bad!

The downside is that I need to be certain of the parts I want to use and hope that there's no issue once I get the prototypes back, else the money spent on those particular components was wasted. I don't think that will be an issue, though!


Pegasus has about 10 custom-designed 3D-printed parts. This week I've been working on the controller parts, and I'm pretty proud with what I've come up with! It needs to fit in the small knockout panel next to the driver, and there's not a lot of space. (I chose the small one because there's two, so more likely at least one will be free, but also I believe the large center panel has a factory switch in some countries.) The previous design used a joystick which was a bit fiddly to use and difficult to press in, but more critically, it's no longer being produced. So I switched to a rotary encoder (knob), which will be much easier to use, especially while driving. The knob can be pressed in, and there are two additional buttons.
One button is dished and the other has raised bumps so you can distinguish them by feel while driving.

In the menus, all the buttons will have defined functions for navigation, but they will be configurable to to control various functions while driving. Control IMAC&C, switch to different parameter screens/configurations, show a certain parameter, etc.

Both buttons and the ring around the base of the knob will all have individual, configurable RGB LEDs. Set them to a preferred color, or make them change color in response to a parameter changing. Or, of course, they can be disabled entirely.

91442


Waiting on some transparent filament to come in, so for now the buttons are printed in normal plastic. I hope to tune the prints to make the final product look a little nicer.
91439


91440


It took several revisions to get here. This isn't even all the prototypes!
91441


I'm still waiting to get my Insight back from being painted, so this is about as far as I can go for the moment on the controller. I need to get some detailed measurements of the knockout panel cavity and do some test fits.


I've talked about the optional solder harness before. Pegasus will be drop-in, no soldering required, but if you're willing to solder on a simple harness and plug it in, you'll get some additional features. The harness will have:
  • METSCI, for direct communication with LiBCM and other future BCM/MCM replacements
  • TIM and VSS (injector on-time and vehicle speed) for more precise/accurate MPG reading
  • Fuel sender reading, to try to get more linear fuel gauging
  • Cluster brightness reading, to adjust the controller LEDs to match the cluster brightness (and to dim them when the headlights are turned on)
  • MPH/KMH button hookup. Since this button is normally never used, it will be an input to Pegasus and will have a configurable action like the controller buttons. It will still switch the cluster units when held down, as normal.

METSCI, TIM, and VSS aren't strictly necessary. The equivalent functions could be performed over the OBDII port (though not as accurately in the case of TIM/VSS). The biggest advantage to hooking them up is that it will greatly reduce OBDII port traffic. The K/H-line communications are very slow, which limits the refresh rate if you're pulling a lot of parameters. To precisely calculate instantaneous MPG requires two parameters to be queried (RPM and injector time, speed is read from the cluster). Having TIM/VSS hooked up not only saves on the bandwidth but provides more precise measurements of those parameters. I think there will be a lot of advantages to installing the solder harness.


That's pretty much it for now! I'm going to start making footprints and schematic symbols for the components I chose and work on the main Pegasus schematic more.
One more note, on the pricing. Pegasus has 4 custom PCBs, 10 custom 3D-printed parts, and 2 custom cables. It's going to be an expensive kit. I hope to be able to offer it for under $500. We won't know how much under (if at all) for quite a while. But I figured I'd get the sticker shock out of the way early on.
No ship date yet! It's going to be quite a while to design and test everything. But I hope to make more steady progress now.
See less See more
  • Like
Reactions: 5
I know the feeling... I purchased $20,000 worth of parts for LiBCM before I was even 100% certain it would work. To those that aren't 100% in tune with the 'chip shortage', this would be like having to buy all the gas you'd ever need for your car on the same day you bought it... and it would be a crappy car, since all the good cars would be out of stock.

@Mario, send me the uC PN and I'll see if my gray market supplier can source it. We've got a guy who can find things... based on my experience the ICs will likely be reclaimed, but they work 100%.

Thanks for not using the 'big' insert (the one in the middle)... reasons TBA, but yeah ;).
What are the 'springs' for in the 3DP insert? Is that an attempt to prevent the insert from falling out?

Let me know when it comes time to manufacturing production PCBs, I've just finished setting up my at-home P&P+Reflow.
So I was unable to get any of the micro I actually want to use, only a higher-pin-count version. Same physical size, just finer pitch. That's STM32G474QET6. I have 30x of these.
The one I want to use is the STM32G473VET6 (which, while looking that up, I just found 26 of on Mouser so I bought them immediately!). So now I have 26x of those.

I suppose in the short term I'd want 20x more of the 474 so I have 50 total, which is how many boards' worth of parts I'm buying right now. Seems like a decent first run. In the long term I want the 473s.
Since I only order small batches of PCBs at a time (I'm not buying tons of bare boards and having them assembled later), it's not a big deal to do a small redesign between board runs to switch to the other package footprint. On these first boards with the higher-pin-count part, I'll only be using the pins available on the lower-pin-count part so there's minimal-to-no firmware changes needed after the switch.


The flexures in the printed buttons keep them level and stop them from rotating or rattling around as much, while still allowing free movement. The waves should give maximum flexibility and keep the plastic from stressing and breaking over time, but that will need to be tested of course.


I'll let you know when I need to make the boards! I was going to find a board house to do the fab and assembly but I'm sure I could get it cheaper from you! I'll see what the board house quotes first, would certainly be much less effort for you.
See less See more
Just a note, in the UK those little switch blank cutouts on the dash are already used for things like a rear fog light switch.

There may only be one spare..

In case you and mudder decide to both use them.
It sounds to me like some of the changes / features you've added will make this much more useful to those with engine swaps. For instance, if fuel economy is coming directly from injector on time, it will work without the stock ECU.
@Mario:
I forwarded these parts to 'my guy'. I'll let you know if he can source them.

Based on my own looking:
STM32G474QET6 is available on aliexpress... for $15.10/each, plus $3.44 shipping.
Mouser is also showing QTY16 still in stock.

ST has QTY7 STM32G473VET6 for sale on their web store.
It sounds to me like some of the changes / features you've added will make this much more useful to those with engine swaps.
@Ecky
Electrically, Pegasus can entirely control the instrument cluster with any ECM via querying data from a serial bus... but I'm sure @Mario isn't going to support that feature for a while.
Weird... I bought all their stock last night. Wonder where they're getting these parts from. Well, I just bought those 16 as well! That's 42 of these, so I'll do the first rev of the board with these parts. Guess I'll keep the 30x 474s for a rainy day.
Edit: Also bought the 7x from ST. Their checkout page said "powered by Mouser"... hopefully I'll actually get as many chips as I ordered. :)

Electrically, Pegasus can entirely control the instrument cluster with any ECM via querying data from a serial bus... but I'm sure @Mario isn't going to support that feature for a while.
Yeah, I want to eventually make it so you can send parameters to show through the CAN interface. I'll even make up an Adruino library to make it really easy. Not for a while though, that's far down on the list of things to get done.
  • Like
Reactions: 1
So with this and mudder's project will we finally be able to do ECU swaps and keep our factory cluster and have IMA still work? I'd like to one day get the level of turbo Julian put on his car but the factory ecu is a huge hurdle to going much past 6 pounds of boost.
So with this and mudder's project will we finally be able to do ECU swaps and keep our factory cluster and have IMA still work? I'd like to one day get the level of turbo Julian put on his car but the factory ecu is a huge hurdle to going much past 6 pounds of boost.
That should eventually be possible, yes. You might need an intermediate microcontroller to get Pegasus, the ECU, and whatever IMA system(s) you have to talk to each other.


I again redid the LCD display interface. I had to switch a couple of the chips, but mainly I wanted to make better use of wire harnesses (an Altium design primitive used to represent groups of signals) and coloring, both in this page and throughout the rest of the schematic. This will improve comprehension for myself and others who reference the project in the future.
(I swear I'm not just procrastinating. Also, I've yet to actually import this into the PCB to see how the nets connect, so I'm not 100% sure I'm using the wire harnesses in a valid way. I'll find out soon)

91630



Besides redoing this one schematic page, I've also finished making footprints and schematic symbols for the about 2 dozen parts I've already purchased. This is basically just busy work that takes a long time, but now that I've done it, I can make the rest of the schematic pages much more quickly.
See less See more
  • Like
Reactions: 1
Sure thing, here's a PDF copy of this page.
Also, so you know, the signal connectors on the left edge in the yellow boxes are the signals going in/out of this sheet. All other net names are local to only this sheet. Those virtual connectors pass those signals to other sheets.
This isn't required in Altium but it is useful for comprehension. Those will connect to other sheets via a higher-level block diagram page. This will be more clear later when I finish that page.

Attachments

  • Like
Reactions: 2
6
Finished up the schematic and layout for the controller. Pretty happy with this board, I managed to cram a lot of stuff on it! 5x RGB LEDs, 2 buttons and an encoder (with center push), a buzzer, and an I2C expansion port for possible future stuff. (Much easier to pop out the controller and plug something in, rather than taking the dash apart to plug it in to the mainboard).

Is it overkill/feature creep to include all these features? Probably... but that's alright. :) It's gonna be an expensive kit no matter what, so might as well spend the few extra dollars to make it really nice.

This board is small! It looks much bigger on screen. Remember this is the same size as the small driver-side knockout panels. All the traces are 6mil trace/space and the passives are 0402's. 4 layer so I can have ground and power planes, no way could I make it work otherwise.

I'll let this sit for a day or two before I order the boards just in case I find any issues, but after that I should get the bare boards back in about 2 weeks, then I'll populate a couple and test everything.

I've attached the schematic as a PDF again for anybody who wants to take a closer look.

91907

91908

91909

91910

91911

Attachments

See less See more
  • Like
Reactions: 5
321 - 340 of 471 Posts
Top