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)
Watson-Assistant with integration capabilities

Watson-Assistant-Integration Watson-Assistant with integration capabilities "main.py" should be deployed as Cloud Function (Action) on IBM Cloud. For

Sergey Usachev 1 Dec 20, 2021
Final-project-robokeeper created by GitHub Classroom

RoboKeeper! Jonny Bosnich, Joshua Cho, Lio Liang, Marco Morales, Cody Nichoson Demonstration Videos Grabbing the paddle: https://youtu.be/N0HPvFNHrTw

Cody Nichoson 1 Dec 12, 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
Open-Source board for converting RaspberryPI to Brain-computer interface

The easiest way to the neuroscience world with the shield for RaspberryPi - PIEEG (website). Open-source. Crowdsupply This project is the result of se

Ildaron 436 Jan 01, 2023
Raspberry Pi Pico as a Rubber Ducky

Raspberry-Pi-Pico-as-a-Rubber-Ducky Kurulum Raspberry Pi Pico cihazınız için CircuitPython'u indirin. Boot düğmesine basılı tutarken cihazı bir USB ba

Furkan Enes POLATOĞLU 6 Dec 13, 2022
Blender Camera Switcher

Blender Camera Switcher A simple camera switcher addon for blender. Useful when use reference image for camera. This addon will automatically fix the

Corgice 1 Jan 31, 2022
Python apps to assist with Gas Blending

Welcome to DiveTools Gas Blending This tool is for testing and educational use. It is not intended to confirm the mix of breathing gases. If this tool

Tucker 7 Sep 18, 2022
Robot Framework keyword library wrapper for atlassian-python-api

Robot Framework keyword library wrapper for atlassian-python-api

Marcin Koperski 3 Jul 29, 2022
raspberry pi servo control using pca9685

RPi_servo-control_pca9685 raspberry pi 180° servo control using pca9685 Requirements Requires you to have the adafruit servokit library installed You

1 Jan 10, 2022
Raspberry Pi Spectrometer

PySpectrometer 2021-03-05 Raspberry Pi Spectrometer The PySpectrometer is a Python (OpenCV and Tkinter) implementation of an optical spectrometer. The

Les Wright 538 Jan 05, 2023
BoneIO is a compact IO controller for home automation.

Project description BoneIO is a compact IO controller for home automation. Main features of this controller are Compact size (27x11x6)cm - 15 DIN modu

Maciej Krasuski 120 Nov 30, 2022
A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .

ch341dll_wrap_typcal_app A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO). In addition, I provided 3 Demo. I

13 Jan 02, 2023
Connect a TeslaMate instance to Home Assistant, using MQTT

TeslaBuddy Connect a TeslaMate instance to Home Assistant, using MQTT. It allows basic control of your Tesla vehicle via Home Assistant (currently, ju

4 May 23, 2022
Python Client for ESPHome native API. Used by Home Assistant.

aioesphomeapi aioesphomeapi allows you to interact with devices flashed with ESPHome. Installation The module is available from the Python Package Ind

ESPHome 76 Jan 04, 2023
Custom component for interacting with Octopus Energy

Home Assistant Octopus Energy ** WARNING: This component is currently a work in progress ** Custom component built from the ground up to bring your Oc

David Kendall 116 Jan 02, 2023
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Dec 30, 2022
A install script for installing qtile and my configs on Raspberry Pi OS

QPI OS - Qtile + Raspberry PI OS Qtile + Raspberry Pi OS :) Installation Run this command in the terminal

RPICoder 3 Dec 19, 2021
Port of Uxn to digital hardware in the Logisim simulator

Uxn-Logisim Implements the Uxn instruction set in digital hardware. Very WIP. Contents cpu.circ - The Logisim file microcode.mc - Microcode source fil

DeltaF1 11 Mar 27, 2022
It is a program that displays the current temperature of the GPU and CPU in real time and stores the temperature history.

HWLogger It is a program that displays the current temperature of the GPU and CPU in real time and stores the temperature history. Sample Usage Run HW

Xeros 0 Apr 05, 2022
A Python class for controlling the Pimoroni RGB Keypad for Raspberry Pi Pico

rgbkeypad A Python class for controlling the Pimoroni RGB Keypad for the Raspberry Pi Pico. Compatible with MicroPython and CircuitPython. keypad = RG

Martin O'Hanlon 43 Nov 11, 2022