Skip to content
forked from jjcarrier/Si4735

Silicon Labs Si4735 LW/SW/AM/FM Stereo/RDS single-chip receiver HAL library for Arduino

Notifications You must be signed in to change notification settings

csdexter/Si4735

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arduino Si4735 (and family) Library

Written by Ryan Owens for SparkFun Electronics on 5/17/2011
Altered by Wagner Sartori Junior <wsartori@gmail.com> on 9/13/2011
Actively being developed by Jon Carrier <jjcarrier@gmail.com>
Refactoring, cosmetic changes and I2C mode by Radu - Eosif Mihailescu <radu.mihailescu@linux360.ro> 3/29/2012
Painstaking hardware testing by Todd Scott Canaday <tcanaday@memphis.edu> 4/03/2012
I2C bug fixes pointed out by Ray Dees 4/03/2012
Bug spotting in begin() -> setMode() interaction by Albert Tejera 5/24/2012

This library is intended for use with the SparkFun Si4735 Shield or Breakout
Board, however it should work with most Si47xx chips that share the same command
language. At the time of this writing, the list includes: Si4704->Si4707,
Si471x, Si472x, Si473x, Si4784 and Si4785.

Originally released under the 'Buy Me a Beer' license (if we ever meet, you
buy me a beer).

To the furthest extent that this is legally possible, the fork maintained by
Radu - Eosif Mihailescu and published here https://github.com/csdexter/Si4735
is hereby released under the LGPL version 3.
To the furthest extent that this is legally enforceable, the copyright remains
with the authors listed above.

See the example sketches to learn how to use the library in your code. Note
that the RDS decoding functionality has moved to the RDSDecoder library.

HARDWARE NOTES:
 * The Si4735 is a 3.3V I/O chip whereas the Arduino Uno/Mega are 5V I/O. This
   means you will need to use logic level shifters if you are trying to use
   the Breakout Board version with the latter.
   If you're using the Shield, you should be OK save for a few fatal design
   mistakes SparkFun introduced. There are various ways to work around those, my
   personal recommendation is that you go for a real level shifter.
   Please note that BOB-12009 is cheaper than BOB-11771 mainly because it's a
   lot slower. For casual applications speed shouldn't matter, but if you need
   to push the SPI interface to its limit, go for the expensive version if you
   need to translate between a 5V I/O Arduino and the Si4735. On the same vein,
   ONLY the BOB-11955 will work for logic level shifting in I2C mode.
 * If you're using the Breakout Board, make sure you tell the code whether or
   not you connected a 32768Hz oscillator to the RCLK and DCLK pins. See the
   schematic for the Shield for reference.
 * Quick connection reference:
   SPI Mode, Si4735 -> Arduino:
     SDIO      -> MOSI    (Arduino output)
     GPO1      -> MISO    (Arduino input)
     SCLK      -> SCK     (Arduino output)
     #SEN      -> SS      (Arduino output)
     #RESET    -> D9      (Arduino output)
     GPO2/#INT -> D2/INT0 (Arduino bidirectional)
   I2C Mode, Si4735 -> Arduino:
     SDIO      -> SDA     (Arduino bidirectional)
     SCLK      -> SCL     (Arduino output)
     #SEN      -> tied high or low, tell the code which one with
                  SI4735_PIN_SEN_HW*
     #RESET    -> D9      (Arduino output)
     GPO1      -> left floating
     GPO2/#INT -> D2/INT0 (Arduino input)
                  or (left floating or tied high, if not using interrupts)

For general questions and updates on this library please contact the fork
maintainer at <radu.mihailescu@linux360.ro>.

About

Silicon Labs Si4735 LW/SW/AM/FM Stereo/RDS single-chip receiver HAL library for Arduino

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.9%
  • Other 23.1%