Description: This breakout for the Silicon Laboratories Si4703 FM tuner chip is a little more stripped down than our FM Tuner Evaluation Board. If your project already has an amp and just needs a full-featured FM tuner, this is the board for you. Beyond being a simple FM radio, the Si4703 is also capable of detecting and processing both Radio Data Service (RDS) and Radio Broadcast Data Service (RBDS) information. The Si4703 even does a very good job of filtering and carrier detection. It also enables data such as the station ID and song name to be displayed to the user.
Using this board we are able to pick up multiple stations just as well as with a standard FM radio. The board breaks out all major pins and makes it easy to incorporate this great chip into your next radio project.
Based on 3 ratings:
Teamed up with a 3.3 volt Arduino Pro Mini, a Nokia 5110 LCD display, a Rotary encoder, and an old TDA1517P amp module, the Si4703 Breakout Board made an awesome project I now use everyday.
Got it all running in one rainy weekend. Still some capabilities yet to be explored (RDS and RBDS). Makes for the type of radio project you can keep adding features to (date, time, alarm, etc…). Surprisingly great reception and sound quality. Very happy.
Your product when used with your supplied software is in violation of the Si4703 specifications:
The Si4702/03-C19 seek/tune performance may be affected by data activity on the SDIO bus when using the integrated internal oscillator. SDIO activity results from polling the tuner for status or communicating with other devices that share the SDIO bus. If there is SDIO bus activity while the Si4702/03-C19 is performing the seek/tune function, the crystal oscillator may experience jitter, which may result in mistunes and/or false stops. SDIO activity during all other operational states does not affect performance. For best seek/tune results, Silicon Laboratories recommends that all SDIO data traffic be suspended during Si4702/03-C19 seek and tune operations. This is achieved by keeping the bus quiet for all other devices on the bus, and delaying tuner polling until the tune or seek operation is complete. The STC (seek/tune complete) interrupt should be used instead of polling to determine when a seek/tune operation is complete.
excerpt from Sparkfun provided code:
//Wait for the si4703 to clear the STC as well
readRegisters(); if( (si4703_registers[STATUSRSSI] & (1<<STC)) == 0) break; //Tuning complete!
note that example code from siliabs does not violate the specification.
Sparkfun code can be made compliant with a hardware modification to use an external oscillator but the breakout board makes no allowance for this.
It’ll be quite a while yet until I put all of the pieces together and start coding everything. I hope to be able to plug it in around March of next year.