Main Content

I2S(inter-IC sound bus) output FM Tuner using RDA7088 with NEC protocol IR remote control using PIC10F200 microcontroller.

I2S output FM Tuner using RDA7088. I2C bus controlled by PIC10F200. 48ksps 16 bit stereo output. Channel selection using IR remote control.

RDA Microelectronics make RDA7088N is a simple FM Tuner with stereo output. As per datasheet we need not to have a host to program this FM Tuner IC. Just connecting 5 pushbuttons you can make a standalone FM radio receiver. The audio output from the IC is capable of driving pair of 32 ohms speaker.

You can control power ON/OFF (PDN-1), Channel seek+(8) /seek-(7) and Volume adjustment using VOL+(16)/VOL-(15).

The internal operation is controlled by a tiny FSM(Finite State Machine) inside the IC.

I had few RDA7088N ICs and did testing with breadboard along with DIP to SOP16 adapter. Everything works as per datasheet. Decided to make a small breakout board with 3V battery for standalone operation.

While making the layout noticed there are two VDD pins (6 and 10). Unable to fix the trace width. Went back and did some testing again in the breadboard. After few tests, able to conclude pin#10 is the actual VDD and Pin#6 is nothing to do with VDD and does not require wide track or de-coupling cap near the IC pin. After comparing few data sheets from RDA family ICs in SOP16 package, I realized the pin#6 is a INPUT PIN which is used to control the functionality of the IC. If you connect the RDA7088 IC pin#6 to VDD then the FSM is active and you can control the IC with momentry switches connected to pin# 1,7,8,15&16.

If you connect the RDA7088 IC pin#6 to GND then the IC will function as a I2C controlled stereo receiver with RDS and I2S features!!!

Initially tested the RDA7088 with pin#6 GND along with Arduino UNO using few FM Radio sketches. And it worked very well. Just for listening to radio, I do not want to carry and feed an Arduino UNO with battery. So decided to adopt some small low pincount microcontroller.

I had few PIC10F200 in SOT23-6 and DIP-8. Decided to give a try. It worked well with I2C and 2 buttons. Decided to add IR infrared remote control so that I can add any functions in future by just using only one input pin. Since GP3 is input only pin it is decided to use that pin for IR remote control input. After successful implementation on PIC10F200 with I2C protocol I was too curious to explore the I2S feature of the RDA7088 IC. Looking through datasheet and after doing some simple tests using PIC10F200, able to implement the I2S output from RDA7088 with IR remote control.

There are many Arduino sktches available for FM Tuner using RDA5807M, TEA5767, Si4703 or AR1010 etc., for easy testing through I2C bus.”

Link to article