WIG-09555 Heat issues

Hello,

I recently bought the SparkFun OBD-II UART ( WIG-09555) and OBD-II to DB9 Cable (CAB-10087 ). I am able to use it properly, reading rpms and what not, however I did notice that a part of the board gets hot enough to make it uncomfortable to touch . Is this something that I should be concerned about?

That’s the voltage regulator; it might be getting ‘unclean’ power from the car :-/ It also could be a failing regulator. The solder points on the regulator itself look good…does it get hot when just the OBD side is plugged in?

You could grab a small aluminum/copper heatsink and throw it on that part to help dissipate the heat and use it as-is, then if the regulator ends up failing we can get you a replacement unit

Yes, it gets warm even with the Arduino disconnected. it seems to get warm when plugged in but hot when the car is turned on.

Battery Voltage goes up with the engine running.

More Voltage means more heat.

As long as your battery Voltage is 14.5 volts or lower with the engine running you should be ok.

If it’s higher than 15, you need to get your alternator checked, it will ruin your battery.

checked the voltage, it’s sitting pretty consistently around 14V,

Another problem I’ve been facing though, it seems I can only read 1 set of data at a time,
whenever I try to read 2 or more items at once it looks something like
(reading rpms and intake pressure at idle, should be around 1000rpm and 101 kpa)
0 101
0 101
0 0
0 101
0 0

#include <SoftwareSerial.h>
#include "ELMduino.h"


#define ELM_RX 2
#define ELM_TX 3


SoftwareSerial elmSerial(ELM_RX, ELM_TX); // RX, TX for ELM327 module
ELM327 myELM327;


void setup() {
  Serial.begin(9600); // Start serial communication for debugging
  elmSerial.begin(9600); // Start software serial for ELM327

  Serial.println("Initializing ELM327...");

  if (!myELM327.begin(elmSerial)) {
    Serial.println("Failed to connect to ELM327");
    while (1); // Stop here if ELM327 connection fails
  }

  Serial.println("ELM327 connected");
}

void loop() {
  int rpm = myELM327.rpm(); 
  //int speed = myELM327.kph(); //does not work if reading more than one item
  //int press = myELM327.manifoldPressure();

  if (myELM327.nb_rx_state == ELM_SUCCESS) {
    Serial.println (rpm);
    //Serial.print (" ");
    //Serial.print(speed);
    //Serial.print (" ");
    //Serial.println(press);
  }
}