Retired!

This is a retired product, but fear not as there is a newer, better version available: WRL-10663

Creative Commons images are CC BY-NC-SA 3.0

Retired RETIRED

This product has been retired from our catalog and is no longer for sale.

This page is made available for those looking for datasheets and the simply curious. Please refer to the description to see if a replacement part is available.

Replacement: WRL-10663. The new version is being built with a surface mount headphone jack. This page is for reference only.

Description: This is an evaluation board for the Silicon Laboratories Si4703 FM tuner chip includes an amp and a headphone jack, and that's everything you need to get up and running! 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. Also, by plugging headphones into the 3.5mm audio jack, you effectively use the cable in your headphones as an antenna! Therefore, this board does not require an external antenna if using headphones or a 3.5mm audio cable longer than 3 feet.

Documents:

Replaces: WRL-08972

Comments 58 comments

  • Is there a way to adjust component values on this board so the chip can receive on the 2m ham (144-148 MHz) band? How about 70 cm (420-450 MHz)?

    • I second this request. Does anybody know of a good miniature receiver for the 144-148MHz amateur band? I think with these digital tuning chips, the local oscillator is derived from the crystal so you would have to change the crystal/oscillator input frequency to change the tuning range. I don’t think it would work moving all the way to 70cm, but it might work okay on 2m.

      • I just did the calculations and I think with a 49 kHz oscillator input, it will tune on 129-168 MHz. No idea if this will actually work, or if the LNA response at those frequencies is too poor, but it might be worth a shot.

        • The LO is a VCO internal to the chip. The IF is only 128KHz, so I doubt the VCO can tune much outside what is needed for the FM broadcast band. Also, the prescaler has a limited range centered on 32KHz. Aside from that, this is wideband FM only, the average repeater wouldn’t sound too great. If you want to try to bend something, start with the Si4707 Weather Band chip, that’s at least close in frequency and is narrowband FM. May 2011 QST has an article on a 2M fox transmitter based on a 144MHz transmitter chip, maybe you can contact that vendor to see if they are going to build a matching receiver.

  • This + ClocKit = Epic win! Make your own clock radio!

  • Its too bad that the breakout wasn’t made for the si4735 with AM and shortwave capabilities.

    • Once you see the antennas for SW vs. using headphones, you’ll see why we wanted to have two separate products.

  • This is great! I very much appreciate the board. I actually was waiting for a breakout board for the SI4735-C40-GU chip (http://www.sparkfun.com/products/10227). This has AM, SW, and LW in addition to FM. Nate, any chance of getting one???

    • I would love to see the same thing! A shortwave radio would be interesting.

    • I agree! There’s talk of a shield/breakout board for the more complex IC. I pushed faster for this one because we needed an FM receiver replacement. We’ll try to get the other, fancier products up soon.

      • Nate any idea when you’ll have these back in stock or when you’ll have a shield/breakout board for the more complex IC?

  • in the sample code there is a mention of AN243 document, here’s the link to it

    AN243

    IDK, maybe you found it already, but I hope it helps.

  • i not able to read a ps text of rds….any help??

  • GREAT product. I inadvertently hooked it up to 5v on my Arduino UNO and found it worked fine with the library linked above (with a couple changes for Arduino 1.0 headers), except the RDS stuff.

    So, to try to debug it, I added a print(registers[RDSD]) inside the main loop, and apparently that gave it just enough delay to work perfectly – so if you’re getting nothing from it, maybe try tweaking the delays.

    But, you probably don’t want to roll the dice and see if you are so lucky with 5v.

  • Hi,

    I want to interface the Si4703 FM Tuner with an arduino R3. Can I use the code available? It’s crucial to shift the i2c levels to 3.3 V in order to be able to communicate with the tuner?

    Thanks in advance for your answers.

  • How can i add and connect an extern antenna to this breakout board ?

  • I have a question on this. I’m looking at possibly using a Raspberry Pi Computer to make a double din car stereo, and was wondering if there is any way to hook up the car’s antenna to this little guy. I’d like to replace my current radio with a custom made media player so I can have video, radio, and internet all built into my car.

    It’s not really required I guess, as long as the normal antenna system works. (may just run a 3foot+ male 3.5mm jack directly into the pc’s mic/line in, and could possibly work fine, but I’d rather have the better car antenna)

    Thanks for any response.

  • On the point of supply voltage. DO NOT CONNECT Vcc to 5V. Several people have reported destruction of the device if you do this.
    This is not recommended, but I have used mine fine by leaving IO pin levels at Ardunio 5V, without any level conversion, but powering the breakout board at 3.3V from the Arduino’s 3.3V connection.
    It didn’t break mine, but that doesn’t mean it won’t break yours. So don’t blame me if it kills it!

  • I have wrapped up the code that comes with this FM receiver from Sparkfun into a library.
    I also took the opportunity to tidy things up a bit and fix the RDS.
    Help yourselves….
    Instructions and download here: http://srmonk.blogspot.com/2011/09/sparkfun-si4703-fm-receiver-breakout.html

  • Wished this worked on 5v MCU :(

  • No matter what I did I cant make it work.I’m very disappointed.Yesterday I received the circuit and its been 4 or 5 hours Im trying to figure out the problem.I did pay attention especially about 3V3 connection, can be the breakout board broken or maybe damaged ?

  • I managed to get the radio text scrolling on the serial connection using Nate’s code and some minor modifications. I have uploaded the code here. Feel free to use it however you want. There is no error checking, so there will be errors depending on the signal strength. You can also scroll the raw hex using option 7 now, so you can see what is going on.

    • Great job siren. Really nice that you got this to work. I have been looking for sometime and trying my self to do what you have done. Thanks very much for posting the code.
      Take care,
      Kevin

  • I am having a few issues with my breakout board. The first issue has to do with the Si4703 FM Tuner and the Arduino not powering up correctly. I think it has something to do with ground because if I wiggle the USB connector and hit reset it’ll work. Even if I try to re-upload the sketch it still won’t power up. I know it’s not Arduino Uno because I don’t experience that problem with any of my other projects. The second problem that I am have is I get audio pop when I first power up the Arudino. Is anyone else experiencing these issues?

    • I get a small pop when the chip is first enabled, but before I’ve configured it (channel, volume etc). Read the datasheet for the required delays between chip enable, radio enable, and initial user settings.

      • Are you experiencing the other issue with having to wiggle the USB power connector?
        And as far as the pop noise goes, I think it’s caused by the amplifier (TPA6111A2). I took a quick look at the datasheet and it mentions something about the amplifier having pop reduction and there is a section about MIDRAIL BYPASS CAPACITOR on page 16. Apparently that pop noise is common with most amplifiers and normally all you have to do is delay when the amplifier comes on, but how do you do that with this breakout board?

        • I’m using a Parallax Basic Stamp, so I can’t help with the Arduino. C9 on the breakout board is the bypass cap. The pop on mine is barely audible, I only notice it because I run the output to a pair of amplified computer speakers and not a headphone. Make sure all of the voltages at the breakout board are 3.3V max, including the pullups on the I2C bus. Make sure the RST pin is held high after your startup routine (there’s a mistake on the Sparkfun schematic that says to pull RST low to enable).

  • Thanks for producing the breakout board. I’ve gone through about 5 of the standalone chips and burned most of the pads off the package. Are there plans to do a breakout board for the FM transceiver version? A little larger board with holes for standoffs would be great! Thanks again.

  • This board sells very well. Would be nice to see more comments (with links) from people who have been able to get more from the RDS side of the chip. I have found the best way to understand more of what is happening is to output the data in hex. The look at the specs for the RDS data format. I’ve not been able to get a clear grasp of the “addressing” of the text that is output.
    Kevin

  • Do I need to use a logic level shifter if I want to use this board with an Arduino or will it happily accept 5V on the I2C bus? I’m currently using a 4050 to shift to 3.3V but my board is not responding…

    • 3.3V only. I am using a 3.3V arduino.

      • Thanks. I realise that my level shifting with a 4050 won’t work as i2c is bidirectional. I guess I need to find some way of level shifting i2c first.

        • Finally got my SI4703 board working with a regular Arduino by using a PCA9306 and 4050 to shift the I2C/reset levels. Perhaps future boards could use SPI which is far easier to shift. My understanding is that the chip supports SPI but the design of the breakout board does not(?)

          • It’s a bit late for you, but it may help someone else… the beauty of i2c is that is an open drain bus: meaning that you (not the IC) pulls it high. Just pull the two lines to 3.3v instead of 5v, and both 5v and 3.3v devices can still talk over the bus (since 3.3v is still logic high on every IC I have seen).

            May not be quite in the i2c spec (I am not sure, I am not an EE), and you may not want to do this for a commercial project, but I have done this for my own projects and it works beautifully!

  • Has anyone gotten RDS to work? I was able to download all the documents for the SI47XX from the silabs website. The liked file includes sample code.
    http://hotfile.com/dl/113705984/ec093d4/Si4703.zip.html

    • I just hooked this up today and have noticed what I think is the same thing you have. More or less random RDS data. I think you will find that what is being decoded and displayed with the demo software is the raw RDS data and therefor it looks like almost random data. If you look at the data sheet for decoding the actual data it is a bit of a task. If anyone has done more in this regard…
      Kevin

      • I’m not sure it’s raw RDS data because it sometimes displays actual station information. On another note, I found the FM Radio Arduino Shield from curious inventor. It uses the i4701 FM tuner chip. I’m pretty sure it basically the same thing, however, I believe the code is written for three-wire control, where as sparkfun’s code is written for two-wire control. I’m trying to figure out how to wire sparkfun’s breakout board for three-wire because the curuious inventor’s code has a class, which looks a lot easier to work with.
        You can find it here: http://store.curiousinventor.com/fm-radio-arduino-shield.html

        • Well it’s, from what I can tell, raw in the sense that the station call sign comes over “in the clear” in one line but the song title “fills in” over several seconds and you have to piece it together your self with your software with this chip. If you look at the code from curiousinventor he is doing the same as far as I can tell.
          Kevin

          • Any luck getting it to work?

            • A small part but nothing in code. I have been trying to sort out how the addressing is done. I changed the example code to output hex and then see what text is comming out and then what “address” data is with it while attempting to decode the RDS data format…
              Kevin

  • Ooopps i accidently gave this thing 5Volts. And its all gone now. :)

  • What would be the most appropriate way of using a separate antenna and audio amplifier with this breakout board? Would it work reasonably well if I just hooked them up to the jack?

    • I also would like to know about hooking up a separate antenna and audio amplifier.

      • The antenna connection is Pin 2 of the SI4703. It is connected to the shield (ground) of the headphones via C5. This keeps the low frequency audio out of the chip. You would need to cut the trace between C5 and L1 and solder the antenna wire to the free end of C5. Keep C5 between the antenna and the chip.

  • Using the example sketch, everything works great except for RDS. At first I thought it was because of the length of the cable, but that’s not it because when I display the status it says RDS is available for that station. However, when I poll for RDS I get bunch of scrolling text, but nothing legible.
    Any suggestion?

  • Any chance we could have a breakout board for some DAB digital radio modules such as the Frontier Silicon Venice 7?

  • In the comments of the example source code there is a request for RDS documentation for the chip - it can be found here:
    AN243: Using RDS/RBDS with the Si4701/03

  • I’ve never been so happy in my entire life as I am right now. Excellent work, folks!

  • Just a quick glance at the example code showed an interesting comment around register 0x07. Try preserving the reserved bytes:
    si4703_registers[0x07] |= 0x8000; //To enable the oscillator and retain the contents of the register?

  • Nice!!! the price is also great!! great job people!

  • Wish I’d known about this yesterday when I placed an order!

  • this is the most awesome release from sparkfun. thank you very much!

    • Yeah, this is epic. If only the digital radio chips didn’t cost so damn much. FCC was asleep at the wheel when they made a proprietary technology the digital radio standard.

    • Thanks! I was pretty impressed with the reception of the IC once we got it working. This IC is ‘known’ to the production crew as being fairly evil but I think we’ve got yields up pretty well.


Related Products