Dons Deals

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Sunday, 28 April 2013

Auto Scantool ODB-II Hacking with Android Tablet a complete guide to hacking your vehicle bus on the cheap & easy – part 1 (hardware interface)

Posted on 18:10 by Unknown
Here's an interesting article on adding an Android to your Dash and using the Steering Wheel Buttons to Control it.  And if nothing else is interesting to you.  It explains how all of this OBD-II standards and the physical connection to the Data Link Connector work...

Don

Jeep Tablet Steering Wheel Buttons Interface

Kristoffer Smith·18 videos

Published on Mar 10, 2013

A demo of the Jeep's factory steering wheel remote buttons controlling the tablet based carputer. This concept might also work on newer vehicles that use CAN-BUS (with some changes to the code).

Source code for the app here: http://github.com/theksmith/Steering-...

More info on the tablet install here: http://www.mp3car.com/worklogs/155150...

  • Category

    Autos & Vehicles

  • License

    Standard YouTube License


a complete guide to hacking your vehicle bus on the cheap & easy – part 1 (hardware interface)

modern vehicles have internal networks that provide access to nearly every major component and accessory – everything from the transmission to the cd-changer.

why hack it? because you can! maybe you want to install your own car-puter that will replace the radio and climate controls. or maybe you'd like to make your key fob roll up windows or remote-start. i'm sure you can think of something.

 

so that's different

it seems people often approach this concept with an Arduino/NetDuino/PIC/etc, plus a shield or some custom circuitry, and a bit of custom code. depending on your end goal, a microcontroller could be the best approach. however, this article is about getting started quickly and cheaply by leveraging a standard ELM327-based OBD-II scan tool (~$25) and your laptop, tablet, phone, Raspberry Pi, etc.

note: we're not talking about "pulling codes" or clearing the check engine light, that's everyday stuff. we want to control and get info from accessories attached to the more interesting buses.

 

all aboard the short bus (background)

in 1996 a federal law took effect requiring most new consumer vehicles in the US to have standards-based On Board Diagnostics, called OBD-II. the OBD regulations were put in place by the EPA for monitoring emissions related components, but the systems have evolved to be much more capable.

the good thing about OBD-II was it defined a limited set of network types that a car maker could implement for the emissions related diagnostics. this meant that tools to interface with those networks could also become standardized and inexpensive. called scan-tools, they come in full-featured versions with built-in software/display/buttons, and dumb versions that must be connected to a PC/Mac/tablet/phone to be useful.

what follows is information on how to use one of these inexpensive scan-tools (the dumb USB, Bluetooth, or serial-port kind) to interface with a vehicle in ways it wasn't exactly intended.

a couple ones that i've personally had success with:

  • USB: ScanTool ElmScan 5 (from Amazon…)
  • Bluetooth: BAFX Products ELM 327 Bluetooth OBD2 scan tool (from Amazon…)

 

step by step

the challenge: OBD-II standards only apply to the emissions related portions of a vehicle bus. other systems often operate on an entirely different bus which may or may not use the same protocol as the OBD-II diagnostic bus. even worse, the non-emissions-related bus data is proprietary manufacturer info that can vary for each make/model/year.

the good news is that for simplicity and cost-savings, most manufactures only implement a single network type during certain year ranges. since they have to use one of the standard OBD-II protocols for the diagnostic bus, they might as well use the same protocol (or a slight variation) on the other buses. this is why we are sometimes able to use a scan-tool to interface with a non-OBD bus.

from a high level, we need to:

  1. determine what protocol(s) our car uses
  2. make the physical connection
  3. test the interface
  4. start hacking

now onto those details…

 

step 1: which protocol?

vehicles usually have at least 2 buses, the main diagnostic bus and an interior or comfort bus. the diagnostic bus often has access to all the drivetrain components as well as the OBD-II emissions stuff. the simplest vehicles to hack are the ones where all the buses use the exact same protocol and all relay messages to each other. some vehicles may have the secondary buses connected to the diagnostic bus through a gateway that may only relay information when queried with the correct command. other vehicles use the same overal protocol on all buses, but different speeds.

buy a Factory Service Manual for your vehicle if at all possible. it will almost always tell you what you need to know to at least get connected and is full of great info. you can get FSM's used on eBay if your vehicle is a few years old or get the PDF version if you can find it. online tech libraries like AllDataDIY may have complete service manual info too. public libraries sometimes have subscriptions to those services. don't forget to just Google for your make/model and "OBDII protocol", "OBD bus", etc.

we are ultimately looking for the exact protocol that our target bus uses and any information about the messages that components on that bus send/receive. if we don't have this info, we can still try connecting to the diagnostic bus and hope it relays from our target bus.

the OBD-II spec allows for the following protocols: SAE J1850 PWM, SAE J1850 VPW, ISO 9141-2, ISO 14230-4 KWP, ISO 15765-4 CAN, SAE J1939 CAN. if our target bus uses one of those, or if the target bus relays to the diagnostic bus, then we can continue with our hack of using a scan tool to interface with it.

example: i was able to find online that my 2003 Jeep Grand Cherokee (WJ) actually supported 2 different protocols for the OBD-II system (due to a factory mistake). the FSM cleared up which one was the native protocol for the "Chrysler PCI Bus" (SAE J1850 VPW). it also confirmed that the radio and steering wheel mounted remote-control buttons communicated via that PCI Bus. using those buttons to control something else was my personal end-goal.

 

step 2: physical connection

the OBD-II spec requires a standard diagnostic port to be located within 3 feet of the driver and be accessible without tools. usually it's under the dash, right above your feet, and looks like this:

this is often the simplest place to access a bus. these ports will have certain standard pins populated depending on which OBD-II protocol the vehicle uses. there are also pins left undefined by the spec. car makers often bring out access to other buses on these optional pins so that their own proprietary scan tools can interface with the entire vehicle. consult that Factory Service manual you bought for your connector pinout or wiring diagram. here's the standard vehicle-agnostic pinout info:

important note: at this point you should move on to step 3 and try the main diagnostic bus first. if that doesn't get you the info you want, then come back here for how to tap into the correct bus directly.

if your vehicle's diagnostic port does have pins with access to the target bus, then you can take apart your scan tool and swap wires from the standard pins to the target bus pins. otherwise you may need to actually splice into a wire harness somewhere in the vehicle. you can get an OBD-II extension cable from Amazon/eBay for cheap and hack off the vehicle end to give you raw wires to play with. tip: the radio wiring harness is often a great place to get at the interior/comfort bus.

example: my FSM told me that pin 3 of the diagnostic port went to the radio-related bus. since my Grand Cherokee uses the single wire J1850-VPW protocol, i only had to swap one wire inside my scan tool from pin 2 to pin 3 to get a direct connection to the bus i was interested in. i later found out that all the buses in my particular vehicle relay between each other and so i didn't really even need to do that.

 

step 3: basic first tests

Read More...
http://theksmith.com/technology/hack-vehicle-bus-cheap-easy-part-1/


Auto Scantool ODB-II Hacking with Android Tablet a complete guide to hacking your vehicle bus on the cheap & easy – part 1 (hardware interface)


ODB-II hacking using an Android tablet
Jeep Tablet Steering Wheel Buttons Interface - YouTube
a complete guide to hacking your vehicle bus on the cheap & easy – part 1 (hardware interface) | theksmith
ScanTool 423001 ElmScan 5 Compact OBD-II Scan Tool and OBDwiz Diagnostic Software : Amazon.com : Automotive
BAFX Products (TM) - ELM 327 Bluetooth OBD2 scan tool - For check engine light and other diagnostics - Android compatible : Amazon.com : Automotive
Adapting the Nexus 7 for a double DIN car dashboard opening
theksmith/Steering-Wheel-Interface · GitHub
Tinkering with ODB II and the CAN bus - Hack a Day

More on http://theksmith.com topics

  • completely random (1)
  • consumerism (1)
  • design & style (3)
  • hobbies (4)
  • technology (14)


Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • ZigBee - a specification for a suite of high level communication protocols used to create personal area networks built from small low-power digital radios
    ZigBee From Wikipedia, the free encyclopedia Jump to: navigation , search ZigBee ...
  • Open Sorce Hardware - The Wandboard is a low cost board based on the i.MX6 multicore ARM Cortex-A9 family of processors. In consists of a core module based on the EDM standard and a simple to extend baseboard
    Here's an Open Source Wandboard - Freescale i.MX6 ARM Cortex-A9 Opensource Community Development Board. The Wandboard is a low ...
  • 1967 Chevy Camaro Complete Rebuild - Videos, HowStuffWorks Videos "NAPA Videos"
    Video Playlist - West Coast Customs Shop, Completely Tears Down a 1967 Chevy Camaro and then does a Complete Rebuild...
  • Installing and Updating GRUB 2 in Fedora Linux
    This Page has allot of info on Installing, Updating and Trouble Shooting Grub 2 in Fedora Linux. There are some good How To's for...
  • Dynaco Stereo 400 Power Amplifier - Dead Channel Fix - Dynaco Repairs For PC-28 Amplifier Boards
    My Dynaco Stereo 400 Amp... The Page Below these e-mails with Kevin Boales. Looks like the one that I found. Back in ...
  • Open source PLC's - PLC (programmable logic controller)
    Here's some Great Looking Open source PLC Projects. The OSPLC Small & Large Bricks are open-source PLC (programmable logic ...
  • NetProMax PC with Motherboard P5PE-VM ASUSTeK
    Here are some links to info on the NetProMax PC with Motherboard P5PE-VM ASUSTeK ... Don ASUSTe...
  • Running a PXE Boot Server in Parted Magic
    Here's some good info on Running PXE Boot Server in Parted Magic... Don PXE – Parted Magic PXE PXE: the "classic" way ...
  • Americas Health Care - Obama Care - Key Features of the Affordable Care Act - Health Care and Education Reconciliation Act
    Finally! Some real info, as in... This is the date that the Affordable Care Act, goes into effect. Open enrollment in the Heal...
  • Building a Brushless Motor Controller using an ATmega Chip - by Davide Gironi
    Here's a very in depth Article on Building a Brushless Motor Controller using an ATmega Chip - by Davide Gironi... Do...

Blog Archive

  • ▼  2013 (354)
    • ►  December (12)
    • ►  November (33)
    • ►  October (23)
    • ►  September (46)
    • ►  August (52)
    • ►  July (36)
    • ►  June (45)
    • ►  May (17)
    • ▼  April (38)
      • Fuduntu team members have already moved to begin d...
      • Auto Scantool ODB-II Hacking with Android Tablet a...
      • Video Player Built from the TI Stellaris Launchpad
      • Fedora 14 Linux Services - This service is enabled...
      • Setup Your Own Certificate Authority (CA) on Linux...
      • Wringing out Water on the ISS - for Science! - You...
      • Singers Create – Make music online with UJAM Make ...
      • Automotive Diagnostic Scanners - ELM327 is a progr...
      • Have you Checked your Mobile Phone Bill, Lately?
      • PCB Dead Bug Prototype Soldering BGA Components - ...
      • Medical Bed Mattresses FDA Safety Communication - ...
      • Intelligent Ringer adjusts your ringer volume base...
      • Installing and Updating GRUB 2 in Fedora Linux
      • Monitorix - A Lightweight System and Network Monit...
      • Sad News about Fuduntu Linux - on April 14 2013, i...
      • Project Unity - The Multiple Retro Video Gaming Co...
      • How to scan Linux for vulnerabilities with lynis
      • SUSE Studio 1.3: Linux Appliances Head to the Clou...
      • Guitar Keyboard Midi Computer Hacks and Automatons
      • Microsoft announced that MS13-036 security update ...
      • So, now there's a FaceBook Phone???
      • Whats the Weather like on Titan? - Space.com
      • Where do our Online Profiles go when we Die? - Ina...
      • Hijacking airplanes with an Android phone
      • Google Street View Hyperlapse A Teehan+Lax Labs ex...
      • Firefox is going to handle SSL and Non SSL Mixed W...
      • The Other Red Christmas Flower - Amaryllis Plantin...
      • Most Men Don't Need PSA Tests, Doctors' Group Says...
      • Robots and Remote Control Lawn Mower Projects
      • Alone in the Wilderness, Dick Proenneke lived alon...
      • Linux Command Line - How to use YUM to install and...
      • BuildIts - Electric Tricycle - All-Terrain Electri...
      • The Theremin is an early electronic musical instru...
      • Steampunk theremin goggles by Sarah - Gravity Road...
      • MariaDB is a drop-in replacement for MySQL (with i...
      • SenseLamp is a lamp shade that can be remotely con...
      • Melatonin & Type 2 Diabetes May Be Linked – WebMD
      • Images carrying an encrypted data payload Buried u...
    • ►  March (19)
    • ►  February (22)
    • ►  January (11)
  • ►  2012 (145)
    • ►  December (27)
    • ►  November (31)
    • ►  October (14)
    • ►  September (15)
    • ►  August (48)
    • ►  July (10)
Powered by Blogger.

About Me

Unknown
View my complete profile