Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Inquiry and support for Freematics products
Post Reply
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

Hello,
I bought an OBD II adapter MODEL A (UART) 3.3 Volt (I ordered the 5Volt one, but something got wrong :/), and
I connected my Teensy 3.1 to the OBD II adapter using this schema:

Teensy 3.1 RX1 <---> TX Arduino OBD II
Teensy 3.1 TX1 <---> RX Arduino OBD II
Teensy 3.1 GND <==> GND Arduino OBD II
The 3.3Volt output of the Arduno OBD II is floating.

The Teensy 3.1 gets its power supply by USB cable connected to a laptop.

Communication cannot be established, as the loop on the COBD::init() method never returns TRUE. I verified that the command ATZ\r is properly sent on the TX of the serial line of the Teensy by using an oscilloscope, but there is no answer at all from the OBD II.

Any help? Notice that I cannot connect supply the power to the Teensy by using the 3.3V output of the OBD II adapter. Or there is a way to modifiy it to be 5Volt instead?

Thanks a lot!
Regards
stanley
Site Admin
Posts: 1026
Joined: Sat Mar 01, 2014 3:15 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by stanley »

So you didn't connect adatper's VCC? It should work with universal ground. Can you check what Teensy receive from the adapter? Is it in plain text?
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

stanley wrote:So you didn't connect adatper's VCC? It should work with universal ground.


Yes, the VCC of the OBD II adapter is not connected to anything.

Is there away to modify the OBD II adapter in order to output 5 Volt instead of 3.3Volt?

stanley wrote:Can you check what Teensy receive from the adapter? Is it in plain text?


The Teensy receiving nothing. I checked with a cheap protocol analyzer. On the other hand, the Teensy is sending ATZ\r each 2 seconds.

Thanks for you help
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

Hello Stanley,

stanley wrote:So you didn't connect adatper's VCC? It should work with universal ground. Can you check what Teensy receive from the adapter? Is it in plain text?


for additional information, the Teensy serial port is using TTL levels, i.e. it it 3.3Volt level. Is this ok for the OBD II adapter? Which voltage level is it using on the uart serial line?

Greetings
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

Hello Stanley,
the VCC of the OBD II adapter is disconnected from anything. On the other hand, the GROUND is connected to the Teensy 3.1 ground pin.

One question: i verified that, on the UART, the level of voltage on the TX pin of the Teensy 3.1 is about 3 Volt. Is that ok? Or the OBDII needs an higher voltage level on its RX pin?

Greetings
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

stanley wrote:So you didn't connect adatper's VCC? It should work with universal ground. Can you check what Teensy receive from the adapter? Is it in plain text?


yes, the VCC of the OBD II connector is not attached to anything.
The teensy is not receiving anything,i verified it with an oscilloscope.
on the other hand, the signal is properly sent on the TX pin of the Teensy.

Question: does the OBD2 adapter uses the RS232 or TTL levels? Perhaps the reason is that
the Teensy is using TTL (i.e. 3 Volt is 0, and 0 Volt is 1).

Thanks a lot for your answer. I hope you could support me a bit again.
Greetings
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

stanley wrote:So you didn't connect adatper's VCC?

Yes, i did not connect it to VCC

stanley wrote: It should work with universal ground. Can you check what Teensy receive from the adapter? Is it in plain text?


Yes, the OBD2 adapter is not sending anything. It is like the OBD2 adapter did not receive any data, although i verified (with an oscilloscope) that it is instead receiving the "ATZ\r" strings each 2 seconds (with TTL voltage levels, i.e. 0Volt is 1, 3Volt is 0).

Is the OBD2 adapter using TTL level for the communication on the UART?

Regards
stanley
Site Admin
Posts: 1026
Joined: Sat Mar 01, 2014 3:15 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by stanley »

Can you compare with what is happening with Arduino?
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

Hello,
stanley wrote:Can you compare with what is happening with Arduino?


I do not own an Arduino, but i could try with a Teensy 3.0, or with various Freescale or PIC32 boards i have,
but i guess the result would be the same, since I checked that the data is really sent properly from the Teensy 3.1 to the
OBD2.

One question: when the Teensy issues the "ATZ\r" command, the device ArduinoOBD2 would just answer straing away, without the need to communicate with the ECU of the car, right? In this case, we could exclude that the problem is the ECU of the car. Can you confirm this?

Regards,
funatic
funatic
Posts: 8
Joined: Tue Sep 23, 2014 5:48 am

Re: Arduino OBD-II Mod.A cannot communicate with Teensy 3.1

Post by funatic »

Hello,

i discovered that the OBD2 device does need to be connected to the car ECU or to an emulator of the ECU in order to work.
There is not way it works without being plugging it into an obd2 socket.

And also, i tryied its usage on other cars, and eventually it worked on Seat cars, but not on Kia nor Hyundai ones. I guess the protocols of the latters are not supported.

Greetings,
funatic
Post Reply