MJKennedy

Member Since: April 14, 2011

Country: United States

  • Product COM-11737 | last year

    Glad to help. By the way, what board did you solder this chip to? Or did you make your own custom board?

  • Product COM-11737 | last year

    “AN332 - Si47xx Programming Guide - Rev 0.8” in Appendix B, page 317 says the -D60 has a bug when placed in FM receive mode:

    There is a debug feature that remains active in Si4704/05/3x-D60 firmware which can create periodic noise in audio. Silicon Labs recommends you disable this feature by sending the following bytes (shown here in hexadecimal form):

    0x12 0x00 0xFF 0x00 0x00 0x00

    This is equivalent to setting property 0xFF00 to a value of 0x0000.

    It’s a long shot but it might be worth trying.

  • Product DEV-10342 | about a year ago

    For those who might be interested, I am releasing my version of the Si4735 library. I have put a great amount of effort into this library and spent over a year intermittently working on it. I believe it to be better then other versions out there. I especially improved RDS and RBDS support.

    Project Files

    Features and improvements include:

    • Supports SparkFun’s breakout board (WRL-10906) and Arduino shield (DEV-10342).
    • Supports Uno, Mega 2560, Leonardo, and Due Arduinos.
    • Supports I2C and SPI buses.
    • Supports interrupt signals from radio. Applications can also poll the radio, if they want.
    • Improved localization of receive bands, channel spacing, and FM de-emphasis.
    • Supports RDS/RBDS Program Type Name (PTYN, Group 10A) in addition to Program Type (PTY, all Groups).
    • Supports new (2011) RBDS Program Type codes.
    • Correctly decodes RDS/RBDS date and time.
    • Correctly decodes all RBDS PI codes into the station’s call letters, when possible. It can also handle a mix of RDS and RBDS stations as are found near the US boarders with Canada and Mexico.

    I have included a sample program that lets you control the radio and display RDS/RBDS info with serial port based terminal software such as Putty. This eliminates the need for an LCD.

    I have also included advice in the README file on successfully level shifting between 5 and 3.3 Volts and how to correct the many defects in the Arduino shield, including the not well known AM receive bug.

    Finally, I have included a document I wrote summarizing everything I have learned about RDS and RBDS. This should be a good place to start for others who want to learn how RDS and RBDS works.


    If you worked with previous versions of the library released by Jon Carrier, then you know it would easily crash or malfunction when you started to add more stuff to your program. This is because his library was using most of the available RAM. By storing string constants in flash ROM only, the consumption of RAM by the library has been drastically reduced to about 150 bytes. (Future versions may increase this a little.)

    By the way, Jon Carrier’s library can trigger the infamous “!!!” bug on the Mega 2560. The bug is triggered whenever a program contains three “!” in a row. All Mega 2560s made to-date have this bug. The symptom is multiple timeout messages when uploading your sketch, but it never gives up. To fix Jon Carrier’s library, edit the “Si4735.cpp” file and search for: “ !!!ALERT!!! ”, and change it to: “ ALERT! ALERT! ”,

  • Product WRL-10906 | about a year ago

    For those who might be interested, I am releasing my version of the Si4735 library. I have put a great amount of effort into this library and spent over a year intermittently working on it. I believe it to be better then other versions out there. I especially improved RDS and RBDS support.

    Project Files

    Features and improvements include:

    • Supports SparkFun’s breakout board (WRL-10906) and Arduino shield (DEV-10342).
    • Supports Uno, Mega 2560, Leonardo, and Due Arduinos.
    • Supports I2C and SPI buses.
    • Supports interrupt signals from radio. Applications can also poll the radio, if they want.
    • Improved localization of receive bands, channel spacing, and FM de-emphasis.
    • Supports RDS/RBDS Program Type Name (PTYN, Group 10A) in addition to Program Type (PTY, all Groups).
    • Supports new (2011) RBDS Program Type codes.
    • Correctly decodes RDS/RBDS date and time.
    • Correctly decodes all RBDS PI codes into the station’s call letters, when possible. It can also handle a mix of RDS and RBDS stations as are found near the US boarders with Canada and Mexico.

    I have included a sample program that lets you control the radio and display RDS/RBDS info with serial port based terminal software such as Putty. This eliminates the need for an LCD.

    I have also included advice in the README file on successfully level shifting between 5 and 3.3 Volts and how to correct the many defects in the Arduino shield, including the not well known AM receive bug.

    Finally, I have included a document I wrote summarizing everything I have learned about RDS and RBDS. This should be a good place to start for others who want to learn how RDS and RBDS works.


    If you worked with previous versions of the library released by Jon Carrier, then you know it would easily crash or malfunction when you started to add more stuff to your program. This is because his library was using most of the available RAM. By storing string constants in flash ROM only, the consumption of RAM by the library has been drastically reduced to about 150 bytes. (Future versions may increase this a little.)

    By the way, Jon Carrier’s library can trigger the infamous “!!!” bug on the Mega 2560. The bug is triggered whenever a program contains three “!” in a row. All Mega 2560s made to-date have this bug. The symptom is multiple timeout messages when uploading your sketch, but it never gives up. To fix Jon Carrier’s library, edit the “Si4735.cpp” file and search for: “ !!!ALERT!!! ”, and change it to: “ ALERT! ALERT! ”,

  • Product DEV-10593 | about 3 years ago

    I checked out the sample images on the developer’s web site and the reference poster. Clearly an old Amiga user. The red and white bouncing ball demo was created by the Amiga’s developers to show off its capabilities and the ape picture in the reference poster was used for years by NewTek in their ads for Amiga products. Ahh, the good old days…
    This looks much better than all the other custom video game boards I’ve seen before.

No public wish lists :(