Talking Car Automation Computer is like KITT without the Sass

It’s a wonder that drivers are given so little insight into what’s going on under the hood. We mostly have the illusion of insight in the form of gauge, idiot lights, and when things get real, our eyesight and sense of smell. The older a car gets, the more important it is to be aware of the condition of its systems.

[Mjtrinihobby] drives a beat-up 1999 Honda Civic. He likes creating automation systems as a hobby and figured that his car would make an excellent test subject. [Mjtrinihobby] began this project with several features in mind. He wanted more control over several of the car’s systems—the A/C, lights, the fuel level, and the blower motor in the cabin to name a few—and a compact, user-friendly way to interface with them that could handle road shock and the heat of the climate he calls home.

He chose a Windows 8.1 netbook with a touchscreen display for the user interface. The netbook is running FlowStone, which is a robust graphical programming language with a long list of applications. A LabJack data acquisition board (DAQ) handles the communication between the car’s systems and the netbook.

This is much more than just a cool way to control the climate and make the headlights come on when darkness falls. For instance, [Mjtrinihobby]’s system continuously monitors the alternator’s voltage. If it measures between 7 and 12V, a friendly voice warns about possible alternator failure and disables high-draw accessories so the car has a fighting chance of making it to the mechanic.

Be sure to check out the demonstration video after the break. If OBD-II car hacks are more your speed, try building an RGB tachometer.

Continue reading “Talking Car Automation Computer is like KITT without the Sass”

Connecting Your Car to the Internet

Internet of Things? What about the Internet of Cars? It’s actually rather surprising how slow the auto industry is in developing all new vehicles to be connected to the net from the get go. Well if you can’t wait, you can always hack. [John Reimers] shows us how to use an Electric Imp combined with OBD-II to remotely monitor your vehicle.

Using the ever venerable OBD-II port on your vehicle (think USB for cars if you’re not familiar), you can pull all kinds of information off of your vehicle’s engine. Fuel economy, temperatures, load, timing, error codes, etc. There are many devices out there to do this for you, from auxiliary gauges like the ScanGauge II, to bluetooth OBD-II dongles which can send the data to your phone. Or you can build your own.

Continue reading “Connecting Your Car to the Internet”

Speaking CAN With Open Source Hardware

You can buy a dongle with a weird industrial connector that fits under the dash of any car on the road for $15. This is just a simple ODB-II transceiver meant for reading error codes and turning a Crown Vic into a police interceptor. There’s a lot more to the CAN Bus than OBD-II; robots and industrial control units, for instance, and Hackaday alum [Eric] has developed an open source tool for all things CAN.

[Eric] built this tool because of a lac of open-source tools that can talk CAN. There are plenty of boards floating around that can reset codes in a car using OBD-II, but an open hardware CAN device doesn’t really exist.

The CANtact is a small board outfitted with a USB port on one end, a DE-9 port on the other, and enough electronics to talk to any CAN device. The hardware on the CANtact is an STM32F0 – an ARM Cortex M0 that comes with USB and CAN interfaces. This chip connects to a Microchip CAN transceiver, and that’s pretty much all you need to talk to cars and industrial automation equipment. If doing something legal, moral, or safe with the CAN bus in your car isn’t your thing, Wired reports you can digitally cut someone’s brake lines.

On the software side of things, the CANtact can interface with Wireshark and the CANard Python library. All the files, from hardware to software, are available on the Github. Oh, CANtact was at Black Hat Asia, which means [Eric] was at Black Hat Asia. We should have sent stickers with him.

Ceci N’est Pas Une Clock

[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.

Continue reading “Ceci N’est Pas Une Clock”

CAN Hacking: Protocols

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.

Continue reading “CAN Hacking: Protocols”

Racing telemetry on a cockpit view


[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.

ElectroDroid – your Android electronic reference app

Earlier this week, fellow Hack a Day-er [Mike Nathan] reviewed Adafruit’s new iPhone/iPad app Circuit Playground. The comments on [Mike]’s review turned to suggesting ElectroDroid as an alternative to Circuit Playground. Surprisingly,  Hack a Day authors actually pay attention to the comments, so I’ve decided to throw my hat into the ring and offer up my review of ElectroDroid. For purposes of full disclosure, I have to add that I paid the $2.59 donation for a copy of ElectroDroid without ads, and have had no contact with the developers.

Continue reading “ElectroDroid – your Android electronic reference app”