Marquesas Digital Gauge Cluster

Hardware inside and outside of the ECU
Post Reply
aglass0fmilk
Posts: 3
Joined: Tue Dec 31, 2019 1:46 am

Marquesas Digital Gauge Cluster

Post by aglass0fmilk »

Hi everyone,

As I mentioned in my project post (still pending), I am in the process of restoring and updating my family's 1973 GMC MotorHome.

I am introducing a bunch of electronics modules and instrumentation while retaining the vintage look and driving experience of the vehicle. I really like my Jeep's digital gauge cluster and thought it would be a great way to display a lot of information without cluttering my dashboard with 30 analog gauges.

A lot of the existing solutions are pretty lame (ie: Android/Raspberry Pi computers) or expensive and closed-source with minimal customization available (Holley).

So to that end, I have started developing an open-source digital gauge cluster. I am a huge fan and contributor to ARM's Mbed-OS, so that is what my projects will be based on. They mostly use STM32 chips though, so rusEfi developers should feel right at home in that regard.

You can check out many of the project details on my Mbed-OS forum post regarding this project. Sorry to cross-post, but the Mbed forums allow for inline images which I think makes the post more readable...

Tech Specs Overview:
STM32H745BI Dual-Core Microcontroller
208-pin LQFP (for hand-solderability)
Cortex M7 running at 480MHz (!!!)
Cortex M4F co-processor running at 240MHz (also !!!)
2MB Flash, 1 MB internal RAM
5-inch 800px X 480px IPS TFT LCD screen with 24-bit RGB bus
External 8MB SDRAM, primarily intended for the display buffer and image scratch space
External 64MB QSPI Flash for asset storage (images, audio, etc)
External SD Card slot using SDIO for a debug filesystem, more assets and images
USB 2.0 High Speed (Device only)
I2S Audio DAC for chimes and audible alerts
CAN transceiver, compatible with CAN-FD (up to 8Mbps)
4 high current (3A-5A) low-side output drivers with integrated diagnostics (STM L9349-LF)
12-Channel protected low-side driver with integrated diagnostics and SPI control (NCV7751)
8-channel, protected high-side OR low-side driver with integrated diagnostics and SPI control (NCV7608)
Fully digital 32-step backlight brightness control (TPS61165 with EasyScale protocol)
Triple high-speed, self-protected low-side drivers (intended to drive old-style resistive analog gauges by PWM)
Up to 12 fault-protected analog inputs allowing the board to read sensors like thermistors and photodiodes
13 fault-protected digital inputs to interface to switches, buttons, and existing OEM electronics.
Ability to support a resistively-multiplexed joystick for UI navigation

This design is about a 1.5 years old now, and since then the output drives (NCV7751 and NCV7608) suddenly went last-time-buy! It's also currently in a "Non-Form-Factor" state. I wanted to at least get a development system up and running to play with while figuring out the best way to package the LCD and board.

There are obviously a lot of components to this project, which is one reason I'm posting it here. I think this community might have interest in building its own digital gauge cluster, and I already have a bunch of hardware and software done for it and was planning to make it open source anyways.

I haven't gotten around to posting the design files. I use DipTrace so that might be a barrier to working with the raw design files but perhaps we can figure something out.

I'm slowly but surely working on this as I have the time... mostly in the colder months when I can't paint or work on my classics :)

A few of the more obvious outstanding tasks:

- We need to decide on a preferred embedded GUI platform. I've been using LittlevGL but it doesn't have a nice GUI editor yet so that makes UI design very manual and tedious... ST has TouchGFX and there's always QT, but their licensing scheme isn't in the spirit of full open-source.
- We need to figure out what the "form-factor" version of the PCB will look like. This involves determining an appropriate automotive-grade connector and enclosure.

If there's interest please respond with questions/comments and your ideas and we can go from there!

I look forward to building cool DIY automotive stuff with this community!
Attachments
marquesas-pcb.png
marquesas-pcb.png (939.9 KiB) Viewed 4149 times
marquesas-hello.jpeg
marquesas-hello.jpeg (1.12 MiB) Viewed 4149 times
User avatar
AndreyB
Site Admin
Posts: 14324
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Marquesas Digital Gauge Cluster

Post by AndreyB »

aglass0fmilk wrote:
Sat Jun 05, 2021 3:39 pm
Sorry to cross-post, but the Mbed forums allow for inline images which I think makes the post more readable...
Zero worries. phpbb which we use here totally supports inline images as well :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14324
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Marquesas Digital Gauge Cluster

Post by AndreyB »

Wow great silkscreen, this hardware looks very mature :)
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: Marquesas Digital Gauge Cluster

Post by kb1gtt »

Have you considered uGFX that works well with ChibiOS. I've dubbed around a bit with the STM32F429 dev board with the touch LCD. It seemed to work reasonably well for me.
Welcome to the friendlier side of internet crazy :)
User avatar
kb1gtt
contributor
contributor
Posts: 3758
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA

Re: Marquesas Digital Gauge Cluster

Post by kb1gtt »

Also have you considered a more off the shelf solution? The beagle bone might be of interest.

https://www.seeedstudio.com/7-Inch-LCD-Cape-for-Beagle-Bone-Black-Touch-Display-p-1697.html
Welcome to the friendlier side of internet crazy :)
aglass0fmilk
Posts: 3
Joined: Tue Dec 31, 2019 1:46 am

Re: Marquesas Digital Gauge Cluster

Post by aglass0fmilk »

kb1gtt wrote:
Sun Jun 06, 2021 10:57 am
Also have you considered a more off the shelf solution? The beagle bone might be of interest.

https://www.seeedstudio.com/7-Inch-LCD-Cape-for-Beagle-Bone-Black-Touch-Display-p-1697.html
I have looked at some but I wasn't very satisfied with the features of existing COTS solutions. I've worked on embedded linux products before and I find it way easier to have "real time", deterministic operation with an MCU.

I figured since I needed a bunch of automotive-grade/fault-protected I/O that it would be worth just spinning my own board. The most complicated parts were the RAM bus and RGB bus. They operate well into the 10's of MHz but even at those frequencies, phase/impedance matching isn't too hard to achieve.

I looked at uGFX a few years ago before I found LittlevGL. Ultimately I decided to go with LittlevGL because it's (truly) free and open-source, even if I wanted to take that product and commercialize it... Since this is an open-source project it would definitely be back on the table, I just have more familiarity with LittlevGL.

A lot of this design was based on existing ST dev kits that have a display and so it wasn't too bad to make. I think one of the more challenging issues is packaging. I've seen other projects here on the forum that have integrated stepper motors and silk-screened faceplates. I'm thinking there could be a more modular package where the display board can be integrated by itself. Of course, we could add hardware to drive steppers!

I have another project that I will post about soon, it's a BLE TPMS receiver. You can get external (valve stem cap) or internal (more traditional style) TPMS sensors from Aliexpress that operate over BLE, which is way more accessible to DIY hardware than the UHF transmitters that OEMs use. I've made a low-cost receiver module that spits the data out over CAN bus for display on something like this...

There's a lot of cool DIY automotive modules I think we could add to the rusEfi ecosystem :)
Post Reply