Megasquirt Dash Insert Gauge
#1
Megasquirt Dash Insert Gauge
Hey all,
Running MS PNP Pro on my 01, I have a full set of gauges in the center console (innovate) boost/rpm, flex %/temp, Wideband, and I just bought a Oil temp/pressure gauge.
My original thought was to replace the stock dummy oil gauge, but this just isnt happening with the innovate and the size it is. I am going to throw the Oil gauge into one of the eyeballs.
This leaves me with the stock oil gauge in the cluster, anyone have some good ideas for a small compact <2" gauge that can read some MS sensors like water/air temp etc that i can replace this with?
Running MS PNP Pro on my 01, I have a full set of gauges in the center console (innovate) boost/rpm, flex %/temp, Wideband, and I just bought a Oil temp/pressure gauge.
My original thought was to replace the stock dummy oil gauge, but this just isnt happening with the innovate and the size it is. I am going to throw the Oil gauge into one of the eyeballs.
This leaves me with the stock oil gauge in the cluster, anyone have some good ideas for a small compact <2" gauge that can read some MS sensors like water/air temp etc that i can replace this with?
#5
Warning lights would be good. You could also DIY a CAN gauge.
Megasquirt CAN Based Display Part 1 - Buildpics.org
A bit of a learning curve, but I followed this guide and got CAN data reading with no prior Arduino/coding experience.
The DIYAutotune gauge will not fit in or on top of the stock oil pressure gauge, unless you want to cover a significant portion of the tach and speedo.
There's also this: https://www.miataturbo.net/megasquir...cluster-91370/
Megasquirt CAN Based Display Part 1 - Buildpics.org
A bit of a learning curve, but I followed this guide and got CAN data reading with no prior Arduino/coding experience.
The DIYAutotune gauge will not fit in or on top of the stock oil pressure gauge, unless you want to cover a significant portion of the tach and speedo.
There's also this: https://www.miataturbo.net/megasquir...cluster-91370/
#6
Really just want to take out the stock oil gauge since its entirely useless, and doubel useless now that i have a real gauge.
Ive been playing around with ShadowDash on my phone with the EFI bluetooth dongle lately, which spurred the idea of being able to see those simple IAT Temp, Water temp, etc on a guage in place of the stock oil temp gauge.
That Trichecked/canchecked gauge is slick too, but still over 200 euro.
#8
This is a great option for an auxiliary gauge, but not really for cluster replacement since you can't have a laptop connected at the same time.
I'll have to take some measurements tonight, I have my cluster disassembled right now. That DIY CAN gauge I posted above can use a 2.4" screen, which may fit behind where the stock oil pressure gauge mounts. That would be about a $50 option.
I'll have to take some measurements tonight, I have my cluster disassembled right now. That DIY CAN gauge I posted above can use a 2.4" screen, which may fit behind where the stock oil pressure gauge mounts. That would be about a $50 option.
#9
I've been through this and came up with my own solution using 2x OLEDs and an Arduino that interfaces the MS3 via its CANbus - this allowed me to add additional sensor/digital inputs to the MS3.
Originally I used a Raspberry Pi for this but the boot time really annoyed me (much like how my Android head unit's boot time annoys me).
The Arduino+OLED display is almost instantaneous.
I replaced the left and right gauges in the OEM cluster with OLEDs that display either 3 or 4 different sensor values, controllable via a pushbutton.
Pushbutton control of OLEDs - cycles between 3-line display, 4-line display, peaks (holding for >2 seconds resets peak values):
Original Arduino UNO+CANshield+AdditionalCustomShield implementation:
That was too complex/fiddly so I designed a 4-layer PCB using a Teensy 3.2 (most of the traces are on the underside of the board).
I can now get rid of the MSLabs Wideband O2 module too since the PCB/Teensy3.2 handles that too (converts serial O2 data to lambda which is sent to MS3 via the CANbus).
Serial GPS input is via 4 input pins so that any GPS serial input can be used (will require custom code for some GPS modules) and I also added an on-board accelerometer:
Originally I planned to power the box from the MS3's 5V source but was concerned that it may draw too much current.
The MS3 was designed for 500mA and I was concerned that my unit would draw too much current so I made an additional board to hold the DC-DC buck converter (converts 7-25V to stable 5V) and mount the GPS module to - this GPS module has an external antenna so I can mount this board anywhere and the antenna where it needs to be for decent reception.
Load testing (all I/O connected): 1xGPS, 1xCAN, 1xInnovateWidebandO2,1xOLED(supports 2 OLEDs),4xTemperature sensors,2xPressure sensors,3xDigital switches (1 for control of OLEDs, 1x Fuel Level input.
An Arduino UNO was used to Tx/Rx CAN messages for the test:
Maximum current draw spiked at 0.15mA but I couldn't snap a photo of this, it was too quick.
Current draw hovered between 0.13mA and 0.14mA.
Connecting the external antenna will probably bump this a tad too so it looks like it would be safer NOT to use the MS3 as a 5V power source (0.15mA is 30% of the 500mA that the MS3 was designed for).
The OLEDs are mounted on a backplate mounted to the original gauges (with their needles removed) since this provided an easy way to mount them solidly:
My next project is to 3D print some custom housings for the OLEDs so that they can simply slot into the cluster.
Originally I used a Raspberry Pi for this but the boot time really annoyed me (much like how my Android head unit's boot time annoys me).
The Arduino+OLED display is almost instantaneous.
I replaced the left and right gauges in the OEM cluster with OLEDs that display either 3 or 4 different sensor values, controllable via a pushbutton.
Pushbutton control of OLEDs - cycles between 3-line display, 4-line display, peaks (holding for >2 seconds resets peak values):
Original Arduino UNO+CANshield+AdditionalCustomShield implementation:
That was too complex/fiddly so I designed a 4-layer PCB using a Teensy 3.2 (most of the traces are on the underside of the board).
I can now get rid of the MSLabs Wideband O2 module too since the PCB/Teensy3.2 handles that too (converts serial O2 data to lambda which is sent to MS3 via the CANbus).
Serial GPS input is via 4 input pins so that any GPS serial input can be used (will require custom code for some GPS modules) and I also added an on-board accelerometer:
Originally I planned to power the box from the MS3's 5V source but was concerned that it may draw too much current.
The MS3 was designed for 500mA and I was concerned that my unit would draw too much current so I made an additional board to hold the DC-DC buck converter (converts 7-25V to stable 5V) and mount the GPS module to - this GPS module has an external antenna so I can mount this board anywhere and the antenna where it needs to be for decent reception.
Load testing (all I/O connected): 1xGPS, 1xCAN, 1xInnovateWidebandO2,1xOLED(supports 2 OLEDs),4xTemperature sensors,2xPressure sensors,3xDigital switches (1 for control of OLEDs, 1x Fuel Level input.
An Arduino UNO was used to Tx/Rx CAN messages for the test:
Maximum current draw spiked at 0.15mA but I couldn't snap a photo of this, it was too quick.
Current draw hovered between 0.13mA and 0.14mA.
Connecting the external antenna will probably bump this a tad too so it looks like it would be safer NOT to use the MS3 as a 5V power source (0.15mA is 30% of the 500mA that the MS3 was designed for).
The OLEDs are mounted on a backplate mounted to the original gauges (with their needles removed) since this provided an easy way to mount them solidly:
My next project is to 3D print some custom housings for the OLEDs so that they can simply slot into the cluster.
#11
https://www.miataturbo.net/megasquir...s-gauge-76481/
Alas, I'm about 5 years too early.
lokiel - ssd1306's?
Alas, I'm about 5 years too early.
lokiel - ssd1306's?
#13
Those are the same ones I used. U8glib? I was going to rewrite mine since u8glib is much nicer and doesn't framebuffer the entire screen - losing 1.5k of ram in a 2k microcontroller makes doing neat stuff really annoying. Though I'm thinking of ditching the 328 completely and going with a teensy, even though making neat stuff work at 3.3v is a little more annoying..
#14
I'm using U8g2lib.
The Teensy3.2 and 3.5 support 5V analog inputs which is what you need for automotive sensors (they typically operate with 5V).
Initially I was using an Arduino DUE because it had plenty of grunt and memory but only tolerated 3.3v I/O which meant voltage levellers were needed for every signal - that means you need more hardware/components so I switched to the Teensy3.2.
Don't try to do too much with an UNO, you'll run out of memory - my Arduino UNO test unit, which just sends and receives+displays CAN data for my PCB, is almost maxed out.
It's pretty amazing what you can DIY these days thanks to the internet for information and access to hardware.
The Teensy3.2 and 3.5 support 5V analog inputs which is what you need for automotive sensors (they typically operate with 5V).
Initially I was using an Arduino DUE because it had plenty of grunt and memory but only tolerated 3.3v I/O which meant voltage levellers were needed for every signal - that means you need more hardware/components so I switched to the Teensy3.2.
Don't try to do too much with an UNO, you'll run out of memory - my Arduino UNO test unit, which just sends and receives+displays CAN data for my PCB, is almost maxed out.
It's pretty amazing what you can DIY these days thanks to the internet for information and access to hardware.
#15
One of the advantages of u8glib was partial rendering of the frame buffer - so you could knock the frame buffer size pretty handily at the cost of speed / refresh rate of the gauge.
I thought the teensy's were 5v tolerant but not 5v scaling? Anything above 3.3v would be 1024? Has that changed since the last time I played with one?
I thought the teensy's were 5v tolerant but not 5v scaling? Anything above 3.3v would be 1024? Has that changed since the last time I played with one?
#16
I'm going to need to add this for those 5V input sigmalss:8bit LLC (5v->3.3v) and will add it to the PCB.
#19
Fixed:
New board on right re-designed to use MCP3008 chip.
5V Analog inputs now go to MCP3008 chip which are output to the Teensy 3.2 via SPI.
Capacitors added for each of the 5V analog inputs (I'm only using 7 of the 8 available - no connector pins available for the unused analog input anyway).
Temperature trim-pot pull-ups replaced with 2,490ohm resistors.
The Accelerometer daughterboard is a 3.3V board so can use the Teensy's analog inputs correctly for the X,Y and Z inputs.
New board on right re-designed to use MCP3008 chip.
5V Analog inputs now go to MCP3008 chip which are output to the Teensy 3.2 via SPI.
Capacitors added for each of the 5V analog inputs (I'm only using 7 of the 8 available - no connector pins available for the unused analog input anyway).
Temperature trim-pot pull-ups replaced with 2,490ohm resistors.
The Accelerometer daughterboard is a 3.3V board so can use the Teensy's analog inputs correctly for the X,Y and Z inputs.