All Projects → barracuda-fsh → pyobd

barracuda-fsh / pyobd

Licence: GPL-2.0 license
pyOBDII remake - better than ever!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pyobd

ELMduino
Arduino OBD-II Bluetooth Scanner Interface Library for Car Hacking Projects
Stars: ✭ 274 (+138.26%)
Mutual labels:  elm327, obd2
awesome-automotive-can-id
🚜 unpretentious attempt to collect CAN IDs and payloads for various car brands/models in one place.
Stars: ✭ 104 (-9.57%)
Mutual labels:  elm327, obd2
ecu-simulator
OBD-II ECU Simulator
Stars: ✭ 24 (-79.13%)
Mutual labels:  diagnostics, obd2
Jovian
Metagenomics/viromics pipeline that focuses on automation, user-friendliness and a clear audit trail. Jovian aims to empower classical biologists and wet-lab personnel to do metagenomics/viromics analyses themselves, without bioinformatics expertise.
Stars: ✭ 14 (-87.83%)
Mutual labels:  diagnostics
yakut
Simple CLI tool for diagnostics and debugging of Cyphal networks
Stars: ✭ 29 (-74.78%)
Mutual labels:  diagnostics
looppointer
An analyzer that checks for pointers to enclosing loop variables.
Stars: ✭ 30 (-73.91%)
Mutual labels:  diagnostics
TraceHub
Centralized and distributed logging for Web applications and services, extending System.Diagnostics and Essential.Diagnostics, providing structured tracing and logging withou needing to change 1 line of your application codes
Stars: ✭ 22 (-80.87%)
Mutual labels:  diagnostics
verrou
floating-point errors checker
Stars: ✭ 39 (-66.09%)
Mutual labels:  diagnostics
find differential primers
Code for design of diagnostic PCR primers, and metabarcoding markers.
Stars: ✭ 46 (-60%)
Mutual labels:  diagnostics
Kaput
Kişisel araç takip yazılımı
Stars: ✭ 69 (-40%)
Mutual labels:  elm327
strados
Transform OBD2 data from your car into human readable data
Stars: ✭ 27 (-76.52%)
Mutual labels:  obd2
kaltura-device-info-android
Kaltura Device Info
Stars: ✭ 26 (-77.39%)
Mutual labels:  diagnostics
xDscDiagnostics
This module contains cmdlets for analyzing DSC event logs.
Stars: ✭ 29 (-74.78%)
Mutual labels:  diagnostics
Management
Management Endpoints used to allow insight into your applications
Stars: ✭ 31 (-73.04%)
Mutual labels:  diagnostics
OBD.NET
C#-Library to read data from car through an ELM327-/STN1170-Adapter
Stars: ✭ 135 (+17.39%)
Mutual labels:  elm327
Gu.Roslyn.Asserts
Asserts for testing Roslyn analyzers.
Stars: ✭ 18 (-84.35%)
Mutual labels:  diagnostics
MAxO
Medical action ontology
Stars: ✭ 26 (-77.39%)
Mutual labels:  diagnostics
evDash
EV dashboard - software for small dev boards connected to the car via obd2 BLE4 or CAN bus.
Stars: ✭ 83 (-27.83%)
Mutual labels:  obd2
bun
DC/OS diagnostics bundle analysis tool
Stars: ✭ 13 (-88.7%)
Mutual labels:  diagnostics
jsish
Jsi is a small, C-embeddable javascript interpreter with tightly woven Web and DB support.
Stars: ✭ 32 (-72.17%)
Mutual labels:  diagnostics

PYOBD PYOBD

This is the remake of the free PC program for car diagnostics, aka. reading and displaying your cars OBD2 data(tests, sensors, DTC faults/reset, graphs of live sensor data). If your car supports obd2(which for the last 20 years most of the cars do), then you only need an elm327 adapter and a laptop with this program to diagnose your car. The program is free and open source and it is the only free program that exists for obd2, with this level of functionality, as far as I know. The program is the remake of the program PYOBD. It is much improved over the original pyobd, features live graphs, more displayable data and works on Python3 and all the new libraries. It was tested on Linux, Windows, and it should work on Mac too.

Operating systems on which pyobd was tested so far: Debian 10, Debian 11, Windows 7 and 10.

You can download the Windows executable version from here - so no install is needed(it may be recognized as malware, but it is made from code you see here - so it is not malware):

Download for Windows:

Download Windows Executable

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

About the program:
The program was made on top of the pyOBD program, which was made by Donour Sizemore. The original program has not been touched for 15 years, which came to my huge surprise, as to why noone worked on it. I decided then, that I will make it my personal project to first make it work on Python 3 and latest libraries, which I successfully did. After that I also expanded its functionality and made it use exclusively the rich Python OBD library, which was made by Brendan Whitfield. So now I have utilized two projects into one. The program is ofcourse still free and open source. So, special thanks goes to Donour Sizemore and Brendan Whitfield. And last, but not least, my name is Jure Poljsak, and this remake was made by me.

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.

How do you know if your car is OBD-II compliant? https://www.scantool.net/blog/how-do-i-know-whether-my-car-is-obd-ii-compliant/

Which ELM327 device am I using and which will work?
I am using this one(I bought it 10 years ago):
-OBDPro USB Scantool (http://www.obdpros.com/product_info.php?products_id=133)
Others that have been reported to work:
-OBDLink SX (https://www.obdlink.com/products/obdlink-sx/)
-Chinese USB ELM OBD2 (1.5a)
Probably any USB ELM327 adapter will work(but I can not be 100% sure).

Video presentation on YouTube(click on it):

PYOBD Youtube video 2021

On Windows, you can create an .exe file with these three commands(make sure you install Python 3 first):

pip install -r requirements.txt

pip install pyinstaller

pyinstaller --onefile -i pyobd.ico --add-data "pyobd.ico;." pyobd.py

On Debian 10 and 11 and on Ubuntu, type these commands to install the requirements(on Ubuntu replace libgstreamer-plugins-base1.0 with libgstreamer-plugins-base1.0-0):

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 -r requirements.txt

In some cases you need to add to your username the privileges of accessing the USB ports(adding it to the group) for it to work:

sudo usermod -a -G the-/dev/ttyUSB0-group myUserName

You could also try just running the program with superuser rights:

sudo python3 pyobd.py

Otherwise, the program is run by typing:

python3 pyobd.py

.... or on Windows by running pyobd.exe if you make the .exe.

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 display data 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. I am working on adding graphs and data export/saving(and bugfixes ofcourse).

TO DO LIST:
-add multiple graphs
-add sensor data exporting and replay
-catch and handle some errors when connection gets broken.

ELM327

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].