r/CarHacking Feb 02 '17

Car Hacking Subreddit Intro

77 Upvotes

Hi rch, we have added a lot of people lately with intro posts on other subs like the one below. We also usually get about 10 subs a day from people just stumbling in here. So I wanted to create a welcome post, to kinda show them what we are about and how to get started. If anyone has anything to add please do so. If anyone has any questions about us or where to start do so here.

Our goal is to create a highly technical car subreddit, a place for automotive engineers, senior technicians, full blown car nerds, or people who are working towards one of these. We are interested in the inner workings of cars and today that often involves electronics. While we see electronics as the priority we are pretty liberal in allowing other topics as long as they somehow fit our goal of trying to understand cars. So things like DIY aero, suspension setup and other things the community is hacking on come up. In general our other tangential interests include: Modern cars, New tech, Open source hardware/software, DIY, hot rodding, eco modding, customization, security research, right to repair and more.

We started this subreddit about a year ago. Right now we have 3000 people and discussion is just starting to get good. Most of our members found us through maker or engineering subreddits. So I wanted to reach out to more of the car communities and try to grow our knowledge base.

Our name is r/carhacking and I know the term hacking can be offputting to some as it has a bad connotation. When someone says they are “hacking” their car it generally means they are trying to reverse engineer it for any number of reasons like to find security flaws, make upgrades, make repairs, or just understand how it works.

Here are a couple examples of posts that have been popular so far. A lot of our posts focus on beginner through intermediate projects using arduino and readily available hardware for the purpose of learning and or not paying a premium for things you can make yourself:

More advanced projects:

Relevant news/ research:

If your new our documentation is a good place to start

If you aren't new and you’re interested in helping out please consider:

  • Improving documentation - think about what resources have helped you
  • Spread the word - this is a niche community that is pretty spread out, but there is a lot of potential if we can get together on a third party site like this
  • Work on the theme, sidebar and flair - this is next level community stuff that isn’t necessary, but it’s fun to work on when you have the time.
  • Modding - right now we are fine, but we might need help in the future as we grow

Let me know if I missed something or got something wrong.


r/CarHacking Feb 27 '21

CAN CAN bus and car hacking getting started resources

234 Upvotes

I get asked how to get started with automotive networking, car hacking, and CAN almost weekly. I often direct people to this subreddit, so I figured I would help out and post some resources I have found and think are a good place to start.

learning resources:

Car Hacking 101: Practical Guide to Exploiting CAN-Bus using Instrument Cluster Simulator

I also direct people to the Car Hacking Village to get some hands-on experience. They put on great conference talks, demos, and contests. Looks like they are even working on some “getting started” content.

And of course, The Car Hacking Handbook is a great resource.

I will add more as I think of them. Please add your finds in the comments.

Tools:

Good wiring diagrams and car manuals are essential. This is pretty much where my research starts for each project. You see how things are networked and what to expect to find on CAN. You'll quickly learn to recognize things like gateways. You can also use the troubleshooting section to understand things. For example, what things do I need to control to start the car?

I like:

  • prodemand (I pay $170/mo for a shop subscription, I think you can purchase it for individual cars, but be careful you often have to jump around to find a year that has complete diagrams)
  • Identifix (probably what I would buy if I was starting over)

Basic hardware: Here you will be working with things like Arduino, Linux, SavvyCAN, and Can-utils. You have to learn to do a lot yourself, but these tools are more open for you to make them do what you need.

Tools designed by the community I use:

The above articles offer a pretty good step-by-step guide to getting started with the Macchina M2.

Any cheap “Amazon special” OBD2 dongle will come in handy from time to time. They are all based on something called ELM327. "ELM327 abstracts the low-level protocol and presents a simple interface that can be called via a UART". This abstraction has fundamental limitations that prevent it from being useful in most serious applications. But, it is sufficient for reading and clearing some codes and that sort of thing when you’re getting started.


r/CarHacking 1h ago

Original Project MHH Auto download request

Upvotes

Hello! I need a file from MHH auto (I have the exact same problem as in the post), unfortunately I don't have the money right now to register.

link:
https://mhhauto.com/Thread-Kia-Sportage-EDC16C39-egr-off--364654
I need "ostrosiowaty"s file.
I would really appreciate any help!
Thank you for your time!
Best regards!


r/CarHacking 3h ago

Original Project Getting car out of limp mode

0 Upvotes

Hello! I have a KIA Sportage 2008 2.0 CRDI Bosch EDC16C39. Some time ago a code arrived, P0489 (EGR low voltage) which triggers limp mode. I deleted the fault path code for this P code, checkengine is off and also zerod out all 2 of the EGR hysteresis maps and the car is still in limp mode. I appreciate any help. Thank you!


r/CarHacking 16h ago

CAN Where to splice into the CAN bus?

6 Upvotes

I'm looking for advice. This is more or less a continuation of my previous post:

https://www.reddit.com/r/CarHacking/comments/1ep2rwv/can_is_silent_esp32_via_obd2_port/

I'm doing some custom ECU data handling and for this purpose I need a performant way of accessing data from the engine. I made a PoC using the OBD2 port but this won't do in any serious case since it's limited by its protocol to 1 message per ~200ms.

Therefore I want to hook into the CAN somewhere in the car and sniff the frames. Unfortunately, I'm not a mechanic nor an electrician so reading the schematics doesn't give me the best idea how to do it.

You can find schematics here (SWIFT RS413): https://jdmfsm.info/Auto/Japan/Suzuki/Swift/2004-2007%20Service%20Manual/

From what I understood from the manual there's no easily accessible place where I could hook into the CAN. I analyzed some subsystems which have the access to the CAN and I think the reasonable shot there would be accessing it right before the BCM (Body electrical Control Module) unit which actually handles OBD2 communication. All the sweet data should be there. Still, I don't know if it's easily accessible at all.

I have no idea however how safe it is for the car, even if I'd use a CAN shield etc. My car isn't worth a lot but I'm kinda attached to it and don't want to fry something etc.

Can anyone with experience with these matters hint me towards the best approach here? Maybe I missed something obvious in the diagrams or maybe there's some pretty generic, easy way to hook into any car's CAN bus?

ECM Input / Output Circuit Diagram. 21 is OBD2 port, RED/WHT is CAN low/high

H is the BCM, no idea how to look for it though. Manual says: included in junction block assembly.


r/CarHacking 2d ago

Original Project Adding massage seats

Post image
29 Upvotes

Greetings. I have a 2013 XJ Portfolio without massage seats. I've purchased two front seats from a junked 2014 XJ with massage seats. The seats have been installed in my vehicle with the seat modules from the donor vehicle. All of the manual seat controls work as expected i.e. seat movements forward and back, side bolsters, memory function, headrest, heat and cool etc.

I am having trouble getting my vehicle to recognize the newly installed massage seats. I cannot get the massage option to be displayed on the nav screen. I've successfully modified the CCF file parameter "front seat massage" to fitted. No massage option. I suspect that I have to download the software files for the seat modules from the donor vehicle. I have the software files for the driver and passenger seat. However, I cannot get my vehicle to accept the .vbf files to configure the seat modules. I've tried renaming the new software files with same file names as the original files. No success. This results in a file error "Error code A1E = request out of range error". See picture below. I've tried modifying the contents of the vbf files. That resulted in a checksum error during the download. SDD seems to detect any files that are not associated with originally fitted modules.

Does anyone know of any other creative methods to download software files for modules that aren't originally fitted to a vehicle? Any other ideas on getting that massage option to display on the nav screen? Thanks.


r/CarHacking 1d ago

UDS Want to buy: Canalyzer or other Vector sw license (old versions ok)

2 Upvotes

I bought a used vn1611 for a good price. Now I need license, does somebody know if I can find old version Canalyzer license (maybe some companies need no more, because they’re using a newer version?) For me canalyzer pro 9 is ok for example (I need CAPL)


r/CarHacking 1d ago

Community Automotive Hacking Abilities

0 Upvotes

If a person was to hack a car what abilities do they have? What all are they able to do to said car?


r/CarHacking 1d ago

Community How Do You Know If Car Is Hacked

0 Upvotes

How can you find out if your car has been hacked?


r/CarHacking 2d ago

Tuning Hacking/Modifying GM (Chevrolet) ECM/BCM

3 Upvotes

First off, I'm not sure if this is the right flair, apologies in advance.

Anyway, I own a 2018 Chevrolet Silverado 1500 LTZ and want to tinker with the ECM and BCM to change how my truck works.

I'm not looking to do anything crazy, to start. It's just basic stuff so that I can learn. I've heard about FORScan for the Ford truck market and would like something similar for my Chevy. I know GM dealers have access to programming tools, and unfortunately I am not buddie-buddie with a mechanic that would let me "borrow" a programmer.

For starters, I just want to enable the DRLs when the headlights are on. Add the factory ITBC, maybe even add push-button ignition using the FOB off a 2018/earlier Tahoe/Suburban. Things that the were introduced on the T1XX platform and were tested on K2XX but not added to Silverado. Down the line once I am more comfortable with GMLAN and the other communication protocols on my truck I may want to develop my own head unit that integrates with the various modules on the truck. It would run linux or even AAOS, but thats way down the line.

The last time I went down this rabbit hole I was looking into a Tech2Win device that would let me do the sort of things I want, however, I got sketched out when I needed to acquire the hardware and software from unknown and poorly translated Chinese sites (not to mention that Tech2 is for older trucks and GDS2 documentation stops at MY2013). From that same preliminary research, from what I can tell, the HMI, ECM, and BCM are all MFG'D by BOSCH, thus I would think a tool from BOSCH would work. I can not find such a creature.

I see on fourms that the above is all dirt simple for Ford owners and good for them, GM guys just have to eat it I guess. I also only seem to find these things on Diesel fourms or from Diesel tuners. I guess that community does not want people who cant shell out $100k or more on a truck so have to settle on the gasser 1/2 ton trucks. I digress.


r/CarHacking 4d ago

CAN CAN Frame Byte Order

3 Upvotes

Do designers select the slightly messier intel format because it makes the signals less obvious to snoopers, or are they just trying to be annoying like people who pronounce gif jif?

It messes with what little sense of esthetics I have to see the message layout on frames from the Hyundai and Benz products I've been working on lately, especially when its a mid-length signal like 10-12bits.


r/CarHacking 5d ago

Community Holden (Chevrolet) Cruze replacement cluster vin programming

7 Upvotes

First off apologies if I am using the wrong flair I did not know which one to put it under.

Recently I bought a 2013 holden cruze, everything in the car works fine except the dashboard was not showing the kms of the car, after some investigation with a scan tool, I found out that the cluster had a different vin programmed to it compared to the rest of the car, I was also getting an immobaliser fault code from the cluster. This leads me to believe that the previous owner had replaced the cluster without programming it. I bought this ch341a eeprom programmer and then followed instructions from this video on how to install the right drivers and software. When I tried reading the 24c16 eeprom chip the software only showed ff everywhere which according to my research means there is something wrong, I tried unplugging and replugging, clearning the terminals on the chip and connector and flipping the connector to no avail. The only thing I havent tried is desoldering the chip which I am leaving as a last ditch efffort.

one thing I noticed is that on my programmer's chip it says ch341b instead of ch341a which is odd because everywhere else on the programmer it says ch341a.

any help in resolving my issue would be greatly appreciated.>! !<


r/CarHacking 6d ago

Scan Tool OBDLink SX - Slow Response Time

2 Upvotes

I am using an OBDLink SX to read sensor data from my car OBD2 port. I am using python to send requests for non-standard PIDs and receiving the correct responses, however the issue I have is the responses seem to be very slow. I would like to log responses at a decent frequency so I would like to understand why it is so slow and if there is any way to speed it up.

Below are the details of my setup, the code I am using to monitor the time for the response to come in and a typical example for one of the requests I am sending.

Details:

  • Car: 2019 Hyundai Ioniq Electric
  • Protocol: ISO 15765-4 (11-bit, 500kbps)
  • OBD reader: OBDLink SX
  • Computer: Windows 11 using Python serial library

Code:
The code below is used to send an OBD request then use a loop to check the length of the response until the complete response is received. Each time additional bytes are received it prints the elapsed time and current number of characters received

serial_conn.write(f"AT SH 7E2\r".encode())    # Set header
serial_conn.write(f"21 01\r".encode())        # Send mode and PID

start_time = time.time()                      # start timer
current_buffer = serial_conn.in_waiting       # check length of response in buffer

# check length of response in buffer until complete response is received
while serial_conn.in_waiting < 82 :

    # if response length changes, print elapsed time and current response length
    if current_buffer != serial_conn.in_waiting :

        print(f"{time.time() - start_time}- Buffer size: {serial_conn.in_waiting}")
        current_buffer = serial_conn.in_waiting

# print total time for response to be received in buffer
print(f"Response time: {time.time() - start_time}")  

Typical response:
"7EA 10 16 61 01 FF E0 00 00
7EA 21 09 21 12 40 06 3B 03
7EA 22 00 00 00 00 B7 77 34
7EA 23 07 20 00 00 00 00 00

>"

Code Output:

0.013462066650390625- Buffer size: 20
0.02947258949279785- Buffer size: 60
0.045500993728637695- Buffer size: 80
0.07746386528015137- Buffer size: 82
Response time: 0.07891416549682617

It can be seen that the request I am sending is returning 4 frames. It seems there is ~0.015s between each time frames are received. Initially only frame 1 is received, then frame 2 and 3 are received, finally frame 4 is received. Then it takes another ~0.03s for the end-of-message characters to be received.
If I understand correctly, this is the time it takes for the messages to be sent from the car to the OBD reader. The communication would be at 500kbps
The messages would then have to be sent from the OBDLink to the computer, which would have a baud rate of 115kbps and would further slow data retrieval.

Questions:

  1. Is it normal for the OBDLink SX to be this slow?
  2. Why is there such a long delay for receiving the end of message character?
  3. Could the Python serial library or its configuration be a bottleneck?
  4. Would a different OBD adapter (e.g., USB2CAN) provide better performance?
  5. Is there anything I am missing that could be causing these slow responses?

I am new to this so any help would be greatly appreciated.


r/CarHacking 6d ago

Scan Tool Would anyone mind downloading this MHHAuto File

0 Upvotes

https://mhhauto.com/attachment.php?aid=478143 (Download)
https://mhhauto.com/Thread-fixing-the-60-Day-licence-bullsh-t-in-AllScanner-s-New-VCX-manager-1-8-X-VCX-nano (link)
or incase anyone has 1.6.2 vx manager do they mind uploading it online since I can't seem to find it anywhere(all the mega links are dead


r/CarHacking 7d ago

ISO 9141 K Line to UART ISO9141

Post image
5 Upvotes

Got this circuit off GitHub. K Line is a 12V signal. Does this look correct? Because unless TX is low (not UART idle state) wouldn’t K Line to RX always read high?


r/CarHacking 8d ago

UDS UDS service 0x2A (ReadDataByPeriodicIdentifier) CAN IDs

3 Upvotes

Out of curiosity, do the frames that the ECU transmits that contain the actual unsegmented periodic data have standardized CAN IDs or is this something manufacturer specific?


r/CarHacking 8d ago

Original Project Canbus system serial numbers

8 Upvotes

Put together obd/canbus system containing cluster, bcm, ecu, 8.4 infotainment, center stack, all dodge parts. What I want to know is...what serial number should I use on this setup? I think I should use the bcm ser# across all the units, but thought I'd ask first. And which program should I use to change serial numbers...windows-linux ?? I'm able to connect to all the units with demo of Alfaobd. Now sure if I can use paid Alfaobd for all ser#'s. This is all for me to learn more about the Canbus ID's ,turn parts on/off, figure out errors when something on the canbus goes wrong. Was able to un-loop 8.4 uconnect with linux. So I hope someone with more understanding can help. Thanks.


r/CarHacking 9d ago

Multiple My AC is stuck on auto

4 Upvotes

Hi all, I did the unfortunate thing of going into my diagnostic menu and "initialize system" This basically bricked my audio unit in my Nissan Fuga Y51 with Bose. I now cannot change the ac in the infotainment system. I heard online that the best fix was to get consult 3+ software and module which works with it. Thinking this would be cheaper the dealer option. anyone out there with any suggestions? Thanks


r/CarHacking 9d ago

ELM327 Europe OBD ??

9 Upvotes

Hi friends, I Want to know if European cars respond to different obd pid's, I have done tests in a VW and responser were not the usual with other cars, different hex size response, variations, etc. Anyone knows if they use obd pids different than this:

Thank you!!


r/CarHacking 9d ago

Original Project Obd2 gps tracker & bidirectional via LTE?

1 Upvotes

I am an Turo All star host, been using bouncie obd GPS tracker to monitor my cars.

Recently Turo added a new rating category requirement for Maintenance. Myself as well as all host been affected with low rating due to common check engine lights and error.

In all my cars, I have added an Android CarPlay box with dedicated 4g sim.

I was thinking of adding an obd2 splitter.

One for Bouncie and another for obd2 Bluetooth adapters with bidirectional coding. This way if there is any check engine lights or error code I can remote into Android car play box and access obd apps like thinkcar or obdeleven and clear out the code so guest won’t freak out and give me a bad rating.

Bouncie does provide some diagnostic, not too in depth, but does provide realtime gps tracking, speed, and if car has been in a crash. But it doesn’t clear code.


r/CarHacking 10d ago

Scan Tool launch crp919e bt help.

1 Upvotes

hello guys could not find any other place to write this post😅

I own launch crp919e BT diagnostic tool. Everything is good tool works perfectly. Btw studying work with Car Diagnostics. Today I was trying to change language on Mercedes Benz w212 2014 2.2cdi Found the module in launch changed language but as soon as write coding and leave the module language immediately switched to Deutsch. Any ideas on how to solve this problem?


r/CarHacking 11d ago

Cool Project Find Volvo xc40 infotainment system

0 Upvotes

Hi I have a 2024 Volvo xc40 and I'm not happy with the Google infotainment system. How can I completely erase it and upload my own custom OS to my infotainment system.


r/CarHacking 12d ago

CAN Webasto 3500ST CAN-BUS

Post image
6 Upvotes

Has anyone tried the Webasto Airtop 3500 ST for the MB Actros, or does anyone have information about it? I want to connect it for a bench test and control the heater using the CAN bus protocol. I understand that it supports both W-bus and CAN bus communication capabilities.

I have a CAN bus logger and have been searching for the wiring diagram for this heater. I’ve identified the CAN L and CAN H wires and connected them to my CAN logger while it was still in the truck, but I’m not receiving any messages. I’ve also tried both 250 kb/s and 500 kb/s settings.

Do you have any suggestions for the proper connection configuration?


r/CarHacking 12d ago

CAN Candump on Honda Odyssey 2019 Filtered?

3 Upvotes

Hi, Im using Korlan and trying to see the traffic on my can bus but I don't see anything, except those I generate myself with can send. Anyone knows if Honda Odyssey has a security gateway, a firewall or some kind of filtering that do not allow me see the traffic? Thanks


r/CarHacking 13d ago

Original Project Can an LS ECU run other engines?

4 Upvotes

In theory if you were to take a bare block (let’s say a ford 2.3 lima) and put GM sensors on it, converted the distributor to a cam sensor and found a solution for crank signal - would it be able to run the engine?


r/CarHacking 14d ago

LIN Some LIN bus reverse engineering and PCB design

Thumbnail
youtu.be
13 Upvotes

I figured this group might be interested was it covers multiple disciplines


r/CarHacking 13d ago

Tuning Mhhauto Download

0 Upvotes

Could someone download the file for me. I became a father a month ago, unfortunately I don't have the money to register at the moment.

https://mhhauto.com/attachment.php?aid=542847

[shifti@mail.de](mailto:shifti@mail.de)

THX