(Si4713) Arduino Nano not connecting to Radio

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
schilling42
 
Posts: 4
Joined: Wed Dec 07, 2022 12:37 am

(Si4713) Arduino Nano not connecting to Radio

Post by schilling42 »

Hi there,
I've been trying to get a Si4713 to connect to an elegoo nano 3. No matter what I try, I keep getting "Couldn't find radio?" returned in the serial monitor. I've tried the advice about trying the other power pin (viewtopic.php?f=8&p=915718). I've even tried an external supply at 2.5, 3, 4 and 5V.

Attached is an image of my wiring:
arduino radio pic.PNG
arduino radio pic.PNG (416.38 KiB) Viewed 252 times
I've tried other units of Si4713, other nanos, other wires and breadboards. I've also reinstalled the library and including a 1 second delay for troubleshooting.
I'm really running out of ideas here and I need this working for a school project I have due this week. Some help would be greatly appreciated.
Thanks!

User avatar
Franklin97355
 
Posts: 23911
Joined: Mon Apr 21, 2008 2:33 pm

Re: (Si4713) Arduino Nano not connecting to Radio

Post by Franklin97355 »

Can you post pictures of the boards top down so we can see the connections more closely? what are you connecting to the radio output? and what code are you running?

User avatar
schilling42
 
Posts: 4
Joined: Wed Dec 07, 2022 12:37 am

Re: (Si4713) Arduino Nano not connecting to Radio

Post by schilling42 »

Attached are overhead pics. I also tried plugging the SDA and SCL lines into data 2 and data 3 to see if it woul work like an Arduino micro, but no dice. I double checked the pinout and it looks like A4 and A5 are the only I2C pins.

At this point, I'm wondering if its something else about being a nano as opposed to another type of Arduino. I dont have an uno or anything to compare it to.

Also, here is the code I'm trying on it. Basically the same as the example installed with the library, but I added a delay in the setup as recommended in the forum thread I linked to in my original post

Code: Select all

/*************************************************** 
  This is an example for the Si4713 FM Radio Transmitter with RDS

  Designed specifically to work with the Si4713 breakout in the
  adafruit shop
  ----> https://www.adafruit.com/products/1958

  These transmitters use I2C to communicate, plus reset pin. 
  3 pins are required to interface
  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution

  Many thx to https://github.com/phrm/fmtx/blob/master/firmware/firmware.ino !

 ****************************************************/

#include <Wire.h>
#include <Adafruit_Si4713.h>
#define _BV(n) (1 << n)

#define RESETPIN 12

#define FMSTATION 10230      // 10230 == 102.30 MHz

Adafruit_Si4713 radio = Adafruit_Si4713(RESETPIN);

void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit Radio - Si4713 Test");
  delay(3000);  // wait 1 second (huge wait, but conservative for troubleshooting)
  if (! radio.begin()) {  // begin with address 0x63 (CS high default)
    Serial.println("Couldn't find radio?");
    while (1);
  }

  // Uncomment to scan power of entire range from 87.5 to 108.0 MHz
  /*
  for (uint16_t f  = 8750; f<10800; f+=10) {
   radio.readTuneMeasure(f);
   Serial.print("Measuring "); Serial.print(f); Serial.print("...");
   radio.readTuneStatus();
   Serial.println(radio.currNoiseLevel);
   }
   */

  Serial.print("\nSet TX power");
  radio.setTXpower(115);  // dBuV, 88-115 max

  Serial.print("\nTuning into "); 
  Serial.print(FMSTATION/100); 
  Serial.print('.'); 
  Serial.println(FMSTATION % 100);
  radio.tuneFM(FMSTATION); // 102.3 mhz

  // This will tell you the status in case you want to read it from the chip
  radio.readTuneStatus();
  Serial.print("\tCurr freq: "); 
  Serial.println(radio.currFreq);
  Serial.print("\tCurr freqdBuV:"); 
  Serial.println(radio.currdBuV);
  Serial.print("\tCurr ANTcap:"); 
  Serial.println(radio.currAntCap);

  // begin the RDS/RDBS transmission
  radio.beginRDS();
  radio.setRDSstation("AdaRadio");
  radio.setRDSbuffer( "Adafruit g0th Radio!");

  Serial.println("RDS on!");  

  radio.setGPIOctrl(_BV(1) | _BV(2));  // set GP1 and GP2 to output
}



void loop() {
  radio.readASQ();
  Serial.print("\tCurr ASQ: 0x"); 
  Serial.println(radio.currASQ, HEX);
  Serial.print("\tCurr InLevel:"); 
  Serial.println(radio.currInLevel);
  // toggle GPO1 and GPO2
  radio.setGPIO(_BV(1));
  delay(500);
  radio.setGPIO(_BV(2));
  delay(500);
}
edit: attached the pictures
Attachments
arduino radio pic 3.PNG
arduino radio pic 3.PNG (469.14 KiB) Viewed 245 times
arduino radio pic 2.PNG
arduino radio pic 2.PNG (267.31 KiB) Viewed 245 times

User avatar
schilling42
 
Posts: 4
Joined: Wed Dec 07, 2022 12:37 am

Re: (Si4713) Arduino Nano not connecting to Radio

Post by schilling42 »

I've tried running the Adafruit I2C scanner and it comes up with "no devices found" on the serial monitor. I checked again with gme12864 white OLED screen and the I2C scanner returned the correct address. So at this point I'm thinking it might be a problem with the radio code or firmware. I have tried reinstalling the si4713 library, but still no dice.

I really need an answer about this asap if anyone can help me.
Thanks

User avatar
schilling42
 
Posts: 4
Joined: Wed Dec 07, 2022 12:37 am

Re: (Si4713) Arduino Nano not connecting to Radio

Post by schilling42 »

Alright, i got it working now... oddly. So I tried rolling back the library version to 1.1.3 and it worked.

Here's where it gets weird: I tried on a different pair of nano and radio with library version 2.1.0 and it still returned "couldn't find radio?" but did prompt Arduino IO as a missing dependencies upon its installation. I then reinstalled 1.1.3, recompiled and uploaded to the Nano. This then had the radio working fine. I then installed 2.1.0, recompiled and uploaded again. Radio still worked with this. Tested with 2.1.1 and it worked too.

I tested all this again on a third pair of a nano and SI4713, only to get the same results. 2.1.1 wouldn't work until I had installed 1.1.3 and then reinstalled 2.1.1 I'm guessing there's probably something in 1.1.3 that didn't get included in the 2.1.0 and 2.1.1 libraries when they were updated.

If you need more info or anything, feel free to reach out. Not sure I'll be checking this forum all that much this week, but I'll try to keep an eye on it.

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

Return to “General Project help”