Unlock the power of your FM Radio with xFM Radio with RDS, TMC, more

xFM03 The FM Radio that’s built into many of HTC’s new devices is not very useful.  It turns out however, like most of HTC’s devices, the hardware has hidden power, which has now been unlocked by flywhc on XDA-Developers.com.

In his own words:

Many people ask questions about FM radio in the forum can be solved by this project.
Problems to be solved by this project for on HTC diamond/Raphael/blackstone etc:
* Does FM Radio supports RDS text and traffic information?
* Does FM Radio supports more than 20 saved channels?
* Can I give a channel a friendly alias, such as "BB Radio 4" rather than 920.2MHz ?
* Does FM Radio supports automatically or manually change frequency when signal getting pool during travelling?
* Does FM Radio support RDS-TMC traffic information for navigation system?
The answer is yes. The Bluetooth/FM radio chip BRF6350 on your phone is very powerful but HTC FM radio only provides basic functionality and unfortunately HTC doesn’t publish FM Service API to us.
So I disassembled FM player by using IDA pro and know usages of FMS api.
After a week sleepless night, I wrote my FM radio tool, xFMRadio, utilizes most functions provided by FMS API, provides RDS and other data for further research. With help from this thread, we have exposed most secret of FM and RDS system on HTC devices and we can make useful applications now.

Supported devices so far:
HTC Diamond
HTC Raphael (not CDMA yet)
HTC Blackstone
HTC Polaris
SE Xperia X1
HTC Rhodium
HTC Topaz

BeemerTPPC has used the API’s uncovered to develop a TMC gateway which works with the iGo Navigation package. Traffic Message Channel (TMC) is a technology for delivering traffic and travel information to drivers encoded in FM radio station broadcasts.

The whole development is quite exciting and can potentially save a lot of money in traffic information subscriptions in countries where TMC is free, and of course save one a lot of time when driving.

Read more about this software in this XDA-Developer thread and don’t forget to donate, even if its only a small amount.

Thanks Michael for tip.