Use OEM (Factory Equipped) Garage Door Opener Buttons as Accessory Switches

SnoViking

Adventurer
Hey Everyone, So I'm in the process of building up my new truck and I'm getting to the point where I'm starting to add accessories like driving lights, back up lights, USB plugs, fridge, etc. I started thinking about the wiring and how and where to do things. I then remembered how much I hated running switches and wires back into the cab (through the firewall). I've had water ingress (aka soggy floor mats) caused by improper wire management and I've never been happy with aftermarket switch fitment (although I will say they've improved vastly recently). I like my vehicles to look as stock and clean as possible. Whilst sitting in traffic this morning it occurred to me that I have three switches already neatly installed, wired up, powered and lit, that I don't use. These would be the three garage door opener buttons up above the rear view mirror. It got me thinking.......

So here's my plan (cue the A-Team music):

2011-lexus-CT200h-overhead-controls.jpg


These switches, when pushed, send off a specific code/string at 315mhz (+/-). This is what the garage door opener receives and then tells your door to magically and ceremoniously raise.

So my plan is to build a control box using an Arduino board, a radio frequency receiver, and some relays to toggle the accessory relays for such things as my driving lights, back up lights, and USB outlets.

I plan on using the Arduino Uno board since it is already 12VDC powered. This little guy will give me all the functions needed and is nice and small.

81xSV1TGCLL._SL1500_.jpg


I'll wire up a radio frequency receiver which is designed to receive at 315Mhz (the garage door opener frequency)

7188izGKJ-L._SL1500_.jpg


I'll then connect the Adruino board to a set of "stepper" relays which will take me from 5V 12-20mA current up to 12VDC 10A.

51M0KK9HuHL.jpg


I'll use those relays (the blue ones) to run a standard 12VDC 40A (max) automotive relays. These will run the accessories.

61wfV-GjNSL._SL1001_.jpg


Then I'll have to figure out the code writing stuff and "Ifs" and "thens" and "If elses".....

I'll update as I go.


If anyone has any coding/Arduino experience and wants to help please chime in. I feel like almost everyone has these button in their car and it would make running accessories a bit easier.
 

SnoViking

Adventurer
if your using it for stuff on the truck then just tie into the buttins directly.... KISS...

I considered that. But since the buttons are only momentary push button styles I would have to use a toggle relay with a specific starting amperage (that isnt hard to determine but they can get expensive if I have to buy multiples) Also, I dont want to cut up or modify the factory wiring harness, nor run anymore wires. Plus I can wire up multiple accessories (I also have an 8 relay setup) and then just reprogram the buttons using the DIP switches on a generic garage door opener remote.
 

SnoViking

Adventurer
Beware of stray signals.

That's what's nice about the garage door signal. Each button will have it's own unique code. I'm not 100% sure what it'll look like yet but from what I'm reading it may be as simple as a series of 12 0s and 1s. The remotes are programmed using DIP switches (12). So I can easily set button #1 to transmit code 010101010101. When the receiver gets this code it knows to turn on relay #1 which will power the accessory attached to relay #1. If I press button #2 and it transmits code 000000111111, I can program the arduino to read 000000111111 and power relay #2. While there is a slight chance of receiving a rogue transmitted code; there are 4096 possible combos (2 to the 12th) and I would have to be within range and at that exact same moment.

While I'm not using the new "rolling" or "hopping" code structure the new garage door openers use for security, it probably wont make any real difference in my actual application.
 

SnoViking

Adventurer
Update: While searching for info I ran across a prebuilt 4 channel RF remote control relay system. It is exactly what I was going to build and program (all for a whooping $13). It transmits/recieves at 315mhz which is the same as the factory Homelink buttons. This will allow me to "teach"/clone the Homelink buttons to match the remote buttons and functionality. Plus it comes with a little remote that I can use to toggle the accessories on from outside the car (ie awning/tent lights)

By using this I wont have to do any of the programming myself. Here's my new "fancy" electrical diagram:

 

SheepnJeep

Active member
This is a cool idea! I think as long as you are using the buttons for harmless stuff it should be fine. Like you say, turning on exterior lights, etc. I'll be following to see how this turns out.
 

SnoViking

Adventurer
Since I have three buttons; I was planning on using button #1 for my LED driving lights. Button #2 for either USB outlets or awning lights. And button #3 for my back up light. Nothing critical to safety or general operation.
 

ajmaudio

Adventurer
I should have expounded on my comment to tie into the existing buttons... you would still use an arduino and could probably easily not do any permanent mods to the vehicle wiring.... You would tie the factor switches to an arduino input but pulling up or down(whatever they are stock) through a 10k resistor if needed... though I would bet the button is already pulled up or down as is. You could still just run a 1k r so resistor in series with the input to prevent any kind of loading but I doubt you'd need to. You would then use the arduino to control your relay "logic" any way you wish as you already intended, but you wont have to deal with any RF stuff. Less to go wrong, much easier to program. Just a thought.. hope it makes sense.
 

rkfoote

Member
A couple notes: I'm a bit weary around wireless signals from the garage door (generally they are using rolling codes which you'd need to find/set the seed), and be nervous about interference or external noise. This would be different if you controlled the transmitter side and was able to sign and/or checksum the result to ensure it's clean.

But... If you're looking to hook up an arduino, you have lots of other hardwired options you could tie into. For example, you can tie into your high beams and detect a signal there, 3 flashes within 1 seconds to toggle on/off. You can also tie into other existing buttons you can get access too (clutch start cancel, fog lights, RSCA, etc in my rig).

You can get small versions of arduino which can integrate anywhere. I've used the tinyLily ($10, and the size of a dime): https://tinycircuits.com/collections/all/products/tinylily-mini-processor
Google "LM7805" - this is a $1 part that will take up to 18v and reduce to 5v to power the arduino.
You can use a MOSFET to either directly control a device, or to step up the 5v to power the relay. https://www.sparkfun.com/products/10213 (rated for 30A, but i'd probably use a physical relay or a very large heatsink.)
 

SnoViking

Adventurer
It's alive!!!!!!!!!

Just need a project box from Radio shack to mount things up cleanly and then under the bonnet it goes!


 

SnoViking

Adventurer
A couple notes: I'm a bit weary around wireless signals from the garage door (generally they are using rolling codes which you'd need to find/set the seed), and be nervous about interference or external noise. This would be different if you controlled the transmitter side and was able to sign and/or checksum the result to ensure it's clean.

But... If you're looking to hook up an arduino, you have lots of other hardwired options you could tie into. For example, you can tie into your high beams and detect a signal there, 3 flashes within 1 seconds to toggle on/off. You can also tie into other existing buttons you can get access too (clutch start cancel, fog lights, RSCA, etc in my rig).

You can get small versions of arduino which can integrate anywhere. I've used the tinyLily ($10, and the size of a dime): https://tinycircuits.com/collections/all/products/tinylily-mini-processor
Google "LM7805" - this is a $1 part that will take up to 18v and reduce to 5v to power the arduino.
You can use a MOSFET to either directly control a device, or to step up the 5v to power the relay. https://www.sparkfun.com/products/10213 (rated for 30A, but i'd probably use a physical relay or a very large heatsink.)

I'm using the four "set" codes the wireless RF board came with as my defaults. I can teach my overhead buttons to copy these codes. From what I read, these use a 12 position DIP switch style code. So there's roughly 4k codes. I have about a 75' range. So hopefully no one with 75' is using any of the 4 (out of 4,000) codes available....


I may end up going the Arduino route down stream in which case I'll migrate this program over that ways. I'd like to do a small 3x5 or 4x6 touch screen which will control my accessories and also display things like fridge temp, fridge/accessory amp draw, solar intake and such.

I'm using the "old" style garage door tech which has set codes. I agree I may get some interference but it's a very small chance (statistically speaking) Plus, I'm only using this for simple things like fog lights and awning lights. Nothing serious like fuel pumps, or A-team explosions....
 

SnoViking

Adventurer
Picked up some project boxes and got everything "stuffed" in. I ended up just going with three relays in the box (since I only have three in-car buttons anyway). I still have to finish securing the relays and circuit board to the base.

I got everything wired up and tested the unit on my work bench using an old motorcycle battery I have laying around. I then went out and "taught" the cars buttons to match the RF remote and everything was a success. I still need to order up a small ground bus bar and mount that on the box. From there it'll be good to go and mount up under the hood.







These top posts are where I'll hook up the accessories. This helps keep the project box closed up and dry.
 

AaronK

Explorer
I read your original post while humming the a team theme.
Cool project

Sent from my OnePlus One using Tapatalk.
 

Forum statistics

Threads
187,095
Messages
2,891,033
Members
227,741
Latest member
Gotfuzz
Top