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
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);
}
}