This is the remake of the program PYOBD. It works on Python3 and all new libraries. It was tested on Linux, Windows, and it should work on MAC too.

Overview

PYOBD PYOBD

This is the remake of the program PYOBD. It works on Python3 and all new libraries. It was tested on Linux, Windows, and it should work on MAC too. You just need an ELM327 USB or bluetooth device and a PC(laptop preferably).

NOTE: On Windows you will need a suitable driver for your ELM327 device(on Linux it is not needed). You can download drivers from here: http://www.totalcardiagnostics.com/support/Knowledgebase/Article/View/1/0/how-to-install-elm327-usb-cable-on-windows-and-obd2-software

pyOBD (aka pyOBD-II or pyOBD2) is an OBD-II compliant car diagnostic tool. It is designed to interface with low-cost ELM 32x OBD-II diagnostic interfaces such as ELM327. It will basically allow you to talk to your car's ECU,... display fault codes, display measured values, read status tests, etc. All cars made since 1996 (in the US) or 2001 (in the EU) must be OBD-II compliant, i.e. they should work with pyOBD.

Video presentation on YouTube(click on it):

PYOBD Youtube video 2021

On Debian 10 type these commands to install the requirements:

sudo apt-get install dpkg-dev build-essential libjpeg-dev libtiff-dev libsdl1.2-dev libgstreamer-plugins-base1.0 libnotify-dev freeglut3 freeglut3-dev libsm-dev libgtk-3-dev libwebkit2gtk-4.0-dev libxtst-dev

pip3 install wxpython==4.1.1

pip3 install pyserial==3.5

pip3 install obd==0.7.1

The program is run by typing:

python3 pyobd.py

The ignition must be on, to connect to the car and display data(key turned one level before engine start). Although most of the sensors are visible only when the engine is running. If you connected and then turn the engine on, you must connect to the car again.

The program works nice and I will also add new functionalities to it.

ELM327

Comments
  • How to debug first connection?

    How to debug first connection?

    @barracuda-fsh, many thanks for maintaining and enhancing this cool piece of software. I just received a brand new Chinese ELM327 v1.5. It works just fine on Ubuntu 20.04 by using OBD commands with 'sudo screen /dev/ttyUSB0 38400': I was among others able to retrieve trouble codes. I can't get it to connect with pyobd with the below error messages. Where should I get started to debug the connection?

    Thank you.

    [obd.obd] No OBD-II adapters found [obd.obd] Cannot load commands: No connection to car [obd.obd] No OBD-II adapters found [obd.obd] Cannot load commands: No connection to car [obd.obd] No OBD-II adapters found [obd.obd] Cannot load commands: No connection to car [obd.obd] No OBD-II adapters found [obd.obd] Cannot load commands: No connection to car [obd.obd] No OBD-II adapters found [obd.obd] Cannot load commands: No connection to car

    opened by laurentbacall 9
  • check if connecting to the car works with practically any ELM327 adapter

    check if connecting to the car works with practically any ELM327 adapter

    I need to check if connecting to the car works with practically any ELM327 adapter and possibly fix it if some don't work. If someone has issues, feel free to comment and I will try to fix them also.

    It probably works on all USB ELM327 adapters(especially original ones, not copies).

    So far these have been confirmed to work: -OBDPro USB Scantool (http://www.obdpros.com/product_info.php?products_id=133) -OBDLink SX (https://www.obdlink.com/products/obdlink-sx/) -Chinese USB ELM OBD2 (1.5a) ...

    opened by barracuda-fsh 9
  • Changing One Setting in Configure Overwrites All Settings in .pyobdrc

    Changing One Setting in Configure Overwrites All Settings in .pyobdrc

    Regarding menu OBDII > Configure

    If you change one setting in configure, all settings in .pyobdrc are overwritten.

    This was problematic for me because neither AUTO in baud rate or in comport worked. The configure UI has no option to manually enter a comport. I manually edited .pyobrc to set comport=/dev/cuaU0. Later I edited baudrate in the configure dialog and did not realize that the value of comport was overwritten to the hardcoded value of AUTO.

    If one does not ever use the configure dialog, then one avoids their configuration being overwritten.

    opened by jcw73 2
  • Some UI Elements Seem to Have No Effect

    Some UI Elements Seem to Have No Effect

    Regarding menu OBDII > Disconnect and menu File > Exit

    Neither of these UI elements seems to have any effect. The only way to exit pybobd is to use CTRL-C in the terminal where I started pyobd.

    opened by jcw73 1
  • Pkg mac support

    Pkg mac support

    Hello, This application is interesting, but you need an easy way to deploy this application if you want to attract simple users without describing them how to install Python. My decision is not the best one but at least it will give users a simple way to run application. I suggest to use pyInstall and github action for auto deploy.

    opened by shizacat 0
  • option to record & save the data

    option to record & save the data

    #FeatureRequest

    First of all I'm so happy i found this new version that rely works...

    It would be super nice if it was possible to record some graphs to be able to analyze it later and to keep it as documentation of my car.

    opened by datamaskinen 3
  • AUR build

    AUR build

    Thank you for supporting this valuable app!

    Are there any plans to provide an Arch User Repository "package" (the PKGBUILD script)?

    There is already an original package with no maintainer. If you're serious with the development the package could be repurposed.

    opened by drws 6
  • Flatpak support

    Flatpak support

    Currently there are only limited amount of linux support that may cause issues on some popular distributions.

    Please introduce a modern Flatpak package and publish it on FlatHub.

    Having this project in a Flatpak package, would enable your project to work on basically all distributions.

    See some of the reasons to use Flatpak.

    opened by aha999 1
Releases(v1.12)
The example shows using local self-hosted runners on-premises by making use of a runner on a Raspberry Pi with LED's attached to it

The example shows using local self-hosted runners on-premises by making use of a runner on a Raspberry Pi with LED's attached to it

Martin Woodward 6 Nov 13, 2021
[unmaintained] WiFi tools for linux

Note: This project is unmaintained. While I would love to keep up the development on this project, it is difficult for me for several reasons: I don't

Rocky Meza 288 Dec 13, 2022
ArucoFollow - A script for Robot Operating System and it is a part of a project Robot

ArucoFollow ArucoFollow is a script for Robot Operating System and it is a part

5 Jan 25, 2022
A refreshed Python toolbox for building complex digital hardware

A refreshed Python toolbox for building complex digital hardware

nMigen 1k Jan 05, 2023
Yet another automation project because a smart light is more than just on or off.

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 2022
Hourglass on the pi pico using circuitpython

hourglass-on-pico "Hourglass" on the raspberry pi pico using circuitpython circuitpython version 7.0.0 Components used: Raspberry Pi Pico ADXL345 acce

4 Jul 18, 2022
A Home Assistant sensor that tells you what holiday is next

Next Holiday Sensor This sensor tells you what holiday is coming up next. You can use it to set holiday light colors or other scenes. The state of the

Nick Touran 20 Dec 04, 2022
Automatic CPU speed & power optimizer for Linux

Automatic CPU speed & power optimizer for Linux based on active monitoring of laptop's battery state, CPU usage, CPU temperature and system load. Ultimately allowing you to improve battery life witho

Adnan Hodzic 3.4k Jan 07, 2023
A script that publishes power usage data of iDrac enabled servers to an MQTT broker for integration into automation and power monitoring systems

iDracPowerMonitorMQTT This script publishes iDrac power draw data for iDrac 6 enabled servers to an MQTT broker. This can be used to integrate the pow

Lucas Zanchetta 10 Oct 06, 2022
Hardware: CTWingSKIT_BC28 Development Toolkit

IoT Portal Monitor Tools hardware: CTWingSKIT_BC28 Development Toolkit serial port driver: ST-LINK hardware development environment: Keli 5 MDK IoT pl

Fengming Zhang 1 Nov 07, 2021
🎃 Some spooky code samples to hack yourself a pumpkin 👻

🎃 Tech Or Treat 👻 It's spooky season for those who celebrate Halloween, and to get in the spirit (spirit - get it? 👻 ) we thought it would be fun t

Jim Bennett 5 Feb 07, 2022
This allows you to record keyboard and mouse input, and play it back using pynput.

Record and Play with Python! This allows you to record keyboard and mouse input, and play it back (with looping) using pynput. It allows for automatio

George Jensen 45 Jan 02, 2023
Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Greg Robinson 3 Aug 10, 2022
Automatic Watering System using Soil Moisture Sensor and RTC Timer with Arduino

Automatic-Watering-System - Technical Answers to Real-World Problems. Evolution of Watering Manually to Watering Automatically.

Vaishnavi Pothugunta 4 Dec 31, 2021
Python script: Enphase Envoy mqtt json for Home Assistant

A Python script that takes a real time stream from Enphase Envoy and publishes to a mqtt broker. This can then be used within Home Assistant or for other applications. The data updates at least once

29 Dec 27, 2022
Repo for the esp32s2 version of the Wi-Fi Nugget

Repo for the esp32s2 version of the Wi-Fi Nugget

HakCat 30 Nov 05, 2022
A python file which I wrote to allow the Dorna Robots API to draw an Image on a 3D plane

Dorna-Robotics-Internship Code In the directory "Code" is a python file which I wrote to allow the Dorna Robots API to draw an Image on a 3D plane. I

Stephen Otto 2 Dec 06, 2021
Shotgrid Toolkit Engine for Gaffer

Shotgun toolkit engine for Gaffer Contact : Diego Garcia Huerta Overview Implementation of a shotgun engine for Gaffer. It supports the classic bootst

Diego Garcia Huerta 12 May 21, 2022
hardware design of the 250mm drone

hardware design of the 250mm drone

ZJU FAST Lab 645 Dec 25, 2022
A LiteX project which builds a SoC with DRAM / HDIM output via the GPDI SYZYGY addon.

ButterStick GPDI LiteX demo A LiteX project which builds a SoC with DRAM / HDIM output via the GPDI SYZYGY addon. Getting started Connect GPDI board t

4 Nov 21, 2021