ESP32 OBD2 Gauge

Поділитися
Вставка
  • Опубліковано 28 вер 2024

КОМЕНТАРІ • 132

  • @ricardoramos-e9o
    @ricardoramos-e9o 7 місяців тому +1

    Thank you very much for everything. It is a great project and I am sure it will work, in my case I am trying with an ILI 9341 TFT screen and an ESP32-WROOW-32 and this must be the problem. I will continue studying. Thank you

    • @gregoriolujan99
      @gregoriolujan99 3 місяці тому

      Great, I'm just starting my project and I was thinking of using the same components, did you achieve something?

  • @Demolick
    @Demolick 11 місяців тому +1

    Awesome!!! 🎉🎉🎉 Ill give it a try after some adjustment

  • @ricardoramos-e9o
    @ricardoramos-e9o 7 місяців тому +2

    Good morning, it is possible to adapt it for the BMW 3 Series brand. Since the OBD2 recognizes me but it does not connect. Thank you very much

    • @vacob6494
      @vacob6494  7 місяців тому

      as long as our BMW 3 is compatible with obd2. it'd work

  • @ckosmic
    @ckosmic Рік тому +2

    This is awesome dude I want to see if I can make something similar

  • @snaieto1
    @snaieto1 6 місяців тому +1

    Hi, great project!. Do you use flash 25q32? my board does not have it soldered.

    • @vacob6494
      @vacob6494  6 місяців тому

      There is not psram on this board but the esp32 module itself has 4mb flash rom

  • @esc4x4
    @esc4x4 Рік тому +1

    Hello, I was watching your videos and I wanted to know if you can replace an lcd of a radio transmitter because its lcd is smeared and I can't find an answer, the model is Yaesus Systen 600 and I ask, can the change be made for something more up-to-date? ??

    • @vacob6494
      @vacob6494  Рік тому +1

      This is not radio transceiver, it's OBD2 Gauge for car base on ESP32. In case the lcd screen is smeared or burned . You can change screen polyfilm. Google it.

  • @wordsofarebel5704
    @wordsofarebel5704 6 місяців тому +2

    Fantastic work, I love it! I think these CYDs are gonna be popular for years!

  • @Athenasarch
    @Athenasarch Рік тому +1

    Hello friend, I'm from Brazil.
    Did you use the standard bluetooth library? because the esp32-s3 uses low energy bluetooth, i'm having trouble getting the library to work.
    Is the software compatible with ELMDuino? with all the commands? could you inform?
    I have the same display board, but the display I'm using is 7 inches.

    • @vacob6494
      @vacob6494  Рік тому +1

      the sketch uses the standard Bluetooth classic library, not BLE. and is not compatible with ELMDuino. I wrote a sketch from scratch to minimize code size.
      you can see the code from the GitHub URL.

  • @saulleg
    @saulleg 7 місяців тому +1

    Hi! Thanks by the project, I have esp32-2432s028r the esp32 is wroom versión, have you any idea why the touchscreen not work?

    • @vacob6494
      @vacob6494  7 місяців тому +1

      Ther aee modified touch library files in source code. Did you replace touch.cpp & touch.h files ?

  • @pehata6726
    @pehata6726 7 місяців тому +1

    Hey, really good project! I am makeing graduate work about OBD2 conection etc. I bought OBD-II CAN-BUS DEV KIT. My question is it is possible to connect your device with this kit or work only via elm327 bluethoot device? Thank you so much!

    • @vacob6494
      @vacob6494  7 місяців тому

      as long as your KIT is an obd2 interpreter and compatible with ELM327, it'd work. the connection depends on your design. If you want to connect over serial instead of Bluetooth. you must modify the sketch.

    • @pehata6726
      @pehata6726 7 місяців тому +1

      @494 Thanks for the response, yes I want to connect it via cable to the car

  • @BlondieSL
    @BlondieSL 11 місяців тому

    Do you provide schematics or instructions of how to connect the ESP32 to the OBD2 connection port?

    • @vacob6494
      @vacob6494  11 місяців тому

      please follow github URL in the description.

  • @samuelestrappazzon4384
    @samuelestrappazzon4384 2 місяці тому

    hi, I'm having some problems loading the code onto the esp32, it tells me that ledcSetup has not been defined, any advice?

    • @vacob6494
      @vacob6494  2 місяці тому

      please downgrade esp32 arduino core to 2.0.7.
      I guess you are using core 3.0.x

  • @vacob6494
    @vacob6494  3 місяці тому +3

    Hi Folks, a new source code update (full version) .

    • @MateusLeonardoMendes
      @MateusLeonardoMendes 3 місяці тому +1

      I have successfully edited your code to read an analog input + touch screen instead of button and come pids for Subaru. however, i can't manage to read my transmission fluid temperature (i have the pids, ECU address and mode but it doesn't work). If you have the time, could you kindly help me solving this issue?

    • @vacob6494
      @vacob6494  3 місяці тому +1

      @@MateusLeonardoMendes you've gotta know PID and fcalculation fornula to read Subaru TFT.
      Just change pid 221E1C (for Ford) to 22xxyy something and the right formula. It should work.

    • @MateusLeonardoMendes
      @MateusLeonardoMendes 3 місяці тому +1

      @@vacob6494 I believe its 221017 for Subaru and I have the formula, however it seems to be different header, it should be 7E1 instead of usual 7E0

    • @vacob6494
      @vacob6494  3 місяці тому

      And it gave wrong value?

    • @MateusLeonardoMendes
      @MateusLeonardoMendes 3 місяці тому

      @@vacob6494 ir gives the same answer regardless of the temperature changes

  • @fabiopesenti
    @fabiopesenti 3 місяці тому +1

    Hi I'm looking for an application to monitor the parameters of my car. Yours is perfect.
    I compiled the code and modified some functions no longer supported on ESP32 ver3.0.
    I compile the code but end getting an error.
    The sketch uses 2162777 bytes (110%) of the space available for programs. The maximum is 1966080 bytes.
    Global variables use 65696 bytes (20%) of dynamic memory, leaving another 261984 bytes free for local variables.
    The maximum is 327680 bytes.
    Compilation error: The text section exceeds the available space on the tab.
    Thank you very much

    • @vacob6494
      @vacob6494  3 місяці тому

      Please roll back to ESP32 Ver 2.0.17 , and select partition scheme to huge APP 3MB instead. (OTA won't work) but you can successfully compile and flash.

    • @fabiopesenti
      @fabiopesenti 3 місяці тому

      @@vacob6494It's greate 🙂 i am able to build on ESP Ver.3.0 ...... the problem was on partition scheme.
      The correct selection is as you suggest (No OTA/1Mb).
      Now purchasing the ESP3 TFT card you suggested and would like to contribute to the development of this project

  • @Rafael-ed4np
    @Rafael-ed4np 4 місяці тому +1

    Hello, what software can I use to create custom buttons and icons?

    • @vacob6494
      @vacob6494  4 місяці тому +1

      there is link to source code (github) in description.

    • @Rafael-ed4np
      @Rafael-ed4np 4 місяці тому

      @@vacob6494 I saw the code friend, but I wanted to know if you know any software to convert png to binary, and create custom buttons in the sketch itself.

    • @vacob6494
      @vacob6494  4 місяці тому +1

      @@Rafael-ed4np notisrac.github.io/FileToCArray/

    • @Rafael-ed4np
      @Rafael-ed4np 4 місяці тому

      @@vacob6494 Thanks

  • @javedhussain9514
    @javedhussain9514 4 місяці тому

    Very good project.
    I am a new bee with this CYD.
    How to use your code to upload to CYD?
    Any detail instructions will be helpful along with how to connect the push button?
    A schematics will be helpful.
    Thanks.

    • @vacob6494
      @vacob6494  4 місяці тому

      Hello thank you for your interesting, there are source code URL in the description.

    • @javedhussain9514
      @javedhussain9514 4 місяці тому +1

      @@vacob6494 Yes I see the source code but it does not show how to connect the push button and how to load the code to CYD.

    • @vacob6494
      @vacob6494  4 місяці тому

      @javedhussain9514 in schematic diagram show how to connect speaker and a button.
      In sketch also defined button pin number.

  • @Joke90
    @Joke90 11 місяців тому

    Hello is it possible to change/replace info displayed with something else besides ones shown in video

    • @RatthaninWartcheeranon
      @RatthaninWartcheeranon 11 місяців тому

      Yes it's possible, you need to modify sketch to work with that display

    • @Joke90
      @Joke90 11 місяців тому

      @@RatthaninWartcheeranon lovely fhanks for reply

  • @muhammadmudassir6343
    @muhammadmudassir6343 9 місяців тому +1

    is this system compatible with ford EEC V?

    • @vacob6494
      @vacob6494  9 місяців тому

      what is ford EEC?

    • @3dddart
      @3dddart 9 місяців тому

      @@vacob6494 J1850. PWM

    • @flymetothemoon5138
      @flymetothemoon5138 8 місяців тому +1

      @@vacob6494 an old Ford ECU system, EEC V supports OBD2 so I would expect this to work

    • @vacob6494
      @vacob6494  8 місяців тому

      @@flymetothemoon5138 I guess it should work.

  • @nhandu2304
    @nhandu2304 Рік тому

    Can you share the code using canbus? if i use iso 9141-1 and iso 9141-2 is it ok?

    • @vacob6494
      @vacob6494  Рік тому

      I haven't developed canbus interface yet but it is possible .

  • @nhandu2304
    @nhandu2304 Рік тому

    use the type of wire to interface with obd is not ?

    • @vacob6494
      @vacob6494  Рік тому

      Yes just direct connect to serial from elm327 to esp32 uart. But need hardware modify on obd2 adaptor too

    • @cinemahub8888
      @cinemahub8888 Рік тому

      @@vacob6494 I really need your help. I have an ELM327 v1.5 OBD reader and I'm wondering what kind of modifications are needed to connect it directly to an ESP32 board to OBD reader. I attempted to establish a direct connection by wiring the OBD2 Bluetooth module's TX and RX pins to the corresponding TX and RX pins on the ESP32, but I didn't receive any data. If I remove the Bluetooth module and connect the OBD2 pin directly to the removed TX and RX pins on the OBD2 reader, will it work? thank u

    • @vacob6494
      @vacob6494  Рік тому

      Yes, that should work. Eemove bluetooth module on elm327 adaptor. Connect ESP32 RX TX pin to adaptor TX RX pin
      If it doesn't work, try swap pin.
      One thing should consider. Esp32 logic level is 3.3v but the adaptor might be 5.0v
      Direct connect should work, but I prefer level shifter .

    • @cinemahub8888
      @cinemahub8888 Рік тому

      @@vacob6494 thanks u so much for your assistance. i will let u know the result. can u have your email please🙂

    • @vacob6494
      @vacob6494  Рік тому

      @@cinemahub8888 if you have FB account please IM me here, more convenience for me. facebook.com/VaAndCob

  • @javedhussain9514
    @javedhussain9514 4 місяці тому

    I tried to compile the sketch but got the following error.
    Please help me correct the errors. Thanks.
    Arduino: 1.8.19 (Windows 10), Board: "ESP32 Dev Module, Disabled, Huge APP (3MB No OTA/1MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, Core 1, Core 1, None"
    VaAndCobOBD2Gauge:37:10: fatal error: JPEGDecoder.h: No such file or directory
    #include
    ^~~~~~~~~~~~~~~
    Multiple libraries were found for "SPI.h"
    compilation terminated.
    Used: C:\Users\jhuss\Documents\Arduino\libraries\SPI
    Not used: C:\Users\jhuss\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.3\libraries\SPI
    exit status 1
    JPEGDecoder.h: No such file or directory
    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

    • @vacob6494
      @vacob6494  4 місяці тому

      The library file "JPEGdecoder.h" is missing. Pls check if all needed library files were added to arduino ide.

    • @javedhussain9514
      @javedhussain9514 4 місяці тому +1

      @@vacob6494 Not very clear to me. Can you please give some more detail on adding all files to ide?

    • @vacob6494
      @vacob6494  4 місяці тому

      @@javedhussain9514 well. Perhaps this project is for those who have skill and familiar with arduino ide. You can search how to work with arduino ide , how to add libraries and boards. You can do it.

    • @javedhussain9514
      @javedhussain9514 4 місяці тому

      @@vacob6494 well, at least you can point me where this .h file is located and I can then figure out why it is causing an error.

    • @vacob6494
      @vacob6494  4 місяці тому

      @@javedhussain9514 you don't need to find .h file, all u can do is add missing library .h file from arduino ide (library manager) and there will be many libraries u need to add to compile this sketch.

  • @lohikarhu734
    @lohikarhu734 4 місяці тому +1

    Hi, Thai guy!
    Or girl?
    Nice looking app..I'd like to do it on STM32..

  • @NotPeti
    @NotPeti 8 місяців тому +1

    Hello, could you make a video explaining a little the operation of everything, because I for example I have doubts on how to link the bluetooth between the esp32 and obd2, I also do not know where to install the button. Thanks

    • @vacob6494
      @vacob6494  8 місяців тому

      My github sorce code is in the video description. So you can learn how it works and what pin that button is connected to.

  • @andre-th2rw
    @andre-th2rw 2 місяці тому +1

    How did you figure out which CAN values to read? lets say i want to build my own version of this for an audi and connect my esp to a obd2 adapter.
    i can use apps like torque.
    how did you know what specific values to read for RPM / MAP etc for you model car?

    • @vacob6494
      @vacob6494  2 місяці тому

      @andre-th2rw OBD2 mode 01 is a standard. So every vehicle that compatible with obd2 could read standard parameters (rpm, speed,etc..) but not all
      For custom pid, it's different and upto each car maker.

  • @MateusLeonardoMendes
    @MateusLeonardoMendes Місяць тому +1

    I have finally figured out which is the PID for my 2016 Subaru Forester CVT Temp (2210D2) but it comes from the TCU (7E1 address, usually the pids come from 7E0). I managed to test is using car scanner terminal and it works. I found where to edit the standard pids in your code but haven't managed to change where the pids come from, by default they come from 7E0, but in order to read my CVT temp i have to change it to 7E1, is it possible to change the module address?

    • @vacob6494
      @vacob6494  Місяць тому

      I'm not sure about the ECU address but from this page. obd2australia.com.au/auto-transmission-temperature-pids/ subaru and ford TFT has the same ECU address but different pid, I'd like u to try 221017 and see if it works, by the way you can read data from ECU address too, please read this datasheet www.elmelectronics.com/DSheets/ELM327DSH.pdf on page 39 and 47. (recommend true ELM327 adaptor, not cheap one) please remember that you need to correct calculate formula to give the correct temperature.

    • @MateusLeonardoMendes
      @MateusLeonardoMendes Місяць тому +1

      @@vacob6494 Thanks for your attention. I tried 221017 before, does not work. 2210D2 I'm 100% sure it works because I successfully got the temperature from it by adding a custom sensor in CarScanner app, but I had to use the header 7E1 instead of default 7E0.
      If you give no instructions to Elm327, it will always go for the default header (7E0), so it all your needs are standard PIDs, there no need to worry about the headers. But in my case I need to go for the 7E0 so I have to figure a way to change that

    • @vacob6494
      @vacob6494  Місяць тому

      @@MateusLeonardoMendes you can try connecting and reading with a Bluetooth serial terminal (android or laptop PC), I believe we can set ELM to read from a specific ECU address.

    • @MateusLeonardoMendes
      @MateusLeonardoMendes Місяць тому

      @@vacob6494 I did exactly that using my android phone and got the correct answer. The challenge now is to do this with your code and get pids from multiple control units, since i need PIDs from the engine as much as i need from the transmission.

    • @MateusLeonardoMendes
      @MateusLeonardoMendes 12 днів тому +1

      @@vacob6494 I succefully could read 2210D2 using your code and managed to change ECU adress using ATSH 7E1 at line 64, but it made all other pids stop working. Is it possible to add another row in pidConfig table to change headers? EX: "0105", "ATSH7E0".... "2210D2", "ATST7E1". It needs to be able to switch headers on the fly.

  • @mohamedsadokjomaa5579
    @mohamedsadokjomaa5579 4 місяці тому +2

    hi ! great work, what did you use for the ui ?

    • @vacob6494
      @vacob6494  4 місяці тому

      create my own UI in Sketch, you can see the source code URL in the description.

  • @ricardoramos-e9o
    @ricardoramos-e9o 7 місяців тому +1

    Good morning, it is possible to adapt it for the BMW 3 Series brand. Since the OBD2 recognizes me but it does not connect. Thank you very much

  • @robinrai4973
    @robinrai4973 10 місяців тому +1

    That's really impressive man, awesome stuff

  • @fabiopesenti
    @fabiopesenti 2 місяці тому +1

    Hi, I managed to get the OBD gauge to work well with a blue OBD2 marked ELM327.
    Now I'm trying to use an OBD vLinker MC+ because ELM327 does not transmit parameters with PID2218E4.
    At startup it sees the vLinker MC+ with address e0:ff:f1:6f:aa:45 but it does not connect.
    Do you have any suggestions?
    Thank you very much

    • @vacob6494
      @vacob6494  2 місяці тому

      @fabiopesenti in the sketch. I fixed it to connect to the obd2 adaptor that has the name "obd2" only.
      But you can change it.

    • @fabiopesenti
      @fabiopesenti 2 місяці тому +1

      @@vacob6494 Hi, now the "vLinker MC+" at startup is recognized and the program run but after 5 seconds the application closes and restarts this continuously . This problem did not happen with blue OBDII marked ELM327.
      How can I modify the code?
      Thank you very much

    • @vacob6494
      @vacob6494  2 місяці тому

      @@fabiopesenti could u please connect gauge to laptop and see debug message on serial terminal?

  • @dayarao1555
    @dayarao1555 6 місяців тому +1

    great design...

  • @oida6802
    @oida6802 6 місяців тому +1

    Hello,
    Is there any way to measure the level of braking with the OBD device?
    Thanks,

    • @vacob6494
      @vacob6494  6 місяців тому

      You mean brake fluid level or brake force level?

    • @oida6802
      @oida6802 6 місяців тому +1

      @@vacob6494 brake force level. Best Regards

    • @vacob6494
      @vacob6494  6 місяців тому

      @oida6802 in standard pids, there is no brake force , but extend pid could or couldn't. Up to car manufacturers.

    • @lohikarhu734
      @lohikarhu734 5 місяців тому

      You could put an accelerometer on the system.

  • @_der_pinguin_2463
    @_der_pinguin_2463 8 місяців тому +1

    Hi I tried to write a comment but I think it was deleted because it had a Link in it. I tried to copy your project but sadly it isnt working right. Somehow the Background ist white instead of black and the Touch doesent work. I tried skipping the calibration by uncommenting the calibration Part and now it connects to the obd reader but doesent show any values.
    I bought a Board that looks exactly the same as yours. Is there any advice you could give me to solve my issues?

    • @vacob6494
      @vacob6494  8 місяців тому

      I recommend not use cheap obd2 adaptor. (I have recommend good elm327 adaptor on my github.)
      Please recheck the following
      - Is your board exactly the same model and manufacturer. There are module that almost the sam but something different.
      - there is modified touch.h cpp in tft_espi extension folder.
      Did u copy and replace those files?

    • @_der_pinguin_2463
      @_der_pinguin_2463 8 місяців тому +1

      @@vacob6494 I copied the modified Version. For the obd2 Adapter i bought a Elm327 from aliexpress and made shure that it was the Version you described on your github. The Adapter works withy my Phone but not the device. Maybe i bought the wrong Display. Mine has one of those cheaper touchscreens which can be operated with a plastic pencil. Could that be the Problem and is there a way to get this screen working?
      I checked again and it seems like all colors are inverted. I am gonna test it again later with a different car. Maybe that will make it display some values.
      Edit. The only difference i could see is that my board has a USB-C port next to the micro usb port

    • @vacob6494
      @vacob6494  8 місяців тому

      ah, that's a different one. it'd work, but you need to edit display and touch part to get it to work. @@_der_pinguin_2463

    • @_der_pinguin_2463
      @_der_pinguin_2463 8 місяців тому

      @@vacob6494 Thanks. Do you know what I exactly would have to change? Sadly I am not that good at programming.

    • @saulleg
      @saulleg 7 місяців тому

      ​@@_der_pinguin_2463 same problem. Did you found solution?

  • @mr_mnky
    @mr_mnky Рік тому +1

    what's the name of the song?

    • @vacob6494
      @vacob6494  Рік тому

      tbh it's radio station, I really don't know what song.

  • @javedhussain9514
    @javedhussain9514 4 місяці тому +1

    I was finally able to compile this sketch and uploaded to my ESP32 CYD 2.8 inch board.
    Screen now shows Touch Screen Calibration and asks to touch the corner as indicated.
    I tried that but nothing happens. Any clue what to do to fix that?
    Also during compilation I got the following message.
    Library SPI has been declared precompiled:
    Precompiled library in "C:\users\jhuss\Documents\Arduino\libraries\SPI\src\esp32" not found.
    Similar message for SDI
    Anyone who successfully used this sketch, please, give me some help.
    Thanks.

    • @vacob6494
      @vacob6494  4 місяці тому +1

      comment out this line at 343
      // touch_calibrate();
      to skip screen calibration. I guess it's bug since TFT_eSPI update, will fix it later.

    • @javedhussain9514
      @javedhussain9514 4 місяці тому +1

      @@vacob6494 Thanks. That worked.
      I connected my OBDII to my Ford Energi 2017 and on screen it says one device found and gives a Mac address but then in next line it say No OBDII device found and just cycle the same message.
      Anything else I have to do to get it going?

    • @vacob6494
      @vacob6494  4 місяці тому +1

      @@javedhussain9514 from the sketch, gauge will scan all nearby Bluetooth devices, but connect to Bluetooth device that name "OBDII" only. by this case, your ELM327 Bluetooth adaptor name must be exactly OBDII. or if not u can modify sketch to connect to another name Bluetooth device.

    • @javedhussain9514
      @javedhussain9514 4 місяці тому

      @@vacob6494 Thanks for the help so far. I am so close to get it going but still may be one issue left.
      My OBDII works fine with an app on my Samsung 7 phone. I checked under Bluetooth and the device is named as OBDII. When I pair the unit with app it asks for the pin to pair and then it works fine.
      So I am not sure why the sketch is not finding the unit. It does find my other BT devices and list them but not this OBDII.

    • @vacob6494
      @vacob6494  4 місяці тому

      @@javedhussain9514 Perhaps ELM327 connect to your Samsung 7, so try unpair OBDII in Samsung 7 phone first. to prevent OBDII keep connecting to the phone, that's why Gauge cannot see in the scanning list

  • @cslee6353
    @cslee6353 8 місяців тому

    How do I customise a different PID?

    • @vacob6494
      @vacob6494  8 місяців тому

      In the sketch. There is PIDs table and formula table for each PIDs. Start from there.

  • @nhandu2304
    @nhandu2304 Рік тому

    can i connect the serial to obd ? Dont use elm327

    • @vacob6494
      @vacob6494  Рік тому

      yes, but that needs more work, CANBUS interface chip + canbus communication.

    • @nhandu2304
      @nhandu2304 Рік тому

      ​@@vacob6494 Can you share the code using canbus? if i use iso 9141-1 and iso 9141-2 is it ok?

  • @gordonfinlayson8100
    @gordonfinlayson8100 Рік тому

    Github link gives 404

  • @PedroLeBoursicoteur
    @PedroLeBoursicoteur 9 місяців тому +1

    Thanks for all your videos, if I want to get started with ESP32 programming, which one would you advise me to buy please, I saw that the ESP32 C6 I think was the model, but I didn't understand some people say there aren't enough compatible libraries?

    • @vacob6494
      @vacob6494  9 місяців тому +1

      I prefer ESP32 wroom dev kit, since this module has lot of gpio pins and most of esp32 feature.
      Also support Arduino IDE with many libraries and example sketchs.

    • @PedroLeBoursicoteur
      @PedroLeBoursicoteur 9 місяців тому

      tks you, do you have a link pls ?@@vacob6494