Create project Need help?
  • Labs project

Enhanced Software for Elektor DSP-Radio (Si4735)

Status: Proposal
March 3, 2014
DSP-Radio Radiotext3.jpg

The Elektor DSP-Radio from 2010 was from the first time open to additional features thanks to the great software programmed in BASCOM by Burkhard Kainka that is very well documented. Now I found the time to add some features to the original firmware. The main goal was to implement the decoding and automatic display of "Radiotext" .Radiotext is a feature of RDS that many FM-stations are using to display additional information .

Another goal was to extend the handling of the scan-function and of the preset memory stations and to control the RS-232 functions with the encoder and the push-buttons. Following is a list of the implemented enhancements:

  • automatic decoding and display of Radiotext as scrolling text
  • AUTOSCAN-function for FM and AM (separate for each band); scans complete band and stores all found stations in memory
  • 50 memory-positions for FM, 10 for LW, 10 for MW, 3x10 for SW
  • station-name of AM-stations can be input with the rotary encoder (up to 10 digits)
  • additional SW-BC-Bands added according to Wikipedia-entry
  • all 16 important properties of the Si4735 can be set with the onboard rotary encoder
  • all parameters/properties and the last setting are stored in EEPROM and automatically recalled after power-on
  • nearly 100% downward-compatibility to original firmware (all RS-232 commands are unchanged)
  • decoding of a lot of additional RDS-infos over USB/serial output
  • manual frequency step can be set to 10kHz(FM) / 1kHz(AM) for fine frequency tuning
  • PWM-output for analog panel meter can in FM-Mode be changed from signal strength (RSSI) to stereo-signal (=channel separation), frequency-offset (tuning-error) or SNR
  • European RDS character-set nearly fully implemented by mapping to EADOGM character set
  • Special characters on LCD defined for indicating Stereo-reception, RDS-reception and Radiotext-reception
  • 10 predefined LW and MW-stations in EEPROM (EEP-File in Intel-Hex format)

I had to switch to an ATMega 328P to implement all of the features. In the end even this controller (the "biggest" ATMega-type in 28pin-DIP package) had not sufficient memory for all additional features I had in mind. The ATMega 328P is pin- and function-compatible to the ATMega 168 but with larger Flash-ROM, RAM ans EEPROM. It can be directly swapped with the original ATMega 168 and be programmed in place, because the DSP-Radio has the standard Atmel SPI-programming header on board.

The source-files, HEX- and EEP-Files, explanation and extensive feature list is attached. Please feel free to try out and report any bugs or suggestions. Due to the many new features I couldn't test all of the new features in depth.

A user on the MCS Bascom-Forum gave me a hint, that SiLabs had made some changes in a new version if the Si4735. Especially some register-adresses are changed. I think that most users of the Elektor DSP-Radio have the "old" version of the chip. Pleade give me a note if You have the new one (-D60) so I can prepare a patched firmware file.

Kind regards Roger

Read the full post
Show less


Static Radiotext
Scrolling Radiotext
Starting FM-Bandscan
During FM-Bandscan
Loading comments...