Si4703 based RDS scanner for Raspberry Pi using Si4703S-B16 breakout board PL102RT-S V1.5
Connect PL102RT-S V1.5 breakout to Rpi:
RPi | PL102RT-S |
---|---|
SDA | SDIO |
SCL | SCLK |
#23 (GP4) | RST |
GND | GND |
3.3V | Vd |
To make communication more stable connect RST pin to a pullup resistor.
If in addition to RDS scanning you want to listen to radio audio then connect whatever amplifier you have to LOUT/ROUT. Adafruit MAX98306 works just fine.
Make RdSpi. It accepts one command at a time:
- cmd - run in interactive command mode
- reset - resets and powers up Si4703, dumps register map while resetting
- power on|down - powers Si4703 up or down
- dump - dumps Si4703 register
- spacing kHz - sets 200, 100, or 50 kHz spacing
- scan (mode) - scans for radio stations, mode can be specified 1-5, see AN230, Table 23. Summary of Seek Settings
- spectrum - scans full FM band and prints RSSI
- seek up|down - seeks to the next/prev station
- tune freq - tunes to specified FM frequency, for example
rdspi tune 9500
orrdspi tune 95.00
orrdspi tune 95.
to tune to 95.00 MHz - rds on|off|verbose - sets RDS mode, on/off for RDSPRF, verbose for RDSM
- rds [gt G] [time T] [log] - scan for RDS messages. Use to gt specify RDS Group Type to scan for, for example 0 for basic tuning and switching information. Use time to specify timeout T in seconds. T = 0 turns off timeout. Use log to scroll output instead on using one-liners.
- rds - scan for complete RDS PS and Radiotext messages with default 15 seconds timeout
- volume 0-30 - set audio volume, 0 to mute
- set register=value - set specified register
It is better to start with reset
:) Note that reset
requires sudo
to write to reset pin, other commands can be used without sudo
.
$sudo rdspi reset
$rdspi tune 95.00
$rdspi volume 10
$rdspi set volext=1
$rdspi dump
To disable output use --silent
as the last command line parameter:
$sudo rdspi reset --silent
$rdspi tune 9500 --silent
- Si4702/03 FM Radio Receiver ICs
- Si4703S-C19 Data Sheet
- Si4703S-B16 Data Sheet: Not on SiLabs site anymore, google for it
- Si4700/01/02/03 Firmware Change List, AN281: Not on SiLabs site anymore, google for it
- Using RDS/RBDS with the Si4701/03
- Si4700/01/02/03 Programming Guide
- RBDS Standard: ftp://ftp.rds.org.uk/pub/acrobat/rbds1998.pdf