Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Volkswagen 2006 ISO 14230-4 KWP (fast baund init 0x8110F1) 10.4 kbaund #16

Open
vladinen opened this issue Mar 7, 2025 · 16 comments
Open

Comments

@vladinen
Copy link

vladinen commented Mar 7, 2025

Thank you for this code! I can't connect to the ECU. I tried L9637D and BC547. Esp32 connects perfectly to the browser, but there is no initialization. Any ideas?

@muki01
Copy link
Owner

muki01 commented Mar 7, 2025

Hello. Thank you for the feedback. Are you sure your car has ISO14230 protocol? In the code, the default protocol is Auto, when the protocol is set to Auto sometimes it becomes a problem. If you have not changed the protocol in the code and if you are sure that your car is with ISO14230 protocol, you can change the protocol to ISO14230 and try.

  1. The ignition of the car must be switched off.
  2. Connect the board you made and wait a little.
  3. Turn on the car's ignition.

@vladinen
Copy link
Author

vladinen commented Mar 7, 2025

I changed the protocols.
Can you give me the simplest code for initialization ISO14230 fast
for single temperature parameter?

digitalWrite(K_line_TX, HIGH), delay(3000);
digitalWrite(K_line_TX, LOW), delay(25);
digitalWrite(K_line_TX, HIGH), delay(25);

@muki01
Copy link
Owner

muki01 commented Mar 7, 2025

Okay this code is only for esp32 and uses iso14230 protocol and takes coolant temperature. You need to use pin 25 and 26 for RX, TX and you can open the serial monitor to see what is happening. If you get hex data and then it says "Your Protocol is ISO14230_Fast" then your protocol is selected correctly and everything should work fine. My car also uses ISO14230 and with this code it works perfectly.

Basic_Code.zip

@muki01
Copy link
Owner

muki01 commented Mar 7, 2025

This is a very short version of the code, it should work, but I won't be able to check in my car right now if it works, I can try tomorrow morning.

Basic_Code_short.zip

@vladinen
Copy link
Author

vladinen commented Mar 8, 2025

Thank you for your reply. I'll try it today and let you know.

It's not working yet, but I'll keep trying. ) I guess it's about timing accuracy 25 milliseconds.

@muki01
Copy link
Owner

muki01 commented Mar 8, 2025

Do you see any HEX data in the serial monitor or not?

@vladinen
Copy link
Author

vladinen commented Mar 8, 2025

Yes. i see

Image

Image

@muki01
Copy link
Owner

muki01 commented Mar 9, 2025

Why are you using Serial2? In my code I used serial1 with pins 25 and 26 because with serial2 it didn't work for me and I was getting the same data as you. Please use:

#define K_Serial Serial1
#define K_line_RX 25
#define K_line_TX 26

In the diagram connect the RX to GPIO25 and TX to GPIO26.

@vladinen
Copy link
Author

vladinen commented Mar 9, 2025

I've tried all the options, unfortunately it doesn't work.
my esp32
https://randomnerdtutorials.com/esp32-uart-communication-serial-arduino/
but, obd adapter easy connect to my car)

Image

@muki01
Copy link
Owner

muki01 commented Mar 9, 2025

Use this code. Basic_Code.zip
Don't change anything.
In the diagram connect the RX to GPIO25 and TX to GPIO26 and show me the serial monitor.

In the car:

  1. The ignition of the car must be switched off for 10sec.
  2. Connect the board you made and wait a little.
  3. Turn on the car's ignition.

@vladinen
Copy link
Author

vladinen commented Mar 10, 2025

Okay, I'll give it a try. I don't have a laptop, so I'll add the screen code to visualize the process. I installed L9637D instead of transistors, and it looks like the chip responds to the RX HEX code.

Image

I can't establish a connection yet. I think it's a timing issue.

@muki01
Copy link
Owner

muki01 commented Mar 10, 2025

Friend please first try my code that I gave you without changing it and without adding your codes for the screen and send me the picture. In order for me to help you you have to listen to me. First try only with my code without adding additional codes!

@muki01
Copy link
Owner

muki01 commented Mar 10, 2025

You can connect the ESP32 to the phone with an OTG cable and open the serial monitor using the Serial USB Terminal program. It is available in the Play Store, if you use an iPhone there are probably such programs for it too.

@vladinen
Copy link
Author

vladinen commented Mar 11, 2025

Image

I'm sorry, I've been trying for a long time but I can't establish a connection via OTG. Maybe there is a code for a wireless connection?

@muki01
Copy link
Owner

muki01 commented Mar 11, 2025

It doesn't show you because you connected it wrong. the black cable is the OTG cable it should be connected to the phone not to the ESP32 but I see your OTG cable is micro USB. Do you have a Type C OTG cable or a Micro USB to Type C adapter? If you don't have it, it won't work, you'll have to work with a laptop.

@vladinen
Copy link
Author

Thank you for your patience with me! I will try to find a laptop, that would be the best thing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants