Ceci N’est Pas Une Clock

notclock

[Justin] tipped us about his slick custom OBD-II gauge that could easily pass for an OEM module. He was able to use the clock area of his Subaru BRZ to display a bunch of information including the oil and coolant temperatures and the battery voltage.

The forum post linked above has a good FAQ-based explanation of what he did, but so many people have told him to shut up and take their money that he created an Instructable for it. Basically, he’s got a Sparkfun OBD-II UART board communicating with a pro Trinket. The display is an Adafruit OLED, which he found to be an ideal choice for all the various and sundry light conditions inside the average car.

[Justin] was able to reuse the (H)our and (M)inute buttons and reassigned them to (H)igh to show the peak reading and (M)ode to, well, switch between modes. The (:00) now resets the peak readings. He offers suggestions for acquiring the specific CAN codes for your car to make the data more meaningful. [Justin]‘s code is safe in the many tentacles of Octocat, and you can check out his demo video below.

[Read more...]

CAN Hacking: Protocols

can-hacking-part-2

We’ve gone over the basics of CAN and looked into how CAN databases work. Now we will look at a few protocols that are commonly used over CAN.

In the last article we looked at CAN databases, where each bit of a message is mapped to a specific meaning. For example, bit 1 of a CAN message with ID 0x400 might represent whether the engine is currently running or not.

However, for more complex communications we need to use protocols. These can map many meanings to a single CAN ID by agreeing on a structure for sending and receiving data.

[Read more...]

Smart Brake lights and more with OpenXC

smart-brake-light

At a recent hack-a-thon event, [Al Linke] tapped into a vehicle’s OBD port with an OpenXC vehicle interface and hacked an LED screen in the rear window to display data based on events. If you haven’t heard of OpenXC, you can expect to read more about it here at Hackaday in the near future. For now, all you need to know is that OpenXC is Ford’s open source API for real-time data from your vehicle: specifically 2010 and newer model Ford vehicles (for now).

[Al] connected the OpenXC interface to his Android phone over Bluetooth, transmitting data from the OBD port to the phone in real time. From here, the Android can do some really cool stuff. It can use text to speech to announce how much your lead foot cost you, add sound effects for different car events, and even interact with additional devices. Although he managed all of those features, [Al's] primary goal was to add an LED screen that displayed messages on the vehicle’s back window.

When the phone detected a braking event from the car, it directed the LEDs to light up with a “braking” image, adding some flavor to the process of stopping. He could also change the image to a “Thank You” sign with a waving hand, or—for less courteous drivers—an “F U” image with a slightly different hand gesture. You’ll want to check your local and/or national laws before attempting to strap any additional lighting to your vehicle, but you can watch [Al's] car light up in the video below. For a more detailed look under the hood, he’s also provided an Instructables page.  If OpenXC catches on, the number of vehicle hacks such as the Remote Controlled Car may skyrocket.

[Read more...]

Racing telemetry on a cockpit view

ODB

[Martin] has a Lotus Elise and access to a track. Sounds like fun, huh? The only problem is that the dashcam videos he makes are a little bit boring. Sure, they show him flying around the track, but without some sort of data it’s really hard to improve his driving skills. After thinking about it for a while, [Martin] decided he could use his Raspberry Pi and camera module to record videos from the dashboard of his car, and overlay engine data such as RPM, throttle, and speed right on top of the video.

Capturing video is the easy part of this build – [Martin] just connected his Raspi camera module and used the standard raspivid capture utility. Overlaying data on this captured video was a bit harder, though.

[Martin] had previously written about using the Raspi to read OBD-II data into his Raspi. Combine this with a Python script to write subtitles for his movies, and he’s off to the races, with a video and data replay of every move on the track.

The resulting movie and subtitle files can be reencoded to an HD movie. Reencoding a 13 minute HD video took 9 hours on the Raspi. We’d suggest doing this with a more powerful compy, but at least [Martin] has a great solution to fix his slightly uninformative track videos.

Raspberry Pi replaces a Volvo nav system

rpi-replaces-volvo-nav

[Reinis] has a Volvo S80. One of the dashboard features it includes is a 6.5″ LCD screen which periscopes up to use as a navigation system. The problem is that Volvo stopped making maps for it around five years ago and there are no maps at all for Latvia where he lives. So it’s worthless… to you’re average driver. But [Reinis] is fixing it on his own by replacing the system with a Raspberry Pi.

That link leads to his project overview page. But he’s already posted follow-ups on hardware design and initial testing. He’s basing the design around a Raspberry Pi board, but that doesn’t have all the hardware it needs to communicate with the car’s systems. For this he designed his own shield that uses an ATmega328 along with a CAN controller and CAN transceiver. The latter two chips patch into the CAN bus on the car’s On Board Diagnostic system. We didn’t see much about the wiring, but the overview post mentions that the screen takes RGB or Composite inputs so he must be running a composite video cable from the trunk to the dashboard.

 

OBD-II TrckrX: data logging in a BMW E36 M3

[Bruce Land] sent in this cool final project for ECE 4760 at Cornell University. Dubbed TrckrX, it is an OBD-II tracking and data logging system built into a BMW E36 M3. The car in question is being used in some auotocross competitions. The driver wanted instant access to some data as well as a log of everything for later analysis. The unit gives a real time display of vehicle speed, coolant temp, and RPM. G-force and timestamps are stored on the SD card.

We think this is a very cool idea, and could be quite useful in some instances. The real time display of speed and RPM seem a bit peculiar as the car’s speedometer and tachometer are more appropriately placed for real time information. However, we completely understand that this was a class project and this person may not have wanted to replace their dash cluster with a new readout.

Follow-up: Hacking OnStar

Reader [regulatre] has provided us with his furthering of hacking the OnStar system in GM cars. Previously, we wrote about some initial attempts to gain access to the system that OnStar uses to monitor and control cars called GMLAN. [regulatre] has managed to create an adapter between the GMLAN connector and a standard OBD2 plug, which should allow a number of standard readers to be able to retrieve data.

This method details using a bluetooth OBD2 reader, and passing the data onto a linux machine. It looks as though the writer of this method is looking to integrate OnStar reading and writing into an Android App which currently is an OBD monitor.

We love seeing follow-ups like this, because it puts everyone one step closer to full control of closed devices. As always, let us know if you take any of this in a new direction.

Follow

Get every new post delivered to your Inbox.

Join 96,678 other followers