FM Radio for C64


Listen to your favourite radio stations on your Commodore.

You can get these RDA5807 based FM Radio modules from Ebay etc. with ~5 Euros. There are at least two different modules available - one with RDA5807SP chip and one with RDA5807P. Both of these seem to be working. The one with RDA5807P is a bit smaller than the one with RDA5807SP but it lacks the power LED... easy enough to add your own, though. It already has all the components you really need.

 

 

 

Connecting this to Commodore 64 User port is done simply like this: 

 C64 Pin
 Pin Name
 RDA5807 Module pin
 1
 GND
 GND

 

 2
 +5V
 VCC
 C
 PB0
 DAT
 D
 PB1
 CLK
    C64
User port

 

 
 
 

It seems to be that separate pullup resistors for I2C DAT/CLK -lines are not needed and module already has resistors for this. Seems to be working just as well with or without additional pullups.
You propably want to attach an antenna ( ~96cm long wire should be just fine) to the antenna pad.
The module has a 3.5mm stereo audio connector to pass the audio to headphones / active speakers / your monitor's audio input connector.

Here is the module wired (experimentally) to C64 user port:

Some pictures of the module put into plastic enclosure with required connectors and power switch.

... The hole in the box cover is so that you can see the LED being lit..

Here is another one attached to my C64 Tower

 

 

 

The SW part:

There are three different ways to control the chip via I2C-bus:
 a) Address 0x60 (TEA5767 compatible mode)
 b) Address 0x10 (sequential access / RDA5800 mode)
 c) Address 0x11 (Random access / RDA5807 mode)

TEA5767 compatible way is the most simple way. However this doesn't make it possible to
Alter volume, set Bass Boost etc. I haven't really looked into the sequential access mode.
This SW uses Random access mode since that should enable all the controls supported by the chip.

The SW is written in C and compiled using CC65 compiler. Check the readme in the zip file. That and picture above should give a pretty good idea of the features included.

TODO:

- If somebody actually requests that there should be a way to configure this for use outside Europe (?)  perhaps add config file parameters for 50/75 us de-emphasis and  FM-Band (Currently only 87-108MHz supported... 76-91MHz or 76-108MHz bands are not supported)

- The audio provided by the module seems to be quite loud. With volume set to 50% it is already very loud. Also with volume set to minimum you can still here the audio quite well. Need to think if there is something to be done for this...

- There seems to be some current leak from the PB0 and PB1 when device is powered off (VCC disconnected). You can see the LED being weakly lit in the module... Perhaps use and ON-ON -switch so that when switch is set to power disabled state the VCC of the module is grounded through a resistor ???

 


 

Downloads stored on Commodore 8bit for archival.

 
Feedback is appreciated.
These modules are actually small enough to be easily fitted inside C64 case if you don't use user port for anything. Comments / improvement ideas are very much appreciated. I guess nobody wants to fry their precious C=64... So, if you brick your computer doing this I deny any responsibility :)