Arduino in Subaru Forester'98 SSM-1


I have a problem. He has been trying to communicate via Arduino with my Forester from 98 for a long time. There is no K line or anything else that talks with normal car interfaces. There is a socket that looks like OBD but it is not. In principle, communication works and there are programs that can be connected, I'm talking about connecting with a cable. A regular FTDI cable works. And it's OK. But I wanted to do LCD display parameters.

I have two programs, one works and reads correctly TPS (throttle position or its deflection). In the other, I wanted to display more parameters by switching "screens" and the other one doesn't connect anymore. I don't know what I did wrong. Or what I can do it differently. The first program is a modification already found somewhere on the internet.
Program "ssm_tps_ok is working
but OBD_SSM1_v3 not.

SSM_TPS_OK.ino (3.09 KB)

OBD_SSM1_V3.ino (10.6 KB)

What happens when you run the second program ?
Do you get any output on the LCD ?

Have you tried putting Serial.print()s in the program to see what code is executing and the value of pertinent variables at strategic points ?

It's not possible. The program uses the hardware serial port. The only debugging is LCD display.

Consider using SoftwareSerial if only for debugging

it's good idea, i will try. I have ftdi cable, so a can connect it do arduino and other usb port. And use terminal for debug.


SoftwareSerial is not perfect but if you are careful it will get the job done. It is usually a good idea not to use the Hardware Serial pins so that you can use the Serial monitor for debugging. Another alternative is to use an Arduino with more than one hardware UART such as the Mega or one with a native USB port such as the Leonardo or other boards that use the same or similar processor