Hi,I've got OBD2 library from www.arduinodev.com/hardware/obd-kit/It's display data correctly, I've try it earlier, and it works out of the box. Yes I know that this two variables are not defined, but it doesn't change anything.

void setup() { Serial.begin(OBD_SERIAL_BAUDRATE); sd.begin(chipSelect, SPI_FULL_SPEED); while (!obd.Init()); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< change this line this is from the example program}//------------------------------------------------------------------------------void loop() {

Truthly I doubt that this change is necessary. As I understand this line it's try initiate obd until it finish success, and this is executed only once on start. So when I received this one value, this means obd was initialized successfully.

Google the site for FreeMemory(). Start getting rid of libraries you don't really need. Start with the Streaming one. The SD card doesn't care whether the data gets there because of one function call or 12 function calls.

Hi,I think I found root of this problem. OBD2 library which I use somehow doesn't allow me to read more than one PID. When I want to read two or more it reads only the first one. Now the tricky part. Does anyone of you have any idea how to solve this issue.

The library intro at link you provided implies that the library can read multiple sensors, although their example there doesn't show it. Look at the dashboard_1602 example though and you see that multiple PIDs are being read, corresponding to which mode the device is in.

I suggest you try writing a minimalist program that reads two pids and displays the result, on the serial port for preference, and build up from there.