DIY for programming the Homelink Garage Door Opener (GDO)...
Surprisingly, I had trouble finding concise instructions
in one spot for programming the BMW Homelink Garage Door Opener (GDO)
in my 2002 BMW E39 so I re-wrote what I found out
here as a GDO DIY.
Programming information can be found in this generic Homelink video
'They say" it is best to have a strong battery in the remote before you program your Homelink transmitter in your BMW overhead. The reason 'they say' this is because it's a recording; weak signal in === weak signals out ('they say'). Anyone with proof ... or logic ... please advise.
RESET PROGRAMMING MODE:
You do not need to reset but you might wish to erase all buttons when you obtain the car or sell the car.
To reset all three Homelink buttons at once:
1. Set the ignition with your key to the ACC2 position (no need to start the engine).
2. Simultaneously press and hold the two outside buttons (#1 and #3) of your Homelink control unit
3. Keep holding both outside buttons until the Homelink LED flashes rapidly (this will take about 20 seconds).
That's it; the old settings are now wiped out for all three buttons.
Note: Do not repeat this step unless you wish to wipe out all existing settings!).
RE-PROGRAM PROGRAMMING MODE:
0. You can program the Homelink after a reset or you must put the Homelink into "programming mode".
1. To put the Homelink buttons into programming mode, press the desired button that you would like to reprogram and keep it pressed until the LED starts to flash slowly.
2. Let the LED flash slowly for about 20 seconds.
3. Only then (after the LED flashes slowly for about 20 seconds) should you release the button.
The Homelink system is now in programming mode.
Note: You will have five minutes to carry out the re-programming.
PROGRAMMING FOR STANDARD CODES:
This first procedure assumes a fixed code GDO (not rolling codes - instructions for which will come later).
0. Position your hand-held remote transmitter 1 to 3 inches away from the HomeLink surface (located on your overhead sunroof panel), keeping the HomeLink indicator light in view (the closer the better in most cases).
1. Using both hands, simultaneously press and hold both the desired HomeLink button (e.g., button #1) and the hand held remote's transmitter button.
2. DO NOT release both buttons until the HomeLink indicator light flashes slowly and then rapidly.
3. When the Homelink indicator light flashes rapidly, both buttons may be released.
That's it (if you have a simple GDO); the rapid flashing indicates successful training of Homelink.
Note: Apparently "Canadian Instructions" are slightly different; go figure.
HOW TO TELL IF YOU HAVE ROLLING CODES: (i.e., encrypted codes)
1. Press and hold the now-trained HomeLink button and observe the indicator light.
a) If the Homelink indicator light is solid and continuous, training is complete and your garage door should activate when the HomeLink button is momentarily pressed and released.
b) If the indicator light blinks rapidly for 2 seconds and then turns to a solid and continuous light, proceed with the following training instructions for a rolling code device.
Note: A second person may make the following steps quicker and easier. Please use a ladder or other device. The Homelink people warn "Do not stand on your vehicle to perform the next steps" (duh).
PROGRAMMING FOR ROLLING CODES:
0. Apparently, you have to do the non-rolling code stuff above first; then, if you find you have rolling codes (based on the indicator light action described in 1b avove), then proceed as described below ...
1. At the garage door opener receiver (aka, at the motorhead unit) in the garage, locate the "learn" or "smart" button (usually near where the hanging antenna wire is attached to the unit). If there is difficulty locating the training button, reference the garage door opener's manual or contact Homelink at +1-
2. Press and release the "learn" or "smart" button (the name and color of the button may vary by manufacturer but a black button with a red LED is common).
NOTE: Once the button is pressed, you generally have about 30 seconds in which to initiate the next step.
3. Return to the BMW and firmly press and hold the previously trained HomeLink button for three seconds & then release.
4. Do step 3 again (they actually told me to do this when I called for help).
5. Do step 3 yet another time (just to be sure).
6. HomeLink should now activate your garage door with rolling codes.
Note: You can re-program any button at any time. If this procedure fails, you can call Homelink at 1-800-355-3515 for help (which is what I did and where additional steps above were added and a lot of my description was improved).
1. To train, some remotes must be placed directly in front of the transmitter.
2. Others at a distance of up to 30 centimeters
3. In my case, I placed the remote transmitter right next to the BMW Homelink roof panel, actually touching the panel (that's what the Homelink Customer Support guy said to do - and it worked).
Note: Make sure your battery in the remote is good. This may be an old wives' tale but 'they say' it's like a tape recording'; low-volume in, low-volume out.
1. Press the Homelink button you have now programmed.
2. If the LED is constantly lit, you have successfully concluded the programming.
3. You also should see the garage door opening (duh).
Here are some more details on programming and troubleshooting the Homelink system on the BMW:
Poor range can be caused by interference around or near the vehicle or due to the use of older batteries in the original transmitter during programming.
- Put a new battery in your hand-held transmitter. Training the HomeLink takes more power from the battery than when you push the button to open the door. Sometimes by putting a new battery in the hand-held transmitter, it does help pick up a better train and increases the range.
- Retrain the HomeLink at different lengths and angles. Start by holding the hand-held transmitter 3-4 inches away then 5-6, even 6-8 inches from the buttons. Sometimes this helps pick up a better train to HomeLink.
- Try a second transmitter with new batteries.
- Straighten the antenna wire that hangs down from the garage door opener motorhead.
HomeLink is an integrated transceiver (a transmitter and receiver) that can be programmed to activate radio frequency (RF) devices such as garage doors, estate/community gates, entry door locks, home/office lighting, or other RF devices.
HomeLink is compatible with radio-frequency devices operating between 288 and 399 MHz (exclusive of the restricted 322-335 MHz range). Select 2007 and newer vehicles are compatible up to 433 MHz (exclusive of the restricted 400-410 MHz range).
Please contact us by email or phone (1-800-355-3515) to verify vehicle compatibility.
You can either call our customer service number (1-800-355-3515) or contact us by email for complete programming assistance. First try the following troubleshooting tips:
PROGRAMMING FOR A PRE-1982 GARAGE DOOR:
- Check the frequency of the device's hand-held transmitter (usually found on the back). HomeLink is compatible with radio-frequency devices operating between 288-399MHz (some 2007 and newer vehicles may be compatible up to 433MHz. Please contact us for vehicle compatibility).
- Put a brand new, store bought battery in the hand-held transmitter. During the programming process the battery's energy tends to drain (more so with an older battery). A new battery will increase the speed and accuracy in which the hand-held transmitter sends its signal to HomeLink.
- Retrain HomeLink holding the hand-held transmitter at different lengths and angles from the HomeLink button you are trying to program. Try 4-6 inches away at a different angle.
- Cycle the hand-held transmitter during programming: Press and hold the HomeLink button while you press and release the hand-held transmitter every 2 seconds until the indicator light changes from a slow blink to a rapid flash.
- To verify HomeLink has programmed, press and hold the HomeLink button and observe the indicator light:
- If the indicator light remains solid, it has picked up the signal and should operate the device.
- If the indicator light blinks rapidly for two seconds and turns solid, HomeLink has successfully picked up the rolling code signal. Please follow the rolling code instructions outlined in the "programming a garage door opener" section to complete the process.
- If the indicator light remains a slow blink, HomeLink has not picked up the signal from the hand-held remote. Try programming the button again or choose another button to program.
As long as the garage door opener is in the same frequency band (288-433 MHz*), HomeLink can be programmed to this older unit. However, frequencies of some older openers can shift outside of the HomeLink operating band, and become incompatible. The best way to program an older garage door opener is:
1) Put NEW batteries in the original transmitter and
2) Hold the original transmitter between one and three inches away from the HomeLink surface until HomeLink learns the signal (refer to our programming section for complete instructions).
If HomeLink has not picked up the signal within a few seconds, position the original transmitter at different lengths and angles.
If these suggestions do not work, you may have a problem with the garage door opener itself. If you chose to contact a garage door opener service technician, be aware that, under FCC regulations, they or anyone else are unable to service the device if it was manufactured before 1982. Many garage door openers manufactured before 1982 do not have the safety stop-and-reverse feature which is now required by law. Some states (NY, IN, CA, MN) require service technicians to totally disable the opener if they find it to be malfunctioning.
WHAT IF I DON'T HAVE A HAND-HELD REMOTE GDO?
You have to have a hand-held transmitter to program HomeLink.
KEELOQ-based Rolling Code Garage Door Openers
The HomeLink unit uses Microchip's KEELOQ
rolling code technology to access some brands of garage door openers. Every KEELOQ-based HomeLink transmission includes 5 parts:
- Serial Number
- Button/Function Code
- Status Code
- Counter Value
- Discrimination Bits
In a given message to be transmitted, these portions are organized as follows:********>********>*******>********>*******>********>
|Unencrypted ||Encrypted |
The HomeLink unit transmits an unencrypted portion and an encrypted portion. The message is transmitted starting with the bit furthest to the right in the above figure and ending with the first bit furthest to the left.
Unencrypted Portion of the Transmission
The unencrypted portion of the transmission includes the status code, the button code, and the serial number.
Serial Number (24 or 28 bits).
Each HomeLink unit has a serial number which the garage door opener reads to distinguish the HomeLink unit from other HomeLink units or other transmitters. The serial number can be 24 or 28 bits long, depending on the garage door opener system, and the lower 8 bits are used to form the discrimination bits. The serial number is loaded from memory for each transmission.
If all else fails, call Homelink at
1-800-355-3515 for help - and write back here what you found out.