-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
45 lines (40 loc) · 2.4 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Arduino Si4703 (and family) Library
This library is intended for use with the SparkFun Si4703 Evaluation or Breakout
Board, however it should work with most Si470x chips that share the same command
language. At the time of this writing, the list includes: Si4700->Si4703.
To the furthest extent that this is legally possible, the fork maintained by
Radu - Eosif Mihailescu and published here https://github.com/csdexter/Si4703
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 RDS decoding functionality is implemented by the RDSDecoder library.
HARDWARE NOTES:
* The Si4703 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
either of the SparkFun boards with the latter. The chip technically
supports two interfaces, I2C and a one-wire version of SPI. Since the latter
is non-trivial to bit-bang on the Arduino (not being true SPI), this library
only uses I2C to talk to the chip. In that context, ONLY the BOB-11955 will
work for logic level shifting the I2C lines if using a 5V I/O Arduino. For
the other lines (#RST, #SEN and #INT), you can use any of the level
translator boards in SparkFun's offering. Note that #RST is special because
it already has a pull-down on board, which means the very old
resistor divider-based translator will not work -- just use a 10K resistor
in series with the #RST line in that case.
* The library assumes an external 32768Hz crystal oscillator is present and
properly connected to the chip, as detailed in the datasheet. If that's not
the case, you will have to tell the library and provide the reference clock
yourself via other means.
* Quick connection reference:
I2C Mode, Si4703 -> Arduino:
SDIO -> SDA (Arduino bidirectional)
SCLK -> SCL (Arduino output)
#SEN -> SS (Arduino output or tied high to select I2C mode)
#RESET -> D9 (Arduino output)
GPO1 -> left floating
GPO2/#INT -> D2/INT0 (Arduino input)
or (left floating, if not using interrupts)
GPO3 -> left floating
For general questions and updates on this library please contact the fork
maintainer at <[email protected]>.