TEA5767 (+ ATmega8) FM radio

TEA5767 modules make it pretty easy to assemble own FM radio. These modules are popular, pretty cheap ($14 for 10 pcs on ebay), small (~10x10 mm PCB) and easy to interface (I2C and SPI available, can use 3.3V or 5V power supply).

This experimental circuit/code was inspired by http://as.elte-s.com/zrob/radio_tea5767.htm, DIY radio with 89S8253 microcontroller in beautiful wooden housing. I didn't get my hands on similar speaker and didn't decide how controls should look like yet, so this project is not finished.

Module I've used was scavenged from damaged (broken display) 1 GB Philips SA3113/02 mp3 player bought in bulk. Hard to believe, but it was difficult to desolder (contacts could snap off when using force), I've tried bending and solder wick first and ended up with hot air applied from back side.
SA3113 mp3 player
Philips SA3113 mp3 player PCB TEA5767 module from Philips SA3113 mp3 player
TEA5767 module TEA5767 module
Module has following markings on bottom side:

  FXO-55D
  M230-55D
  DS206
  

I couldn't find any documentation for this module, so connectors were identified with help of TEA5767 datasheet. Top side (5 pins) from left to right:

  1. antenna
  2. Vdd
  3. GND
  4. VAFL (audio out, left)
  5. VAFR (audio out, right)
  

Bottom side (7 pins, from right to left, clockwise):

  6. SWPORT1    (may be not connected)
  7. BUSENABLE  (for I2C connect to VDD)
  8. BUSMODE    (for I2C connect to GDN)
  9. WRITE/READ (for I2C connect to GND)
  10.CLOCK      (connect to PC5, SCL of ATmega8 with 3k9 pull-up)
  11.DATA       (connect to PC4, SDA of ATmega8 with 3k9 pull-up)
  12.GND        (photo: visible connection to ground plane)  
  

It seems that there are TEA5767 clones on the market. I've found one inside "generic" (MPF1870?) mp3 player with ATJ2097 SoC.
MPF1870 mp3 player MPF1870 mp3 player PCB

After quick look into datasheet (only Chinese version available?) SP3767HN seems fully compatible with TEA5767.
SP3767HN: TEA5767 clone

This module seems to be replaceable with popular on ebay PL102 or V102. They have 10 pins instead of 12 from Philips and these pins are wider spaced.

TEA5767 module pinout

Similar modules can be also scavenged from S1 MP3 players (marked with [K], see S1MP3 HW spec).

S1 MP3 player

More mp3 disassembly photos and disassembly at anythingbutipod.com.

Spreadsheet helping calculating PLL divider for low-side and high-side injection modes: TEA5767_PLL_div.ods

TEA5767 audio outputs are not intended to drive headphones directly. For test purposes (with reduced loudness and some distortions) headphones can be connected with decoupling capacitor and resistor (560 Ohm or more) in series.

Audio amplifier

TDA7052A seems a good choice for a audio amplifier. While LM386 is cheaper and easier to get, TDA7052A ("A" in symbol is important) allows gain control with voltage. After connecting control input with PWM output of the microcontroller software volume control can be implemented and further i.e. remote control.

After test with Tonsil ZG5S speaker (old 5W, 8ohm speaker from car radio set) maximum gain control voltage was set to ~1V (R1+R2 divider) which results in 20dB gain.

TDA7052A amplifier with volume control

Source code, WinAVR-20090313