pu2clr / SI470X

It is an Arduino Library for the SI4702 and SI4703, BROADCAST RECEIVER.
MIT License
22 stars 13 forks source link

Problem with rx.setFrequency(); #4

Open Scugnizzo opened 6 months ago

Scugnizzo commented 6 months ago

Hi and thank you for you useful library. I've recently installed your library and I want to use it with a SI4703 board connected to an ESP32. But when I use rx.setFrequency(), the program freezes. After an accurate control, I've found that the programs run infinitely on the first while contained in the waitAndFinishTune() void.

the hardware connections are OK, and if I run checkI2C(), the hardware is correctly found at 0X10 (I2C device found at address 0x10 done). If I ask for the partnumber and other informations, all is correctly showed, but the firmware value is 0 (device not powered up?) can you help me to found the problem ?? Thank you.

Fishbone69 commented 3 months ago

@Scugnizzo , @pu2clr I have run into the exact same issue using esp32-s3. I was wondering if this had been worked? As far as I can tell, it is exactly the same place waitAndFinishTune()- in this line of code:

do
    {
        getStatus();
    } while (reg0a->refined.STC == 0);

The code is executing getStatus(); but it seems reg0a->refined.STC == 0 condition is the problem.

@Scugnizzo can you confirm some more information about your configuration? For instance...I am running with the following:

  1. External Reference Clock - no crystal
  2. On Si4703 GPIO2 - not connected
  3. On Si4703 GPIO1 and GPIO3 = +3.3v (High)

Let me know if I can assist in any way.
Appreciate any help!

Fish

Fishbone69 commented 3 months ago

I did some more digging. There is a post here which suggests other people experience this as well with this library: https://forum.arduino.cc/t/esp32-si4703-fm-module-not-responding/1184277

Their solution was to use a different library - but I would like to see if we could resolve this. Ricardo put a lot of work into these libraries and I'd like to stick with this one if we can make it work. I am just not very experienced enough a coder to know where to go from here.

I also ran the CIRCUIT TEST sketch and got this:

I2C bus Scanning...

I2C device found at address 0x10

I2C device found at address 0x68
done

PN........................:1    
Manufacturer..............:1    
CHIP Version..............:4    
Device....................:1000 
Firmware..................:0    
The River 100.3MHz

Don't know if those are right, but it seems to find both my DS3231 and the Si4703

Fishbone69 commented 3 months ago

@pu2clr @Scugnizzo o.k. I downloaded pu2clr library for the RDA5807. It works well on esp32-s3. In fact, I am listening with headphones and don't need an amplifier! I would want to turn the volume down a bit since at vol=0 it is comfortable. Also seek doesn't work but frequency up and down do - im sure I can figure those out.

The point is, I can rule out my antenna, reference clock input, etc. For Si4703 It is definitely something with the esp32-s3 and the various libraries.

Fish.

cassou commented 2 months ago

Same issue here, with an ESP32-D0WD (lolin32 lite board) Tested with various libraries, always stuck in the same place. I have been looking in the code, datasheet an AN... but still no clue of the source of the bug. Sadly I do not have any "known working" board to try to compare.

EDIT : since I REALLY need to make this work, a pro-mini clone and an official sparfun SI4703 board are now on the way to my home. Lets hope it allow me to find whats wrong with esp32+cheap SI4703 from amazon.

PN........................:1
Manufacturer..............:1
CHIP Version..............:4
Device....................:1000
Firmware..................:0
Estacao 88.4MHz
cassou commented 3 weeks ago

OK, I found the issue in my case : I was using the 3V supply from my esp32 devboard to power the SI4703 module. It is not powerfull enough, at some point the si4703 start drawing too much current and the 3V supply drop to ~1V.

Solution : I used and external 3.3V power supply and everything is good now. Hope this help !

Scugnizzo commented 3 weeks ago

Not for me! I already use an external 3.3 V power supply.....Il 14 giu 2024 15:37, Mathieu Cassard @.***> ha scritto: OK, I found the issue in my case : I was using the 3V supply from my esp32 devboard to power the SI4703 module. It is not powerfull enough, at some point the si4703 start drawing too much current and the 3V supply drop to ~1V. Solution : I used and external 3.3V power supply and everything is good now. Hope this help !

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>