Skip to content

rassiek/carmetricsbox

Repository files navigation

carmetricsbox

This project uses

  1. 1 Wire Interface (Digital Pin 7) => Four 1 Wire temp sensors (CoolantTemp, GearBox Temp, Transfer Case Temp and Intake Mainifold/ Air temp)
  2. SPI Interface (Digital Pin 4,5,6) => One Thermocouple Amplifier with K-Type Thermocouple (EGT Temperature)
  3. Analog Interface (Analog Pin 3 and 4) Two 5V 0-100psi Pressure Transducers (Boost Pressure 0-30psi and Oil Pressure 0-100Psi 0.5 to 4.5V reading)
  4. I2C Interface (Digital PIN 20 and 21) One OLED 128x128 Display (Metrics Display) + One BMP180 Barometric Pressure/Temperature/Altitude Sensor (Cabin Temp and Altitude Sensor) To Add
  5. Two B25 Voltage Sensor Detection Module (Starter Battery and Auxilliary Battery Sensors)

Other components

  1. 1 4.7 KOHM Resistor as a pull up between data/ signal Pin 7 and VCC.
  2. 1 5V Power supply in the engine bay with a jumper cable to arduino's ground (Arduino is in the Cab)

All 1 Wire sensors, Pressure Transducers and Themocouple Amplifier get power from the secondary 5V power supply above in the engine bay. All data/ signal pins terminate to a CAT6 wall outlet jack in the engine bay. The arduino powers the OLED and the BMP180 Barometric Pressure/Temperature/Altitude Sensor All other signal Pins terminate on a second CAT6 Wall outlet jack attached to the box with Arduino. There is a cat6 cable connecting the two cat6 jacks in the cabin and the engine bay running through the firewall. Arduino is powered indipendently using a 13.8 -9V buck converter. But it can also be powered using a normal 5v source. The Arduino, Display and the Temp/Pressure sensors are in a small box that fits between the driver A Pilar and the Intrument Cluster.


Notes 2024 Jan Added integration to ESP32 via UART (Serial 2) - ESP32 listents to serial 2 data coming from Serial2.print on Arduino and reads the last complete block of sensor and time data. ESP32 converts that data to JSOn and exposes it on a /readings enpoint This is then visualized on the root path / as gauges using Javascript, CSS and HTML A second /charts page shows the trends of various metrics over time as long as the browser remains open (not stored anywhere in ESP32) ESP32 Exposes a wifi network that allows you to connect and access the page at http://192.168.4.1/. It can also connect to your exixting wifi network by commenting out ( //Set ESP32 as Wifi Client). You can use as both AP and client but I have noted that ESP32 is running out of resources if you do that.


Future Plans Add a buttons page to enable buttons/ sliders and sen values to Arduino from ESP32 that are then used to trigger actions via a relay block and/or optocouplers. Add a page on ESP32 to manage basic sensor configurations like allocate newly discovered one wire sensors or add an additional sensor to I2C, Analog Port etc.

About

Using Arduino and ESP32 to monitor an old engine

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors