![]() |
Adding doors auto-lock and oil t° display to your FRS / BRZ / 86
Hello everyone !
Since I bought my FRS a year ago, I was really missing two features : automatically closing the doors after starting to drive AND the oil temperature ! My old car that is almost 20 years old already had it ... so why Toyobaru did not make it from factory ?? Why !!? We'll never know ... Seeing this, and because I didn't wanted to buy some chinese OBD plug to do that, I started to work on an open source solution based on Arduino. For who's that don't know, an Arduino is like a "microcomputer" that you can program to do many things, and, in this case, to dial with the onboard CAN network. Why using an Arduino ? Because it costs almost nothing and could be used for many other things than just locking/opening doors (like showing Oil t°, etc.). I will not cover all the steps in this post, but just the main ones, so feel free to ask any questions, so others and I can respond to your requests accurately ;) I'm assuming that you are aware of Arduino development, C++ and CAN/OBD protocols. If not, ask your friend that knows ^^ Step 1: Getting all the needed parts First, you have to get an Arduino UNO ! For the Arduino to be able to read/write through CAN, you have to add an "extension" to it (a CAN shield) : http://www.ebay.fr/itm/SPI-MCP2515-E...8AAOSw2gxYrWH~ And then, you need a RS232/OBD cable (ebay again) Depending on where you get the parts, you might have to do some (really easy) soldering. You could add a nice box if you want to. Step 2: Uploading the software to the Arduino Once you have all the parts, you can download the CAN library and projects I've developped at : https://github.com/fontaromain/CANHelperLibrary Choose the Arduino project of interest and open it with the ArduinoIDE. You will have to copy the folder "CANHelperLibrary" next to the project ".ino" file in order to compile the project. Then upload it to the Arduino and you are done. Step 3: Install in car Plug it to your car with the shield configured to get it's power from the OBD link (it's the car that will power the Arduino directly through the OBD cable) and drive ! You can put the Arduino behind the glove box or anywhere you want, it's up to you. Explanation videos: [ame="https://www.youtube.com/watch?v=xC93xSPRaQE"]FRS/BRZ/86 oil temperature display - YouTube[/ame] [ame="https://www.youtube.com/watch?v=yW65quZttV8"]FRS/BRZ/86 Automatic doors lock - YouTube[/ame] Future: I'd like to get a cluster indicator to blink until the oil reach its correct temperature and to flash the shilftlight when too hot (to keep it plug and play with no needed car modifications). So I'm also requesting some help: does anyone knows which are the ODB messages to use to: - Make the shiftlight to blink ? (oil too hot) - Turn on / off various led indicators on the cluster (I was thinking "snow" indicator on MT as it is never user but there are others...) - Identify distant lock / unlock of the car so I can develop a power saving mode ? I could reverse engineer Techstream OBD messages (that's what I already did) but it's not a fun task, so any help is appreciated :) Sorry if some engrish is present in this post (don't hesitate to correct me :)) And have fun ! |
Not much help, but there is a product similar to what you are trying to do. Has an OEM look to it, as well.
Oh, and it's not Chinese. lol. Here's a link: http://www.ft86club.com/forums/showthread.php?t=47749 |
Well, your solution cost is really far from mine ($15) and don't lock the doors :)
|
This is a very interesting project. So am I understanding correctly that you are able to manipulate the coolant temp gauge through the OBD2 port?
|
Yes, but only by 1/4, I did not found the way to drive it smoothly by little steps.
But for this particular application this is not an issue, for me at least (it's nice to know that the oil is not cold / too hot, the exact temperature does not matter as long as it stays in normal ranges) |
This is really cool. I had no idea you could do this type of thing with an Arduino.
Time to start learning how to do this. I have had an Arduino laying around forever with no use. |
Thanks !
And you can do many more things through obd... Updated first post to have a nicer youtube integration :) |
Quote:
Are you able to get the speed from the car as MPH or only KPH? I have a spare Uno lying around. Think I finally have a project for it :) |
Quote:
If you are a software engineer I hope that my work matches you quality standards :) |
Quote:
I didn’t get a chance to read through all the docs yet. Can you use the e-brake engagement for the unlocking mechanism? |
Yes the e-brake could be done (because i saw the information in techstream).
However, I did not reverse engineer this specific obd message so it's not present in the current code. As a side note, I use the e-brake in traffic jams everyday, so I'm not sure it's a really good option :) But I can note that down for my future experiments. |
Can I use the new arduino r3 boards that they have now and attach the db9 serial port on top and get power through the serial to the board? This is what I was looking at adding. Really interested in this project.
https://www.amazon.com/MakerFocus-CA...BK7M303R553HZZ |
Quote:
|
Quote:
|
Quote:
|
Quote:
Thanks for the reply. I am unable to view the youtube videos where I am at right now. But I plan on getting this project done when I get back home. |
I'm no software engineer, but I did do some coding in college a few years ago. It's funny that you added the auto door lock feature... I have a 2000 Toyota Celica, and when I bought my brz, I was so surprised it didn't have an auto lock feature.. that was one thing that I absolutely loved. So, correct me if I'm wrong, is this as easy as buying the parts you need, and then simply loading the software onto the arduino and that's that?
Edit: I also think it could be potentially really cool if you were able to adapt a small lcd screen on the arduino and have the code spit out literally just oil temp on the LCD screen. (Not sure how difficult that would be). |
Quote:
Didn't knew that the celica had it ... ! Adding an lcd on top is easy but I don't have one, so it's hard to develop in theses conditions ^^ If there is a lot of demands why not, as long as the arduino can handle both can and lcd together |
Measured the power consuption of the whole thing today.
At 12.8v it draws 48mA, so with a 55Ah battery it will last more than a month. This is really correct and could be improved with a power saving mode :) |
Hey,
This is really cool. I have a turbo'd FR-S so I was wondering if it was possible for me to display boost rather than the current oil temp. If it is possible mind letting me know how? Also what is the refresh rate for the displayed data? Thanks! |
Quote:
The obd messages I know of (reverse engeneered from techstream) only allow to drive it by 1/8 or something like that. So until I or someone else finds a ways to do it this is the limitation :) |
Is this type of data communication available over Bluetooth OBD adapters? If so, I wonder if the code could be ported into a Torque add-on...
|
I wrote the code to be used anywhere, not only on an arduino. So if torque gives us an sdk that could be used to develop an IConnector class it could be easily done.
Do you have some links to how to make a torque addon ? |
From a quick search it seems like development documentation is sparse but there are plugins that seem to be able to communicate with the car like the "Remote EX for Nissan" listed here: https://torque-bhp.com/wiki/Plugins
There is also this wiki page that includes a link to a forum thread that might have some good info: https://torque-bhp.com/wiki/PluginDocumentation |
While I understand that some cars have the feature of locking the doors when you are driving, what purpose does it serve? Is it to prevent being car-jacked?
Also, kudos to you on your execution. |
Quote:
Quote:
|
Quote:
As far as I understand, torque does not offer a plugin system that is compatible with the c++ code I wrote. It's maybe not impossible to rewrite everything to java/torque script but I won't do it :) Quote:
And thanks :) I'm currently testing an lcd display coupled with the arduino to be able to display various informations. Some ui designer here ? I'm using a nextion touchscreen for fun |
Ive been looking for this for quite a while! Thank you!
Is there anyway to make it like newer cars that If I pull the handle from the inside it auto unlocks? |
Quote:
|
Quote:
For the pull, I've never saw anything like this, could please be more precise ? (Maybe a specific car model that I could look into ?) But if it needs extra sensors that the frs is not equiped with, you have your answer it's not possible :cry: |
Quote:
|
Thanks man, This is actually much better then the OBD2 thing most ppl are running.... Cuz I have an iphone LOL.
(aka only wifi with OBD2...means I don't have internet while running those apps that ppl trys to run) |
Quote:
|
Quote:
This adapter works with iOS via BLE: https://www.amazon.com/dp/B01MAURDGG The key is to get the “Enhanced Version”. This version runs Bluetooth Serial Profile for Android but also runs Bluetooth LE for iOS connectivity. The description on this item fails to explain this but trust me it works. I have this version and it works great on my iPhone. I’ve tested it with Carista, DashCommand and Fusion. Fusion is the best hands down. Very similar to Torque. There is an in app upgrade that adds direct support for Toyota’s which gives it access to a ton of PIDs for our cars. |
Quote:
But I don't remember any information about the door interior handle position so I think it will not be possible |
Not a lot a free time since my last post but did not forgot about improvements ;)
Just to know, has anybody tried the code and succeeded ? |
It would be interesting to know how you are reverse engineering Techstream. I would love to have access to the tire pressures.
|
Could it be possible to close the windows when car ignition is turned off?
|
Quote:
Plugged in the car and in a tactrix interface (for techstream) and in parrallel with my arduino board that just listened to the can trafic. Then simply played with the diagnosis features of techstream and deduced the correct frames to use. Not too hard but a lot of work when you don't really know what you are looking for :D Quote:
If yes it might be ok as I successfully played with the windows (but with ign on) |
I just ordered an Arduino UNO R3, the CAN bus shield, serial to OBD2 and a Y cable. My goal is to capture the traffic coming from Techsteam when putting the VSC/TRAC/ABS system into "inspection mode" so I can have a more permanent way (toggle switch) to disable TC/VSC. But I will also have the ability to do other creative things. I saw where someone replaced the clock with a small LCD screen and repurposed the clock buttons for controls to the Arduino. This is going to be a fun project.
|
| All times are GMT -4. The time now is 04:46 AM. |
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.