Si4703_Breakout

how do i set a max Freq of 107.1?

void Si4703_Breakout::setChannel(int channel)
{
  //Freq(MHz) = 0.200(in USA) * Channel + 87.5MHz
  //97.3 = 0.2 * Chan + 87.5
  //9.8 / 0.2 = 49
  int newChannel = channel * 10; //973 * 10 = 9730
  newChannel -= 8750; //9730 - 8750 = 980
 #ifdef IN_EUROPE
    newChannel /= 10; //980 / 10 = 98
 #else
  newChannel /= 20; //980 / 20 = 49
 #endif

You’d need to multiply the frequency by 10. In the case of 107.1MHz, you’d call that 1071 in your code. The library takes care of the rest of the conversion for you.

can you switch between the 2 channels?

int newChannel * 10; //1071 * 10 = 107.1

newChannel - 48; //1071 - 48 = 102.3

Yes, you can change the channel/station by sending a new frequency. A radio that you can’t change the stations wouldn’t be very useful! :slight_smile:

Does anybody know why this breakout is spec’d as 3.3v only when the datasheet for both the FM chip and headphone amp are both 2.7-5.5v?

I’ve only got 5v Arduino’s and its terribly inconvenient to have to use level shifters and two supplys.

Per the datasheet, Vio (the I/O pin voltages) for the FM chip is 3.6V max…

/mike