Jeremy Ruhland

Jeremy Ruhland

Electrical Engineering Technology

Senior Project: RBDS Transmitter

June 05, 2014 — Jeremy Ruhland
Project Descriptions
PDF rbds_project_proposal.pdf
PDF rbds_project_description.pdf

The Radio Broadcast Data System (RBDS) is a protocol for transmitting data between commercial FM radio stations to modern digital receivers. It is closely related to RBS, an european standard. Information such as current time, weather, song name and artist is modulated well above the range of human hearing along with the audio signal.


Modern FM radio transmissions contain a modulated pilot tone at 19kHz which informs the radio receiver of the presense of a stereo audio signal which spreads from 23-53kHz. RBDS occupies 4kHz of bandwidth from 55-59kHz, exactly three times higher than the stereo pilot tone.

This digital signal is modulated using a form of Binary Phase Shift Keying (BPSK) carrying a differentially encoded manchester data stream.

The RBDS protocol specifies a number of functions separated into fields, such as Program Service (PS), Program Type (PTY), Radio Text (RT) and Alternative Frequency (AF). RT is of particular interest for this application, as it allows custom messages to be transmitted. AF also has the potential to be used in a novel attack to re-tune nearby radios to a desired frequency.

Repository on Github
Eagle rbds_transmitter.sch
PDF rbds_transmitter.pdf
PCB Layout
Eagle rbds_transmitter.brd
PNG brd.png


This RBDS transmitter is based around an Atmega 328, the same microcontroller used in the popular Arduino development platform. My hope is that this well known and accessible microcontroller will allow a wide range of hobbyists to use this technology.

Onboard PWM generators are used to produce the signals needed to assemble the RBDS waveform and an included LCD screen displays information about the data being transmitted to the user.


The actual radio transmission is produced by a voltage controlled oscillator. The time-domain signal which contains audible and RBDS information is added to an offset voltage which determines the final transmission frequency. This offset voltage is generated by the digital-to-analog converter and can be changed automatically to broadcast on multiple frequencies.


Unfortunately during assembly I discovered that I had not received the DAC chip required to complete the project. In the meantime, I built a makeshift DAC using shift registers and voltage dividers which produced a signal approximating what would be expected from the fully functional DAC chip.

Closeup of SPI data sent to DAC
Analog output from makeshift DAC
RBDS transmitter undergoing testing