Adafruit Si4713 FM Radio Transmitter

Post here about your Arduino projects, get help - for Adafruit customers!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Stromkreise
 
Posts: 3
Joined: Mon Feb 20, 2023 6:09 pm

Adafruit Si4713 FM Radio Transmitter

Post by Stromkreise »

Thanks for reading.

I've hit a roadblock right out of the gate with the Adafruit Si4713 FM Radio Transmitter.
I'm using a non-Arduino brand development board (keyestudio PLUS) and have followed the wiring hookup from the guide https://learn.adafruit.com/adafruit-si4 ... -and-usage.
Compiled the adaradio sketch and uploaded without issue but then get the following in the serial monitor,
Adafruit Radio - Si4713 Test
Couldn't find radio?
The guide or sketch comments doesn't provide a troubleshoot for this so does the error mean the Adafruit breakout board itself cannot be found by the development board?
Any suggestions are much appreciated.

Solder work
Solder work
solder.jpg (566.68 KiB) Viewed 488 times
Breakout board hookup
Breakout board hookup
breakout hookup.jpg (958.36 KiB) Viewed 488 times
Development board view 1
Development board view 1
development board 1.jpg (896.55 KiB) Viewed 488 times

User avatar
Stromkreise
 
Posts: 3
Joined: Mon Feb 20, 2023 6:09 pm

Re: Adafruit Si4713 FM Radio Transmitter

Post by Stromkreise »

Development board view #2
Development board view #2
development board 2.jpg (1015.74 KiB) Viewed 487 times

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Si4713 FM Radio Transmitter

Post by adafruit_support_mike »

Check your dev board to see if it has pull-up resistors on the I2C pins.

If not, try adding 4.7k pull-ups on SDA and SCL.

User avatar
Stromkreise
 
Posts: 3
Joined: Mon Feb 20, 2023 6:09 pm

Re: Adafruit Si4713 FM Radio Transmitter

Post by Stromkreise »

adafruit_support_mike wrote: Mon Feb 20, 2023 11:02 pm Check your dev board to see if it has pull-up resistors on the I2C pins.

If not, try adding 4.7k pull-ups on SDA and SCL.
Thank you for the advice.
I could not locate a schematic from the dev board manufacturer so proceeded assuming it needed pull-ups and ran the 4.7k as shown here https://learn.adafruit.com/working-with ... -resistors.
No luck unfortunately.
This breakout will need to go in a drawer until I acquire an Arduino brand Uno as shown in the Adafruit guide (https://learn.adafruit.com/adafruit-si4 ... -and-usage) and if that doesn't work I'll assume I purchased a DOA breakout from Mouser.

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit Si4713 FM Radio Transmitter

Post by adafruit_support_mike »

You aren't handcuffed to the Uno or its equivalent (like our Metro 328). Pretty much any microcontroller dev board we carry will work with the Si4713.


Also, reviewing the photos above, I noticed that you don't have a connection for the Si4713's RESET pin. Try hooking that up and see if it helps. In many cases, our code libraries have .begin() functions that reset the board to put it in a known state.

User avatar
trifusion
 
Posts: 1
Joined: Sun Mar 19, 2023 5:49 am

Re: Adafruit Si4713 FM Radio Transmitter

Post by trifusion »

If you are still having a problem, I think there is a flaw in the reset() call timing in Adafruit_Si4713.cpp

begin() in the library does the reset() call after checking the i2c, I added the reset to precede the i2c and that helped in my case ... hopefully this helps others ...

Code: Select all

bool Adafruit_Si4713::begin(uint8_t addr, TwoWire *theWire) {
    reset(); // added this line
  if (i2c_dev)
    delete i2c_dev;
  i2c_dev = new Adafruit_I2CDevice(addr, theWire);
  if (!i2c_dev->begin())
    return false;

//  reset();  I commented out this line

  powerUp();

  // check for Si4713
  if (getRev() != 13)
    return false;

  return true;
}

User avatar
electronaut
 
Posts: 21
Joined: Wed Aug 20, 2014 6:25 pm

Re: Adafruit Si4713 FM Radio Transmitter

Post by electronaut »

Thanks for the heads-up about the misplaced reset() in the software.

There is another small issue caused by the periodic checking of ASQ and setting GPIO pins
in loop(). When the transmitter pauses or goes quiet, the receiver hears a periodic clicking
sound...caused by these checks! Commenting out everything in loop() is a work-around.

User avatar
Magooeds
 
Posts: 1
Joined: Sat Jun 10, 2023 9:40 am

Re: Adafruit Si4713 FM Radio Transmitter

Post by Magooeds »

hello. Could someone tell me what are the differences in the firmware of the Si4713-B30 and the Si4713-B20? In practice, what changes? Thanks

User avatar
pjforde1978
 
Posts: 21
Joined: Thu Oct 30, 2014 12:48 am

Re: Adafruit Si4713 FM Radio Transmitter

Post by pjforde1978 »

The reset() call is definitely in the wrong place. Someone with write commit access needs to push a library update; as far as I can tell, there's no way for the Si4713 board to work unless the developer is confident enough to check out a local copy of the library and fix it.

On the subject of clearing out the loop() method to avoid the clicks, does anyone know what the radio.setGPIOctrl(_BV(1) | _BV(2)) call is actually for? In other words, do we actually need it? So far as I can tell, it's never referenced in the documentation, explained in the code example or commented in the library function.

Code: Select all

  radio.setGPIO(_BV(1));
  delay(500);
  radio.setGPIO(_BV(2));
  delay(500);
It goes without saying that it would be nice to delete this if it's not actually doing something important.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino”