Enhanced Software for Elektor DSP-Radio (Si4735)
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 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.
http://www.mcselec.com/index2.php?option=com_forum&Itemid=59&page=viewtopic&p=63532
Kind regards Roger
Build This Project
Bring this design to life with the Elektor PCB Service, powered by Eurocircuits. Upload the project files and order professionally manufactured PCBs or assembled boards through a proven European production platform.
Supporting KiCad, Eagle, Gerber, and ODB++ formats, the service is suitable for everything from prototypes and validation builds to series production and volume manufacturing.
Made in Europe. Fast. Reliable. Professional.

Discussie (1 opmerking(en))