Hello all! I recently ordered an SI4707 breakout board from SF. I hooked it up to my Arduino Uno per SF’s hookup instructions, changed the tune frequency to my desired station, complied the code, and uploaded it. When I open the serial monitor, it says that it cant communicate with an SI4707. From the code, something is hanging up when the code trys to establish communication with the SI4707…
Any ideas on how to trouble shoot this? I know the 3.3V and GND on the UNO are working. I have the baud rate set correctly…
Not sure how to verify that the I2C pins (SCL and SDA) are working correctly…?
I also tried code from www.raydees.com that was supposed to function almost identically but still no joy…
Any trouble shooting ideas would be greatly appreciated!
I have been experimenting with the Si4703 FM breakout board. I initially had problems. The Si47## boards need a specific power up sequence to ensure the I2C interface is selected and configure. One has to bring the reset pin low for a time period. I found the Dr. Simon Monk’s library the correct information. It is a better library to use. You may have to change things for the Si4707 chip. The programming reference is available on line. Search on the chip number and you should find it.
I normally do an I2C scan to confirm the device’s address first before doing anything. When the scan program failed, I started looking on the web. Here is a code snippet that I used to ensure the Si4703 would start and confirm its address:
// start up si4703 correctly
pinMode(2, OUTPUT);
pinMode(A4, OUTPUT); //SDIO is connected to A4 for I2C
digitalWrite(A4, LOW); //A low SDIO indicates a 2-wire interface
digitalWrite(2, LOW); //Put Si4703 into reset using pin 2
delay(1); //Some delays while we allow pins to settle
digitalWrite(2, HIGH); //Bring Si4703 out of reset with SDIO set to low and SEN pulled high with on-board resistor
delay(1); //Allow Si4703 to come out of reset
// the above works for Si4703
The above code needs to executed before starting the I2C interface. I hope this helps.
Thanks! Ill take a look at it when I get some free time.
I have decided to scrap the code from the internet and write my own, so im sure ill end up incorporating it. SI has a bunch of support literature for the SI47XX series… so I got that going for me… which is nice!
Has anyone removed the two resistors on the breakout board connected to SDIO and SCLK and shorted the pins straight to 3.3V? I get the error msg “Didn’t connect to an Si4707…Error: 0” and I have read from a couple different people that removing the resistor fixed their comms problem.