Using Skyworks Si4730 FM/AM radio module with Arduino - Page 1
Forum section: electronics / beginners

author: XploD
author_rank: Contributor
timestamp: March 18, 2024, 09:55:18 pm
content: I have a tuner module (from Denon AVR-X1300W) with a Skyworks SI4731-D60 inside. I'm trying to use it with Arduino, but without luck. It's a complete board (with antenna connectors, oscillator, passive elements and everything), see attached images.My module has the following pins: GND, INT, /RST, /CE, SDIO, SCLK, VCC, R_OUT, L_OUT.I meassured it inside the AVR and VCC is 5V and serial communication is on 3.3V.I have an Arduino Nano clone, and a 4CH bi-directional logic level converter. I did the following:- Converter HV -> Arduino +5V- Converter LV -> Arduino +3.3V- Tuner VCC ->Arduino +5V- Tuner GND -> Converter GND -> Arduino GND- Tuner SDIO -> Converter LV1-HV1 -> Arduino A4 (SDA)- Tuner SCLK -> Converter LV2-HV2 -> Arduino A5 (SCL)- Tuner /RST -> Converter LV4-HV4 -> Arduino D12- Tuner /CE -> /- Tuner INT ->/I found this schematic on the example for PU2CLR's Arduino library for those tuner ICs. And I tried the "SI4735_01_POC.ino" example (Test and validation of the SI4735 Arduino Library). But it won't even detect my tuner, I keep getting "Si473X not found!". I also tried the I2C scanner but it doesn't detect any I2C device.Do you have any idea what am I doing wrong? I guess the problem might be in the /CE and INT pins not being connected to anything, although the library and the tutorial found herehttps://pu2clr.github.io/SI4735doesn't mention those pins. I guess the board they are using doesn't have those pins exposed. What should I do with them?PS. I've also connected the audio out to my amplifier, I can hear a pop when I connect Arduino to USB and when I disconnect it, but there's no any sound at all. I guess the IC is muted by default.

author: m k
author_rank: Super Contributor
timestamp: March 29, 2024, 02:06:18 pm
content: /CE is usually Chip Enable, here active low, so probably correctly grounded.Don't know what INT is, maybe Interrupt or Internal.The device has also an address, controller must known it.Can't say anything about the scanner.

author: XploD
author_rank: Contributor
timestamp: March 29, 2024, 06:21:17 pm
content: I haven't connected CE anywhere, it's floating in the air so that might be one of the problems. INT is probably interrupt, yes. But I don't know where to connect them to be able to use PU2CLR's library.But I borrowed Bus Pirate and tried to analyze the communication when it's connected to original Denon's board, take a look on the images in attachment.RST seems to be pulled high, INT low and /CE seems to be used actively by the Denon. It's pulled high when there's no communication, and then it gets set to low while the data is being sent and after that pulled high again.So maybe I should try to connect RST to 3.3V, INT to GND. But what should I do with /CE? Can I just connect it to GND and make it low all the time, or should I find a way to integrate it into the library?

author: m k
author_rank: Super Contributor
timestamp: March 30, 2024, 10:21:09 am
content: /RST is active low reset, so it must be high before anything can happen./CE seems to be active low Chip Enable, if there are no other devices you can leave it low.INT is probably output and not mandatory.

author: XploD
author_rank: Contributor
timestamp: March 31, 2024, 08:53:05 pm
content: I investigated the module today in details and confirmed that all pins are correctly connected to the Si4730 itself:- INT -> you were correct; this is connected to the GPO2/INT (pin 18)- RST -> connected to the RST (pin 5)- CE -> connected to the SEN (pin 6)- SDIO -> connected to the SDIO (pin- SCLK -> connected to the SCLK (pin 7)I've left INT floating, I've connected CE to GND and the rest three I connected according to the following schematic (from the library itself):| Si4735 pin | Arduino Pin || ----------------| ------------ || RESET (pin 15) | 12 || SDIO (pin 18) | A4 || CLK (pin 17) | A5 |(I'm confused by those pin numbers in this docs as the number 1 in front seems to be not needed)But I'm not able to get it working, the library won't recognize it.Maybe I'm doing something wrong with Arduino? I have an Arduino Nano clone from eBay. I've connected SDIO to A4, SCLK to A5 and RST to D12 (the last one). A4 and A5 are supposed to be I2C pins on Arduino Nano and RST is defined like this:#define RESET_PIN 12Maybe this is wrong?

author: m k
author_rank: Super Contributor
timestamp: April 01, 2024, 10:28:20 am
content: So after all /CE seems to be something else than Chip Enable./SEN is for 3-wire control.Datasheet chapter 4.19 (p.26/40) has Control Interface.It says that bus mode is selected when /RST goes up.One can guess that since /SEN is used 3-wire control is also in use.There transaction starts when /SEN goes low.For 3-wire control GPO1 must have a pull-down when /RST goes up.If that is the case, for 2-wire control you must prevent that pull-down.You can also try Arduino scanner.It's simple, you know what it is and it should see you device.With it you can also easily add controlling pins when needed.

author: XploD
author_rank: Contributor
timestamp: April 01, 2024, 12:41:43 pm
content: Now I'm confused even more. This means that I can't use the library that I linked?I really want to avoid manually sending bits to it since it's a rather complex IC with many options.

author: m k
author_rank: Super Contributor
timestamp: April 01, 2024, 05:31:42 pm
content: You can change its operation to 2-wire.Just disconnect GPO1 from its pull-down.The chip has internal pull-up, so 2-wire is a default style.

author: mariush
author_rank: Super Contributor
timestamp: April 01, 2024, 05:44:49 pm
content: In case it helps, Mikroe has a board with Skyworks Si4732:https://www.mikroe.com/amfm-2-clickThey have api and source code free on github :https://github.com/MikroElektronika/mikrosdk_click_v2/tree/master/clicks/amfm2

author: XploD
author_rank: Contributor
timestamp: July 30, 2024, 04:25:50 pm
content: Forgot to answer: thanks guys! I will have my vacation soon so I will try to continue working on this.