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.

A Geiger Counter for an Off-Road Apocalypse Vehicle

prog2

If the world comes to an end, it’s good to be prepared. And let’s say that the apocalypse is triggered by a series of nuclear explosions. If that is the case, then having a Geiger counter is a must, plus having a nice transport vehicle would be helpful too. So [Kristian] combined the two ideas and created his own Geiger counter for automotive use just on the off chance that he might need it one day.

It all started with a homemade counter that was fashioned together. Then a display module with a built-in graphics controller that was implemented to show all kinds of information in the vehicle. This was done using a couple of optocouplers as inputs. In addition, a CAN bus interface was put in place. As an earlier post suggests, the display circuit was based on a Microchip 18F4680 microcontroller. After that, things kind of got a little out of control and the counter evolved into more of a mobile communications center; mostly just because [Kristian] wanted to learn how those systems worked. Sounds like a fun learning experience! Later the CPU and gauge was redesigned to use low-quiescent regulators. A filtering board was also made that could kill transients and noise if needed.

The full project can be seen on [Kristian]’s blog.

GEVCU – an Open Generalized Electric Vehicle Control Unit

At Hackaday we’re very happy to see the increasing number of open hardware devices that appear everyday on the internet, and we’re also quite thrilled about open-source electric cars. Pictured above is the GEVCU, an open source electric vehicle control unit (or ECU). It is in charge of processing different inputs (throttle position, brake pressure, vehicle sensors) then send the appropriate control commands to electric motor controllers (aka inverters) via CAN bus messages or digital / PWM signals.

The project started back in December 2012 and was originally based on an Arduino Due. Since then, the GEVCU went through several revisions and ultimately a complete custom board was produced, while still keeping the Cortex M3 ATSAM3X8E from the Due. As you may have guessed, the board also includes a Wifi transceiver so users may adjust the ECU parameters via a web based platform. All resources may be downloaded from the official GitHub.

Defcon presenters preview hack that takes Prius out of driver’s control

hacking-control-of-a-prius

This one’s a treasure trove of CAN bus hacks that will scare the crap out of an unsuspecting driver — or worse. [Charlie Miller] and [Chris Valasek] are getting ready to present their findings, which were underwritten by DARPA, at this year’s Defcon. They gave a Forbes reporter a turn in the driver’s seat in order to show off.

You’ve got to see the video on this one. We haven’t had this much fun looking at potentially deadly car hacking since Waterloo Labs decided to go surfing on an Olds. The hacks shown off start as seemingly innocent data tweaks, like misrepresenting your fuel level or displaying 199 mph on the speedometer while the car is standing still. But things start to get interesting when they take that speed readout from 199 down to zero instantly, which has the effect of telling the car you’ve been in a crash (don’t worry, the airbags don’t fire). Other devilish tricks include yanking the steering wheel to one side by issuing a command telling the car to park itself when driving down the road. Worst of all is the ability to disable the brakes while the vehicle is in motion. Oh the pedal still moves, but the brake calipers don’t respond.

The purpose of the work is to highlight areas where auto manufacturers need to tighten up security. It certainly gives us an idea of what we’ll see in the next Bond film.

Continue reading “Defcon presenters preview hack that takes Prius out of driver’s control”

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.

 

Electric vehicle peripheral controller for the masses

This juicy hunk of printed circuits is an open source controller for the peripherals of an electric car. It’s the product of a capstone project working on a vehicle aimed at urban commuting. There wasn’t a suitable non-proprietary module for controlling a car’s peripherals so the team built their own.

As far as we can tell this is not responsible for driving the vehicle itself. We assume there’s another piece of hardware which reads from the accelerator pedal, drives the motors accordingly, and handles things like regenerative braking. But there’s a lot of other things in a modern vehicle that need to be taken care of as well. Head, tail, and turn indicator lights must be switched. All of the dashboard controls (like the turn signal lever and the wiper blade speed settings) need to be monitored. Something needs to drive the door locks, and a system that reads the door ajar sensors and switches the dome light on and off must be handled. This is where the controller pictured above really shines.

The team has released all of the hardware information. The code is not yet available, but will be as soon as they’ve cleaned it up enough to package the first release candidate.

Hacking the computer interface of a Ford Focus Mk2

You can do some neat stuff to the way your Ford Focus Mk2 works, but first you have to gain access to the data system. If you know some Russian, and don’t mind a bit of dongle rewiring, this guide will have you hacking the car’s CAN bus in no time. It was written by [Preee] and he has already added Radio RDS and CD Track information to the speedometer display panel, implemented hands free control for his cellphone, disabled the sounds the car makes when he goes into reverse, changed the door locking speed from 5mph to 10mph, and much more.

To gain access to the system you need hardware to bridge from a computer to the CAN bus. He hit eBay and bought an ELM327 cable which plugs into the On-Board Diagnostics port (ODBII). There are two different ways these dongles can be configured and since this isn’t the right one for the Focus he had to alter it. His hardware changes are illustrated in the second post of the forum thread. Instead of just switching over to the other configuration, he wired up a toggle switch to select between the two.

With hardware in place he grabbed some software and started hacking away. But as we hinted above, it’s not as simple as you might think. The software is in Russian. [Preee] did his best to add translations to a few screenshots, but it’s still going to be a bit of a bother trying to find your way around the GUI.

[Thanks Fred]