Multi-function engine monitor gauge
Posted: Thu Jun 09, 2022 12:10 pm
I've had a crazy thought.
The Onan twin-cylinder in my 4020 has a know issue where the valve seats will be damaged if your Cylinder Head Temperature gets too high.
So I made sure to install the gasket around my oil filter, but I also bought a twin-cylinder CHT gauge from Amazon. I haven't installed it yet.
https://www.amazon.com/gp/product/B01G6 ... asin_title One thing I don't like is that it has a rectangular LCD readout, that's very difficult to read in sunlight. And even though I have an unused 2" round cutout in my dashboard (Currently has an inoperative hour meter) this new rectangular gauge won't fit that cutout.
Then I stumbled across this video, showing how easy it is to create a configurable guage display for an Arduino.
https://www.youtube.com/watch?v=k2c2zCmC_X0
And it hit me: what if I connected those CHT probes to an Arduino and then displayed it on one of these little round displays? Wouldn't that look a lot better?
But wait! There is a LOT more engine/system information that I'd like to be able to monitor:
CHT
RPM
Hydraulic pressure
Hydraulic temp
Engine oil temp
Voltage
Amps
But I don't have room for 7 different gauges. But what if I could monitor all those data points using a single arduino, and display any one of them at a time? Basically you'd have a push-button on/near your gauge, and when you push the button the display would rotate through to show you each of your monitored data types and display a gauge with its current value.
So I did some Googling, and found someone who already did something like this:
https://bitbucket.org/R_P_Ryan/enginemonitor/wiki/Home
His work confirms to me that it can be done, and gives me a starting point to begin coding the Arduino to work with my specific data types.
But there are a couple major shortcomings:
1. He's using the same kind of hard-to-read lcd display that came with my CHT gauge. Wrong shape, poor visibility in daylight.
2. The little round display from the video isn't great either: It's only 1.3" in size, way smaller than our 2" cutout. And it's only SLIGHTLY easier to see than the rectangular LCD display. It's about 300 nits brightness, which is going to be tough to see in daylight. Maybe a deep round shroud to shade it? I haven't ruled it out, but I'm hesitant to try to use that.
So I've done some research into the available types of displays and I think I've come up with what might be a great idea:
I've ordered a $7 tachometer from Amazon.
https://www.amazon.com/gp/product/B08J7P4ZWZ It'll fit the 2" cutout in my dashboard, and it simply counts the number of 12v pulses it sees per minute. On an Onan you hook it up to the voltage regulator, where there is apparently a single 12v pulse per rotation of the engine.
If all else fails, I'll install this tach in my dash.
BUT: I can actually DRIVE this tachometer FROM the Arduino: I can configure the Arduino to SEND a certain number of voltage pulses per minute to this gauge, and the gauge will move the needle to that value.
So if I were to modifiy the tachometer gauge in a certain way, I could use it as my universal indicator:
1. It needs a configurable green/yellow/red scale to indicate the "OK/NOT OK" range. Every gauge's scale of "OK" range is a little bit different. So we need to have our gauge's "OK" scale to be reconfigurable. This could be done by embedding a series of 6 or 8 RGB led lamps across the top of the gauge face. So at the same time that the Arduino is telling the gauge needle to move to, say, "11 o'clock", it would also light up the various led lamps to show you green, yellow, and red points that will show you the acceptable range for what we're displaying.
2. It needs to display to the user the data's NAME and SCALE: WHAT KIND of data the gauge is displaying, and WHAT NUMBER is meant by the needle's position. For this I'd actually need a second display, a small one that scrolls text across it. For example "Volts -- RED @ 12.5, 16" ("The gauge is reading "Voltage" and the scale is redline (low) at 12.5 volts and redline (high) at 16 volts") The readability of that textual information is not nearly as important. All you really need to be able to see is the data name, because you can tell by the needle position whether the data is in an OK range or not. But if you really want to know, you can patiently/carefully read the full text to see what the scale actually is.
I imagine it looking something like this:
Volts Oil Temp
I already have two CHT probes and an Arduino. My first plan is to confirm that I can hook them all together and read the temp inside the Arduino.
For that I have to buy $18 worth of "temperature probe driver boards". It comes with 4 boards, so I'd be set up to monitor 2 cylinders, hydro oil and engine oil.
I already have what I think I'll need to monitor RPM.
And I'll tear apart the tach and confirm that it has internal room to fit the embedded RGB LED's.
Assuming those are positive, I'll look at ordering a little scrolling text display (about $20) and the parts I need to monitor voltage and current. (about $15)
I haven't yet researched my options for a high pressure transducer to show hydraulic pressure. Oil pressure senders are easy to come by, but I don't know about high pressure versions.
Maybe it's too ambitious and too expensive, so it could be that I'll never get around to it. But is sure does seem like it would be pretty cool if it worked.
Anything else I should consider for monitoring?
Thoughts?
Bob
The Onan twin-cylinder in my 4020 has a know issue where the valve seats will be damaged if your Cylinder Head Temperature gets too high.
So I made sure to install the gasket around my oil filter, but I also bought a twin-cylinder CHT gauge from Amazon. I haven't installed it yet.
https://www.amazon.com/gp/product/B01G6 ... asin_title One thing I don't like is that it has a rectangular LCD readout, that's very difficult to read in sunlight. And even though I have an unused 2" round cutout in my dashboard (Currently has an inoperative hour meter) this new rectangular gauge won't fit that cutout.
Then I stumbled across this video, showing how easy it is to create a configurable guage display for an Arduino.
https://www.youtube.com/watch?v=k2c2zCmC_X0
And it hit me: what if I connected those CHT probes to an Arduino and then displayed it on one of these little round displays? Wouldn't that look a lot better?
But wait! There is a LOT more engine/system information that I'd like to be able to monitor:
CHT
RPM
Hydraulic pressure
Hydraulic temp
Engine oil temp
Voltage
Amps
But I don't have room for 7 different gauges. But what if I could monitor all those data points using a single arduino, and display any one of them at a time? Basically you'd have a push-button on/near your gauge, and when you push the button the display would rotate through to show you each of your monitored data types and display a gauge with its current value.
So I did some Googling, and found someone who already did something like this:
https://bitbucket.org/R_P_Ryan/enginemonitor/wiki/Home
His work confirms to me that it can be done, and gives me a starting point to begin coding the Arduino to work with my specific data types.
But there are a couple major shortcomings:
1. He's using the same kind of hard-to-read lcd display that came with my CHT gauge. Wrong shape, poor visibility in daylight.
2. The little round display from the video isn't great either: It's only 1.3" in size, way smaller than our 2" cutout. And it's only SLIGHTLY easier to see than the rectangular LCD display. It's about 300 nits brightness, which is going to be tough to see in daylight. Maybe a deep round shroud to shade it? I haven't ruled it out, but I'm hesitant to try to use that.
So I've done some research into the available types of displays and I think I've come up with what might be a great idea:
I've ordered a $7 tachometer from Amazon.
https://www.amazon.com/gp/product/B08J7P4ZWZ It'll fit the 2" cutout in my dashboard, and it simply counts the number of 12v pulses it sees per minute. On an Onan you hook it up to the voltage regulator, where there is apparently a single 12v pulse per rotation of the engine.
If all else fails, I'll install this tach in my dash.
BUT: I can actually DRIVE this tachometer FROM the Arduino: I can configure the Arduino to SEND a certain number of voltage pulses per minute to this gauge, and the gauge will move the needle to that value.
So if I were to modifiy the tachometer gauge in a certain way, I could use it as my universal indicator:
1. It needs a configurable green/yellow/red scale to indicate the "OK/NOT OK" range. Every gauge's scale of "OK" range is a little bit different. So we need to have our gauge's "OK" scale to be reconfigurable. This could be done by embedding a series of 6 or 8 RGB led lamps across the top of the gauge face. So at the same time that the Arduino is telling the gauge needle to move to, say, "11 o'clock", it would also light up the various led lamps to show you green, yellow, and red points that will show you the acceptable range for what we're displaying.
2. It needs to display to the user the data's NAME and SCALE: WHAT KIND of data the gauge is displaying, and WHAT NUMBER is meant by the needle's position. For this I'd actually need a second display, a small one that scrolls text across it. For example "Volts -- RED @ 12.5, 16" ("The gauge is reading "Voltage" and the scale is redline (low) at 12.5 volts and redline (high) at 16 volts") The readability of that textual information is not nearly as important. All you really need to be able to see is the data name, because you can tell by the needle position whether the data is in an OK range or not. But if you really want to know, you can patiently/carefully read the full text to see what the scale actually is.
I imagine it looking something like this:
Volts Oil Temp
I already have two CHT probes and an Arduino. My first plan is to confirm that I can hook them all together and read the temp inside the Arduino.
For that I have to buy $18 worth of "temperature probe driver boards". It comes with 4 boards, so I'd be set up to monitor 2 cylinders, hydro oil and engine oil.
I already have what I think I'll need to monitor RPM.
And I'll tear apart the tach and confirm that it has internal room to fit the embedded RGB LED's.
Assuming those are positive, I'll look at ordering a little scrolling text display (about $20) and the parts I need to monitor voltage and current. (about $15)
I haven't yet researched my options for a high pressure transducer to show hydraulic pressure. Oil pressure senders are easy to come by, but I don't know about high pressure versions.
Maybe it's too ambitious and too expensive, so it could be that I'll never get around to it. But is sure does seem like it would be pretty cool if it worked.
Anything else I should consider for monitoring?
Thoughts?
Bob