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)
Monitor Live USB Plug In & Plug Out Events

I/O - Live USB Monitoring Author: Jonathan Scott @jonathandata1 Date: 3/13/2021 CURRENT VERSION 1.0 This is just a simple bash script that calls a pyt

Jonathan Scott 17 Dec 03, 2022
Christmasvillage-rpi - Raspberry Pi relay controller for ChristmasVillage.io

ChristmasVillage.io Relay Controller Links ChristmasVillage.io - Live Stream & Controls Youtube Instagram About This repository controls the light rel

Grant Windes 2 Feb 15, 2022
Monitor an EnvisaLink alarm module running Honeywell firmware, and set a Nest device to Home/Away depending on whether the alarm is Disarmed/Away.

Nestalarm Monitor an EnvisaLink alarm module running Honeywell firmware, and set a Nest device to Home/Away depending on whether the alarm is Disarmed

1 Dec 30, 2021
Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia's drives.

Ingeniamotion Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia's drives. Requirements Python 3

Ingenia Motion Control 7 Dec 15, 2022
2021 Real Robot Challenge Phase2 attemp

Real_Robot_Challenge_Phase2_AE_attemp We(team name:thriftysnipe) are the first place winner of Phase1 in 2021 Real Robot Challenge. Please see this pa

Qiang Wang 2 Nov 15, 2021
A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost.

distance sensor cube timer A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost. How to

3 Feb 21, 2022
Alarm Control Panel component for Zigbee Keypads using action_transaction field

hass_transaction_alarm_panel Alarm Control Panel component for Zigbee Keypads using action_transaction field. Works together with zigbee2mqtt Supporte

Konstantin 4 Jun 09, 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
Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Pihole-eink-display - A simple Python script to display PiHole statistics on an eInk Display

Mark McIntyre 64 Oct 11, 2022
CircuitPython library for the CH559 USB to Serial chip

CH559 (USB to Serial) CircuitPython Library Why? Because you might want to get keyboard/mouse/gamepad/HID input into your CircuitPython projects witho

Guy Dupont 3 Nov 19, 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
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 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
Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

Mycodo Environmental Regulation System Latest version: 8.12.9 Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in i

Kyle Gabriel 2.3k Dec 29, 2022
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
ESP32 recording button presses, and serving webpage that graphs the numbers over time.

ESP32-IoT-button-graph-test ESP32 recording button presses, and serving webpage via webSockets in order to graph the responses. The objective was to t

f-caro 1 Nov 30, 2021
This is a Virtual Keyboard which is simple yet effective to use.

Virtual-Keyboard This is a Virtual KeyBoard which can track finger movements and lets you type anywhere ranging from notepad to even web browsers. It

Jehan Patel 3 Oct 01, 2021
Poupool is an overflow swimming pool control software

Poupool - The swimming pool controller Poupool is a swimming pool control software. It is based on Transitions, Pykka and Paho MQTT. The user interfac

Cyril Jaquier 8 Jul 18, 2022
Point Density-Aware Voxels for LiDAR 3D Object Detection (CVPR 2022)

PDV PDV is LiDAR 3D object detection method. This repository is based off [OpenPCDet]. Point Density-Aware Voxels for LiDAR 3D Object Detection Jordan

Toronto Robotics and AI Laboratory 114 Dec 21, 2022
ESP32 micropython implementation of Art-Net client

E_uArtnet ESP32 micropython implementation of Art-Net client Instalation Use thonny Open the root folder in thonny and upload the Empire folder like i

2 Dec 07, 2021