For a long time, we had a collective assumption that a Bluetooth-Assist TCU would not work in cars made prior to 2004. However, a few recent installations proved this false. A BimmerBoard member named crds recently installed a TCU in his 2003 M5, a person over on E46Fanatics installed a TCU in a 2001 E46, a few others on M3Forum installed TCUs, and I installed a TCU in my Dad's 2002 M3 (see the reference posts below). The advantage to the TCU is that it costs 1/2 as much as a ULF. My Dad got his new TCU for $345, compared to over $600 for a new ULF (if you can even find one).
Schizophrenic behavior of '03 M5 with both SES and Bluetooth TCU?
OEM Bluetooth kit I put together for $419 pre 03/02 - E46Fanatics
HUGE news regarding the newest oem bluetooth tcu - BMW M3 Forum.com (E30 M3 | E36 M3 | E46 M3 | E92 M3)
The TCU part number we installed is 84.10-9 195 455. It is the newest available, though others will work.
My Dad has a 3G iPhone with the latest OS, and the TCU works perfectly with the iPhone, so this appears to be an optimum Bluetooth solution for a much lower cost. Another advantage, both cost and cosmetic, is that the TCU does not require an eject box. The TCU goes into pairing mode for a couple minutes when you first start the car, so it does not need a pairing button. The only real downside to the TCU is that its voice recognition instructions only control the phone. There are no navigation control instructions like in the ULF and SES modules.
The only challenge is that the factory default coding for a TCU has voice recognition turned off. If you have a SES module, then this is not a problem. Or, if you are buying a used TCU with VR already turned on, this is not a problem. Otherwise, you will need to get VR turned on. I tried every option I could find in Progman/SSS, GT-1, and NCS Expert with no luck. It does not have the options we need for an early year car. Maybe someone who is a true stud with these tools could do it, but it was beyond my ability and desire to experiment. Fortunately kiwijochen, the author of NavCoder and international BMW I-Bus expert programmer, came through.
This weekend, Jochen, my Dad (with his 2002 M3 and new TCU), and I had a Skype call going between Georgia, USA at my house and Jochen in Switzerland. We were using NavCoder to download information from the TCU and send it to Jochen so that Jochen could analyze it and send update instructions back to us. It worked like a champ. My Dad now has voice recognition in his M3. And, if Jochen can incorporate this into NavCoder, we have a way cheaper option for Bluetooth in all I-Bus cars.