Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with rx.setFrequency(); #4

Open
Scugnizzo opened this issue Jan 8, 2024 · 7 comments
Open

Problem with rx.setFrequency(); #4

Scugnizzo opened this issue Jan 8, 2024 · 7 comments

Comments

@Scugnizzo
Copy link

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
Copy link

Fishbone69 commented Mar 31, 2024

@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
Copy link

Fishbone69 commented Mar 31, 2024

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
Copy link

Fishbone69 commented Mar 31, 2024

@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
Copy link

cassou commented Apr 28, 2024

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
Copy link

cassou commented Jun 14, 2024

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
Copy link
Author

Scugnizzo commented Jun 14, 2024 via email

@jezo421
Copy link

jezo421 commented Jan 4, 2025

Yesterday I received the Si4703 module from Ali. I had the same problem. I2C communication was OK, but tune did not work. Register Status RSSI was still 0x0000. The problem was HW. Pad 16 on the bottom of the chip was not soldered. It is an analog power supply, so it could not work. The repair was unpleasant, but it was successful :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants