RDS/RBDS decoder with optional FM stereo receiver using PIC18F452
This project supports both RDS (Europe) and RBDS (USA) Tuner FM band 88..108 MhZ (Europe and USA.)
You can choose between a 4×20 character LCD or a smaller graphical LCD to display data. A simple RS232 interface can also be used.
A 4×20 character LCD module will display these:
- 1st row: Station name (PS), Quality, Program Identification (PI), Traffic Program (TP) and Announcement (TA)
- 2nd row: Time and Date (CT)
- 3rd row: Radio Text Line A (RT) 64 scrolling characters.
- 4th row: Radio Text Line A (RT) 64 scrolling characters.
All major parts are available from our online shop.
Schematic & pcb (Eagle 4.11e), hex file available. Last updated on December 12, 2007.
The schematic consists of two major subcircuits:
The actual RDS/RBDS Decoder with the PIC and the display.
The FM Stereo tuner with headphone amplifier.
If you want to build this decoder into an existing tuner, then you won’t need to rebuild the tuner part of the circuit. All you need to do then is to look for an MPX-signal in your existing tuner. This is usually found before the stereo decoder chip. This MPX signal must then be fed to the TDA7330 through a 47nF capacitor.
The circuit needs a couple of seconds of valid RDS/RBDS data before driving the LCD.
Quality indicator: a stable arrow (first row on the LCD) means the reception is good. Blinking arrows however indicate no valid RDS/RBDS data is being processed (signal too weak or station transmits no RDS/RBDS data.)
Digital tuning and volume control: the joystick gives us to have full control over the circuit. Last values are stored and reloaded on boot.
You’ll have to choose a 4×20 character LCD or a smaller graphical LCD to display data. The smaller graphical LCD is best suited for portable applications, whereas the larger 4×20 character LCD is best for fixed receivers (f.e. in your car). Which display is driven can be chosen when booting: joystick-left for the 4×20 and joystick-right for the smaller LCD.
The RS232 interface also shows all decoded data properly (see the screenshot below.)
|TDA7330||RDS/RBDS decoder chip. Needs an MPX input in order to decode RDS/RBDS data.|
|PIC18F452-I/L PLCC||This Microchip PIC microcontroller does most of the work: it looks for valid RDS data, then drives the LCD.|
|Graphical LCD||Nice little graphical LCD LPH7779 (Nokia 3310 LCD) Low power and best for portable use. Contrast adjustment by pressing volume up or volume down whilst booting.|
|LCD Module 4×20||Standard 4-lines x 20-characters LCD module. Best choice for fixed receivers.|
For more detail: RDS/RBDS decoder with optional FM stereo receiver using PIC18F452
From Schematic to PCB Production, Just Need One Tool
Free Circuit Design Software: learn to use Editor quickly and easily
Cheapest PCB: 10pcs 2-layers 10cm×10cm only $8.21, 3-day build time, 100% E-test
Current Project / Post can also be found using:
- arduino rds radio
- rds receiver
- rds receiver for pic