Emulating OBD-II on the ESP32

It used to be that you could pop the hood and with nothing more than flat head screwdriver, some baling wire, and tongue held at the optimal angle, you could fix anything that ailed your car. But today, for better or for worse, the average automobile is a rolling computer that runs on gasoline and hope (if it even still has a gasoline engine, that is). DIY repairs and maintenance on a modern car is still possible of course, but the home mechanic’s toolbox has needed to evolve with the times. If you want to do anything more advanced than changing a tire, you’ll really want to have the gear to interface with the vehicle’s computer via the OBD-II port.

But for some, even that isn’t enough. [limiter121] recently wrote in to tell us of an interesting project which doesn’t read the OBD-II port in a vehicle, but actually emulates one. Like so many others this hack was born out of necessity, as a way to test an OBD-II project without having to sit out in the driveway all day. It allows you to create fictitious speed and engine RPM values for the OBD-II device or software under test to read, complete with a slick web interface to control the “car”.

So what makes it tick? Surprisingly little, actually. At the most basic level, an ESP32-WROOM-32 is connected up to a SN65HVD230 CAN transceiver chip. You’ll also need a 3.3V power supply, as well as a USB to serial adapter to do the initial programming on the ESP32. From there it’s just a matter of compiling and flashing the code [limiter121] has made available in the GitHub repo.

If you’re wondering if such products don’t already exist on the commercial market, they do. But like so many other niche projects, the price is a bit hard to swallow for the home hacker. Compared to the nearly $300 USD list price of commercial offerings such as the Freematics OBD-II Emulator, building one of these ESP32 based emulators should only cost you around $20.

Unless you’re developing an OBD-II reader, you probably don’t have much use for an OBD-II emulator. But this project could still be useful for anyone who wants to learn more about OBD from the comfort of their couch.

Hackaday Links: May 21, 2017

It’s time to talk about something of supreme importance to all Hackaday readers. The first trailer for the new Star Trek series is out. Some initial thoughts: the production values are through the roof, and some of this was filmed in Jordan (thank the king for that). The writers have thrown in some obvious references to classic Trek in this trailer (taking a spacesuit into a gigantic alien thing a la TMP). There are a few new species, even though this is set about 10 years before waaaait a second, those are the Klingons?

In other news, [Seth MacFarlane] is doing a thing that looks like a Galaxy Quest series. We can only hope it’s half as good as a Galaxy Quest series could be.

The Dayton Hamvention should have been this week, but it’s never going to happen again. The Hara Arena, the traditional venue for the biggest amateur radio meet on the continent (thankfully) closed this year. Last year it was looking old and tired. This year, Hamvention moved to Xenia, Ohio, and it looks like we’re still getting the best ham swap meet on the planet. Remember: if you  drove out to Hamvention, the Air Force museum is well worth the visit. This year they have the fourth hangar open, full of space craft goodness.

Last week we saw an Open Source firmware for hoverboards, electric unicycles, and other explodey bits of self-balancing transportation. [Casainho], the brains behind this outfit, recently received an eBike controller from China. As you would expect, it’s based on the same hardware as these hoverboards and unicycles. That means there’s now Open Source firmware for eBikes.

Last year, [Cisco] built a cute little walking robot. Now it’s up on Kickstarter.

This week saw the announcement of the Monoprice Mini Delta, the much-anticipated 3D printer that will sell for less than $200. For one reason or another, I was cruising eBay this week and came upon this. They say yesterday’s trash is tomorrow’s collectors’ item, you know…

A new Tek scope will be announced in the coming weeks. What are the cool bits? It has a big touchscreen. That’s about all we know.

The ESP32 is the next great wonderchip, and has been for a while now. The ESP32 also has a CAN peripheral stuffed in there somewhere, and that means WiFi and Bluetooth-enabled cars. [Thomas] has been working on getting a driver up and running. There’s a thread on the ESP32 forum, a Hackaday.io page, and a GitHub page.

What do you do when you have a nice old Vacuum Fluorescent Display and want to show some stats from your computer? You build a thing that looks like it’s taken from a cash register. This is a project from [Micah Scott], and it has everything: electronics 3D modeling, magnets, print smoothing, creating snap-fit parts, and beautiful old displays.

Here’s something that randomly showed up in our Tip Line. [Mark] recently found some unused HP 5082-7000 segment displays in a collection of electronic components (pics below). According to some relevant literature, these were the first LED display package available, ever.  They were released in 1969, they’re BCD, and were obviously very expensive. [Mark] is wondering how many of these were actually produced, and we’re all interested in the actual value of these things. If anyone knows if these are just prototypes, or if they went into production (and what they were used for), leave a note in the comments.

Reverse Engineering the Smart ForTwo CAN Bus

The CAN bus has become a defacto standard in modern cars. Just about everything electronic in a car these days talks over this bus, which makes it fertile ground for aspiring hackers. [Daniel Velazquez] is striking out in this area, attempting to decode the messages on the CAN bus of his Smart ForTwo.

[Daniel] has had some pitfalls – first attempts with a Beaglebone Black were somewhat successful in reading messages, but led to strange activity of the car and indicators. This is par for the course in any hack that wires into an existing system – there’s a high chance of disrupting what’s going on leading to unintended consequences.

Further work using an Arduino with the MCP_CAN library netted [Daniel] better results, but  it would be great to understand precisely why the BeagleBone was causing a disturbance to the bus. Safety is highly important when you’re hacking on a speeding one-ton metal death cart, so it pays to double and triple check everything you’re doing.

Thus far, [Daniel] is part way through documenting the messages on the bus, finding registers that cover the ignition and turn signals, among others. Share your CAN hacking tips in the comments. For those interested in more on the CAN bus, check out [Eric]’s great primer on CAN hacking – and keep those car hacking projects flowing to the tip line!

First Look: Macchina M2

In the past few years, we’ve seen a growth in car hacking. Newer tools are being released, which makes it faster and cheaper to get into automotive tinkering. Today we’re taking a first look at the M2, a new device from the folks at Macchina.

The Macchina M1 was the first release of a hacker friendly automotive device from the company. This was an Arduino compatible board, which kept the Arduino form factor but added interface hardware for the protocols most commonly found in cars. This allowed for anyone familiar with Arduino to start tinkering with cars in a familiar fashion. The form factor was convenient for adding standard shields, but was a bit large for using as a device connected to the industry standard OBD-II connector under the dash.

The Macchina M2 is a redesign that crams the M1’s feature set into a smaller form factor, modularizes the design, and adds some new features. With their Kickstarter launching today, they sent us a developer kit to review. Here’s our first look at the device.

Continue reading “First Look: Macchina M2”

Hacking The Tesla Model S Rear Drive Unit

[Jason Hughes] is a big fan of Tesla, he’s spent a lot of time hacking on them to figure out what fancy things the automaker is up to. His most recent adventures are with the rear drive unit of a Tesla Model S.

[Jason] has had some fame in the Tesla community before; his most publicized hack was finding the model number for Tesla’s next edition of their car hashed away in the firmware. For this project he procured a rear drive unit from… somewhere, and with some help got it onto his bench at home.

His first steps were to hook it up to some power and start sniffing the CAN bus for commands. It took him a few hours but he was able to get the motor turning. He kept working at it until he had the full set of commands. So, he hooked up circulating water to the unit for cooling, and put it through its paces (at one point the unit announced it was now traveling at 117mph).

In the end he was able to get all the features working, including generation! He even made his own board for contrl. Just listening to the motor spin up is satisfying. Videos after the break.

Continue reading “Hacking The Tesla Model S Rear Drive Unit”

Fight That Tesla Envy With A Tablet Dash For Your Car

[Aykut Çelik] uses some strong words to describe how he feels about his VW Polo’s current radio set-up. Words like, “useless,” are bandied about. What is a modern man supposed to do with a car that doesn’t have built-in navigation or Bluetooth connectivity with phones? Listen to the radio? There are actual (mostly) self driving cars on the road now. No, [Aykut] moves forward, not backwards.

To fix this horrendous shortcoming in his car’s feature package, he set out to install a tablet in the dash. His blog write-up undersells the amount of work that went into the project, but the video after the break rectifies this misunderstanding. He begins by covering the back of a face-down Samsung tablet with a large sheet of plastic film. Next he lays a sheet of fiberglass over the tablet and paints it with epoxy until it has satisfactorily clung to the back of the casing. Afterwards comes quite a bit of work fitting an off-the-shelf panel display mount to the non-standard hardware. He eventually takes it to a local shop which does the final fitting on the contraption.

The electronics are a hodgepodge of needed parts: An amplifier, to replace the one that was attached to the useless husk of the prior radio set; a CAN shield for an Arduino, so that he could still use the steering wheel buttons; and a Bluetooth shield, so that the Arduino could talk to the tablet. Quite a bit of hacking happened, and the resulting software is on GitHub.

The final assembly went together well. While it’s no Tesla console. It does get over the air updates whenever he feels like writing them. [Aykut] moves forward with the times.

Continue reading “Fight That Tesla Envy With A Tablet Dash For Your Car”

Hackaday Prize Entry: A Tiny Tool for Car Hacking

A car from 1940 would have been an almost completely mechanical device. These days though, a car without electricity wouldn’t run. It’s not the engine – it’s the computers; the design details of which automotive manufacturers would love to keep out of the hands of hardware hackers like us. [Mastro Gippo] wanted to build a small and powerful CAN bus reverse engineering tool, and the Crunchtrack hits it out of the park. It’s a CAN bus transceiver, GPS receiver, and GSM modem all wrapped up into a single tiny device that fits under your dash.

[Mastro] has a slight fetish for efficiency and tiny, tiny devices, so he’s packaging everything inside the shell of a standard ELM327 Bluetooth adapter. This is a device that can fit in the palm of your hand, but still taps a CAN bus (with the help of a computer), receives GPS, and sends that data out over cell phone towers.

The device is based on the STM32 F3 ARM microcontroller (with mbed support), a ublox 7 GPS module, and an SIM800 GSM module, but the story doesn’t stop with hardware. [Mastro] is also working on a website where reverse engineering data can be shared between car hackers. That makes this an excellent Hackaday Prize entry, and we can’t wait to see where it goes from here.

The 2015 Hackaday Prize is sponsored by: