![]() |
Ermax's CAN bus hacking log
This project started with me simply wanting a physical toggle switch for turning TC/ASC off. When the car starts and the switch is in the off position then I wanted TC/ASC to automatically turn off. To do this I am going to use CAN bus via the OBD2 port. I have a proof of concept built and working with a Raspberry Pi 3 and a cheep $10 CAN to SPI adapter. The Raspberry Pi is setup to be a WiFi AP so I can connect to it via my phone or laptop. It's also running Samba so I can easily access the filesystem from Windows. I made simple Node.js app which provides some simple URLs for triggering actions. Here are some examples:
http://carputer/nannies/off http://carputer/nannies/on http://carputer/headlights/on http://carputer/headlights/off http://carputer/flashheadlights/30/1000 Those URLs should be self explanatory. Something like this looks really cool with LED headlights: http://carputer/flashheadlights/30/1000 It will strobe the lights at 30hz for 1sec. :) My plan is to get a composite video cable to run from the RPi to the composite video in on the back of my factory headunit. Then I need to find a good place for a Dpad for going through the menus. It would be really cool if you could trap the touch inputs from the factory touch screen. Hmmm I will update this thread as the project evolves. I'm only one day into it so it's a bit rough right now. https://imgur.com/gallery/wdzdD |
I got the raspberry pi setup to auto join the WiFi at the house and at work and simultaneously acts as a WiFi AP for times when I am not at home or work. I can always join the local network with my phone to control it. Here is a video of me flashing the lights from my iPhone:
[ame="https://www.youtube.com/watch?v=oqXfUO8j9wU"]Raspberry Pi controlling headlights - YouTube[/ame] |
Ooh I like this idea. I wanted to hook an RPI up to the OBD Port for real-time updates for oil temps, rpm, speed, etc. and have them projected onto a small glass like a fighter HUD. With your method are you able to toggle these things if you don't have access to internet (on the road)? I know what I have planned has already been done, I just need to modify someone else's code for my custom display.
|
The Pi is acting as a client and AP so when it’s in range of my office or home it will join that along with my phone. When I’m on the road my iPhone joins the Pi’s own WiFi network. So yes I can access it without internet access.
This isn’t how I intend to use it though. I plan on using the composite out to connect to my OEM touch screen via composite input. Then I plan to use the cruise controls for up/down/select to navigate menus. I can trap the can packets from these buttons. |
Interested in your project. What are the limitations to what you can control? Ive been trying to find a way to add "comfort windows" (door lock = window roll up, unlock = down).
|
You can control the windows and locks. The limitation is the ignition must be on. So no proximity WiFi or BT key fob is possible. But if you write up in detail what you are looking for, I will code it.
|
Ho lee crap!
|
Quote:
This would be outside your car, with no ignition on so it might not be possible. |
I was really busy this weekend so I didn't have much time to work on this project. I did manage to identify the packets that are sent when moving the cruise stalk up, down and back. So now if I want to flash I just pull back on the cruise stalk. If I push down on the stalk it turns off TC/ASC and if I push up it turns it back on. The state is saved between restarts of the car so I don't have to press it each time I start the car.
I got a composite video cable for the Raspberry Pi. Hopefully I will get a chance to wire this into the Scion touch head unit. I have the BeSpoke version which has a backup camera input which is only active when your in reverse but it has a second dedicated video input that can be picked from the input menu. Once that is going I will work on some sort of basic menuing system that will be controlled by the cruise stalk. |
Very cool,
Electronic steering and ABS are most important, especially for engine swaps. I know the can to the electronic steering is RPM based feedback for the steering assist. I would say spend your time there for decoding CAN it would be more viable information to be translated into other applications. |
Quote:
http://spotlightreport.net/wp-conten.../jerry-mag.jpg |
I know this thread is a bit old...but if you're still around would you mind sharing your code and whatever CAN commands you're familiar with? I'm trying to do research to learn and make my own mods too. Familiar with Rpi's and other electronics but new to CAN. Any help would be appreciated :)
|
Aids disable via CANBUS
Hi, i am playing with CAN BUS too in order to change electronics aids in the same way as Ermax did. I found that can id 0x0d3 has some interesting information related to central tunnel button, but can message is continously send. Ermax how did you manage to keep a fixed aid setup? do you continously send a message on that can id ?
If someone has experience about that I wold be grateful for some help. Thank you ! |
| All times are GMT -4. The time now is 02:29 PM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
User Alert System provided by
Advanced User Tagging v3.3.0 (Lite) -
vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.