The Homelink transmitter was an option on the e46, as well as a variety of other vehicles.
The transmitters are widely available through most of the usual outlets, and can be had used as well.

Installation is about as easy as it gets.

Remove the sunroof switch panel from the car. Use a little finesse when removing it, but it should just pop right out.
Disconnect the sunroof switch, as well as the microphone (if so equipped).

Here's a shot of the transmitter itself, along with the panel out of the car:





Turn the panel upside down after removing the sunroof switch and the microphone cover. Both of these just
pop out of the panel.

You'll see a pre-scored area in the center of the panel. Cut this out using an appropriate knife, or plasma
cutter.



Next, cut an "X" in the fabric where the homelink transmitter will go.

Next, install the transmitter - it was a tight fit but it'll eventually pop into place.




Installation in the car is pretty simple. You'll find a wire off to the side of the sunroof motor, and this will have the connector you need for the transmitter. Reconnect anything that was previously disconnected (sunroof switch, microphone, etc.) Route the wires out of the way and reinstall the panel.

Programming is pretty easy as well, although I found the instructions provided with the transmitter to be useless on my opener. I found a link online (http://www.coderetard.com/2008/10/01...-garage-doors/) and that worked perfectly.

Installation time: 20-30 minutes
Installation Difficulty: 1 (anyone can do this!)