An FSK modem basically convert a digital signal into analog signal or sound signal by frequency shift keying technique. Here we can make our Arduino as an FSK modem by uploading a simple code. This project produce and play a sound corresponding to a digital signal and demodulate a sound signal into the corresponding digital signal.


For executing this, we need an Arduino library named SoftModem. The code is given below.

 #include  
 #include   

 SoftModem modem;
 int led = 13; 

 void setup ()  
 {
 pinMode(led, OUTPUT);  
 Serial . begin (57600);  
 modem. begin ();
 Serial . println ("Start");  
 }  

 void loop () 
 { 
 while (modem. available ())
  { // iPhone is receiving data from the check
  //Serial . println ("Data in");   
  int c = modem. read (); //1byte Lead 
  if (isprint(c))
   {  
   Serial . print ((char)c); //PC sends      
   }  
  else 
   {
   Serial . print ("("); //Hex printable characters are displayed in 
   Serial . print (c, HEX ); 
   Serial . print (")"); 
   }  
  } 
 while ( Serial . available ())
  { //PC to make sure data is received from
 // Serial . println ("Data out");   
  char c = Serial . read (); //1byte Lead 
  modem. write (c); //iPhone send       
  } 
 }

For avoiding the outside noise, it is important to connect a filter circuit in the output pins of Arduino. FSK_out on digital pin 6 and FSK_in on digital pin 3. On these pins we connect the filter likewise the picture shown below.

Incoming search terms:

  • arduino fsk demodulator
  • arduino fsk modem
  • arduino fsk
  • fsk arduino
  • arduino fsk decode
  • arduino modem
  • fsk in arduino
  • Arduino as an AFSK
  • ios fsk
  • iphone afsk baud

Filed under: ArduinoElectronics

Like this post? Subscribe to my RSS feed and get loads more!