{"id":13748772,"url":"https://github.com/pires/android-obd-reader","last_synced_at":"2025-12-18T05:30:19.485Z","repository":{"id":3327198,"uuid":"4370658","full_name":"pires/android-obd-reader","owner":"pires","description":"Android OBD-II Reader application that uses pure OBD-II PID's Java API.","archived":true,"fork":false,"pushed_at":"2017-05-26T18:03:14.000Z","size":1914,"stargazers_count":808,"open_issues_count":10,"forks_count":467,"subscribers_count":112,"default_branch":"master","last_synced_at":"2024-11-15T23:31:12.993Z","etag":null,"topics":["android","car","java","onboard-diagnostics"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pires.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-05-18T15:28:22.000Z","updated_at":"2024-11-06T10:40:21.000Z","dependencies_parsed_at":"2022-09-01T04:11:52.544Z","dependency_job_id":null,"html_url":"https://github.com/pires/android-obd-reader","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pires%2Fandroid-obd-reader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pires%2Fandroid-obd-reader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pires%2Fandroid-obd-reader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pires%2Fandroid-obd-reader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pires","download_url":"https://codeload.github.com/pires/android-obd-reader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253240350,"owners_count":21876593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","car","java","onboard-diagnostics"],"created_at":"2024-08-03T07:00:49.095Z","updated_at":"2025-12-18T05:30:19.440Z","avatar_url":"https://github.com/pires.png","language":"Java","readme":"android-obd-reader\n========================\n\n## NOTICE\n\n**I am no longer involved in any way with OBD and related activities, so don't expect my feedback on issues, pull-requests and most of all, email.**\n\nI can't even remember when I first picked this project from Brice Lambi (the original author). But one thing I'm sure, it was a time my interests changed quite frequently and I'd contribute simultaneously to totally unrelated projects. But for some reason this project stuck with me the longest.\n\nInitially, it was more of an Android hack (sorry, Brice!). With time, I've redesigned the code and split it into two: [a Java API library](https://github.com/pires/obd-java-api/) that could run anywhere the JVM ran without concerning about which transport protocol one would use (because it just asks for one `InputStream/OutputStream` pair) and, after learning about Android development, a revamped Android app.\n\nI know, the UI sucks, but I've never had the eye for UI/UX, I'll admit!\n\nYears went by and a few contributors jumped in with amazing, smart features and fixes. To those fine people, **Thank you**! This is your _baby_, too.\n\nNow, it's time to say goodbye.\nPires\n\n[![CircleCI](https://circleci.com/gh/pires/android-obd-reader.svg?style=svg)](https://circleci.com/gh/pires/android-obd-reader)\n\nAndroid OBD-II reader designed to connect with Bluetooth Elm327 OBD reader.\n\n![screenshot](/Screenshot.png)\n\nThe latest release can be found [here](https://github.com/pires/android-obd-reader/releases/).\n\n## Prerequisites ##\n- JDK 8\n- Android Studio 1.5.x or newer\n- Android SDK (API 22, Build tools 23.0.1)\n- [OBD Java API](https://github.com/pires/obd-java-api/) (already included)\n\n## Test with device ##\n\nBe sure to have the device connected to your computer.\n\n```\ncd whatever_directory_you_cloned_this_repository\ngradle clean build installDebug\n```\n\n## Test with OBD Server ##\n\nIf you want to upload data to a server, for now, check the following:\n* [OBD Server](https://github.com/pires/obd-server/) - a simple implementation of a RESTful app, compiled into a runnable JAR.\n* Enable the upload functionality in preferences\n* Set proper endpoint address and port in preferences.\n\n## Troubleshooting ##\n\nAs *@dembol* noted:\n\nHave you checked your ELM327 adapter with Torque or Scanmaster to see if it works with your car? Maybe the problem is with your device?\n\nPopular OBD diagnostic tools reset state and disable echo, spaces etc before protocol selection. Download some elm327 terminal for android and try following commands in order:\n```\nATD\nATZ\nAT E0\nAT L0\nAT S0\nAT H0\nAT SP 0\n```\n\nOne may need to turn off echo and headers depending on the dongle in use:\n```\nAT E0 - Turn echo off. Characters sent to ElmScan are not retransmitted back to the host computer.\nAT E1 - Turn echo on. This is the default state, characters are echoed back to the host computer.\nAT H0 - Turn headers off. This is the default state, header information and CRC byte are omitted.\nAT H1 - Turn headers on. Header information and CRC byte are displayed.\n```\n\n## Building with custom `obd-java-api`\n\nThis project depends on a [pure-Java OBD library](https://github.com/pires/obd-java-api/). For testing with a custom version of it, do the following:\n\n* Clone obd-java-api it into your project folder:\n\n```\ngit clone https://github.com/pires/obd-java-api.git\n```\n\n* Create `obd-java-api/build.gradle` with the following content:\n\n```\napply plugin: 'java'\n```\n\n* Edit `main build.gradle` and change:\n\n```\ncompile 'com.github.pires:obd-java-api:1.0-RC14'`\n```\n\nto\n\n```\ncompile project(':obd-java-api')\n```\n\n* Edit `settings.gradle` and add:\n\n```\ninclude ':obd-java-api'\n```\n\n## Tested on ##\n\n* Samsung Galaxy Nexus (Android 4.4.1)\n* LG Nexus 5 (Android 6.0  Preview 3)\n* Nexus 7 2013 WiFi (Android 4.4.4)\n* Samsung Galaxy S4 Active I9295 (Android 5.0.2)\n* Samsung Galaxy S6 Edge SM-925F (Android 5.0.2)\n* Samsung Galaxy Note 3\n","funding_links":[],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpires%2Fandroid-obd-reader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpires%2Fandroid-obd-reader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpires%2Fandroid-obd-reader/lists"}