<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GHOST BOX HACKS</title>
	<atom:link href="https://www.ghostboxhacks.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ghostboxhacks.com/</link>
	<description>Are you Tech Enough?</description>
	<lastBuildDate>Thu, 13 Jul 2023 20:31:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.ghostboxhacks.com/wp-content/uploads/ghostboxhacks_favicon32.png</url>
	<title>GHOST BOX HACKS</title>
	<link>http://www.ghostboxhacks.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Arduino Powered IR Illuminator!</title>
		<link>https://www.ghostboxhacks.com/arduino-powered-ir-illuminator/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Wed, 11 Jun 2014 16:26:17 +0000</pubDate>
				<category><![CDATA[IR Shield]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=83</guid>

					<description><![CDATA[<p>Download Sample IR Code</p>
<p>The post <a href="https://www.ghostboxhacks.com/arduino-powered-ir-illuminator/">Arduino Powered IR Illuminator!</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter"><a href="https://www.ghostboxhacks.com/wp-content/uploads/irshield.jpg"><img fetchpriority="high" decoding="async" width="300" height="300" src="https://www.ghostboxhacks.com/wp-content/uploads/irshield-300x300.jpg" alt="irshield" class="wp-image-84" srcset="https://www.ghostboxhacks.com/wp-content/uploads/irshield-300x300.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/irshield-150x150.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/irshield-100x100.jpg 100w, https://www.ghostboxhacks.com/wp-content/uploads/irshield.jpg 720w" sizes="(max-width: 300px) 100vw, 300px" /></a></figure></div>


<h2 class="wp-block-heading"><a href="https://www.ghostboxhacks.com/wp-content/uploads/shield.zip">Download Sample IR Code</a></h2>



<ul class="wp-block-list">
<li>Bellow is the sample code to power the IR shield.</li>



<li>The sample flashes from Channel 1 to 2 to 3 and varies the intensity of the LEDs as well.</li>



<li>The ability to set the intensity is crucial. All too often we see images that are wiped out from to strong IR.</li>



<li>By changing the value of &#8220;y&#8221; in the sample you can change the intensity of the LEDs.</li>



<li>By turning the channels on and off you can create a strobe effect.</li>



<li>Stay Safe: These are very powerful IR &#8220;infrared&#8221; LEDs. Though no warnings have been issued, be safe and avoid looking at them directly.</li>
</ul>



<pre class="wp-block-code"><code>========================================================================================================
/*
GhostBoxHack.com 
IR Shield Sample Code
*/

// Define the pins used to power and run the shield

int ch1 = 3; // LEDS 1&amp;2
int ch2 = 5; // LEDS 3&amp;4
int ch3 = 6; // LEDS 5&amp;6
int x = 100; // Delay in ms
int y = 0;   // PWM duty cycle
int pwr = 9; // Main Power control

void setup(void)
// Tell the Arduino how to use the pins
{
   pinMode(3, OUTPUT);      // sets the digital pin as output
   pinMode(5, OUTPUT);      // sets the digital pin as output
   pinMode(6, OUTPUT);      // sets the digital pin as output
   pinMode(9, OUTPUT);      // sets the digital pin as output
}

// Strobe and change intensity
void loop()
{
  analogWrite(pwr, y);
  digitalWrite(ch1, HIGH);   // sets the LED on
  delay(x);                      // waits for a second
  digitalWrite(ch1, LOW);  // sets the LED off
  delay(x);                     // waits for a second
  digitalWrite(ch2, HIGH); // sets the LED on
  delay(x);                    // waits for a second
  digitalWrite(ch2, LOW); // sets the LED off
  delay(x);                    // waits for a second
  digitalWrite(ch3, HIGH); // sets the LED on
  delay(x);                    // waits for a second
  digitalWrite(ch3, LOW); // sets the LED off
  delay(x);                   // waits for a second
  x--;
  y++;
 if (x &lt; 1) x = 100 ; 
 if (y &gt; 75) y = 0;
}</code></pre>
<p>The post <a href="https://www.ghostboxhacks.com/arduino-powered-ir-illuminator/">Arduino Powered IR Illuminator!</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Summer</title>
		<link>https://www.ghostboxhacks.com/summer/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Wed, 14 May 2014 20:29:47 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/?p=4</guid>

					<description><![CDATA[<p>Gearing up to slow down! I like to work. I love my job, but in my late fifties, working 7 days a week, 12-14 hours a day, is getting old.&#160; So I&#8217;m changing gears a bit and getting some more help.&#160; My goal is to achieve a 30 to 40 hour week by the end [&#8230;]</p>
<p>The post <a href="https://www.ghostboxhacks.com/summer/">Summer</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Gearing up to slow down!</p>
<p>I like to work. I love my job, but in my late fifties, working 7 days a week, 12-14 hours a day, is getting old.&nbsp; So I&#8217;m changing gears a bit and getting some more help.&nbsp; My goal is to achieve a 30 to 40 hour week by the end of 2014.</p>
<p>The plan is to spend more time on R&amp;D and much less on the production. I hope to catch up on projects and bring new ones on line.</p>
<p><img decoding="async" class="aligncenter wp-image-8" src="https://www.ghostboxhacks.com/wp-content/uploads/ghostboxhackspuku-e1402349633586-300x181.jpg" alt="ghostboxhackspuku" width="597" height="360" srcset="https://www.ghostboxhacks.com/wp-content/uploads/ghostboxhackspuku-e1402349633586-300x181.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/ghostboxhackspuku-e1402349633586-150x90.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/ghostboxhackspuku-e1402349633586.jpg 414w" sizes="(max-width: 597px) 100vw, 597px" /></p>
<p>The post <a href="https://www.ghostboxhacks.com/summer/">Summer</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>No drama, Please!</title>
		<link>https://www.ghostboxhacks.com/no-drama-please/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Fri, 07 Mar 2014 21:37:21 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=11</guid>

					<description><![CDATA[<p>I have received a couple emails from folks saying they can&#8217;t find any help for the Arduino&#8230;.. I understand your frustration. With less than 13,000,000 million sites, there&#8217;s really not much help out there. It&#8217;s sad. Not even 1,000,000 YouTube videos! The idea and goal behind this site is to give a boost to the [&#8230;]</p>
<p>The post <a href="https://www.ghostboxhacks.com/no-drama-please/">No drama, Please!</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I have received a couple emails from folks saying they can&#8217;t find any help for the Arduino&#8230;.. I understand your frustration.<br />
With less than 13,000,000 million sites, there&#8217;s really not much help out there.</p>
<p>It&#8217;s sad. Not even 1,000,000 YouTube videos!</p>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/nodramaarduino2.png"><img decoding="async" class="alignnone wp-image-13 size-full" src="https://www.ghostboxhacks.com/wp-content/uploads/nodramaarduino2.png" alt="nodramaarduino2" width="1044" height="94" srcset="https://www.ghostboxhacks.com/wp-content/uploads/nodramaarduino2.png 1044w, https://www.ghostboxhacks.com/wp-content/uploads/nodramaarduino2-150x13.png 150w, https://www.ghostboxhacks.com/wp-content/uploads/nodramaarduino2-300x27.png 300w, https://www.ghostboxhacks.com/wp-content/uploads/nodramaarduino2-1024x92.png 1024w" sizes="(max-width: 980px) 100vw, 980px" /></a></p>
<p>The idea and goal behind this site is to give a boost to the paranormal community, and challenge people to learn something new. It takes some effort, but the technology is inexpensive, powerful and very low cost.</p>
<p>Please if you&#8217;re having trouble, drop me an email. &nbsp;Please don&#8217;t write to tell me you can&#8217;t find information.</p>
<p>The post <a href="https://www.ghostboxhacks.com/no-drama-please/">No drama, Please!</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>FM Ghost Box &#8211; Step 3 &#8211; Becoming a &#8216;Ghost Box&#8217;</title>
		<link>https://www.ghostboxhacks.com/fm-ghost-box-becoming-a-ghost-box/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Wed, 29 Jan 2014 16:26:17 +0000</pubDate>
				<category><![CDATA[Ghost Box]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=74</guid>

					<description><![CDATA[<p>[catlist name=ghostbox orderby=&#8221;date&#8221; order=&#8221;asc&#8221; excerpt=&#8221;no&#8221;] &#160; &#160;I think the best thing we can do is blaze a trail, right or wrong forge ahead. The paranormal field is so vast, so uncharted, that we all need to be inventors and pioneers! If you&#8217;re a skeptic, that&#8217;s&#160;awesome&#8230; If you&#8217;re&#160;one&#160;of those &#8220;You&#8217;re wrong because I just know&#8221; or [&#8230;]</p>
<p>The post <a href="https://www.ghostboxhacks.com/fm-ghost-box-becoming-a-ghost-box/">FM Ghost Box &#8211; Step 3 &#8211; Becoming a &#8216;Ghost Box&#8217;</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[catlist name=ghostbox orderby=&#8221;date&#8221; order=&#8221;asc&#8221; excerpt=&#8221;no&#8221;]</p>
<p>&nbsp;</p>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/becomingaghostbox1.jpg"><img loading="lazy" decoding="async" class="alignleft wp-image-75 size-full" src="https://www.ghostboxhacks.com/wp-content/uploads/becomingaghostbox1.jpg" alt="becomingaghostbox1" width="250" height="140" srcset="https://www.ghostboxhacks.com/wp-content/uploads/becomingaghostbox1.jpg 250w, https://www.ghostboxhacks.com/wp-content/uploads/becomingaghostbox1-150x84.jpg 150w" sizes="auto, (max-width: 250px) 100vw, 250px" /></a>&nbsp;I think the best thing we can do is blaze a trail, right or wrong forge ahead.</p>
<p>The paranormal field is so vast, so uncharted, that we all need to be inventors and pioneers!</p>
<p>If you&#8217;re a skeptic, that&#8217;s&nbsp;awesome&#8230; If you&#8217;re&nbsp;one&nbsp;of those &#8220;You&#8217;re wrong because I just know&#8221; or &#8220;I&#8217;ve never tried that but I know it&nbsp;doesn&#8217;t &nbsp;work&#8221;- then I feel sorry for you.</p>
<p>The idea is have fun! Try something new&nbsp;surprise&nbsp;yourself and let everyone else worry about what&nbsp;they&#8217;re&nbsp;doing!</p>
<p>&nbsp;</p>
<h2>First Step Toward Coding a Ghost Box</h2>
<p>Let&#8217;s try some new code and take the first step&nbsp;towards&nbsp;a new ghost box!</p>
<h2><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmrxghost_mod_1.zip">Download the Modified Code</a></h2>
<p>This code will create a sweeping radio either up or down.<br>3 = up &nbsp;4 = down</p>


<pre class="wp-block-code"><code>//  Based on the Origanl  sample code of  www.elechouse.com   @brief   example of FMRX_MODULE
//  This radio can be pruchased at  www.elechouse.com
//  GBH  1/2/2014 Mod for "Ghost Box "  
    
#include 
#include 

float channel;
void setup(void)
{
  
  Serial.begin(9600); // setup serial communications to the host
  i2c_init(); // Setup IC2 for use pins (A4 and A5) arduino uno 
  fmrx_read_reg(fmrx_reg_r); // Start FMRX 
  fmrx_set_volume(8);// Set Default start up Volume</code></pre>



<p>Changing the value on the next line will increase or decrease the signal strength used to determine the radio has found a station.</p>



<pre class="wp-block-code"><code>  fmrx_set_rssi(0); // This tells the radio what is a strong enough signal to stop on .. we use 0 -5 for better low signal responce
  fmrx_select_band(BAND_US);   //  select a band, parameter:  BAND_EU:       87-108MHz, Europe  BAND_US:       87-108MHz, USA  BAND_JP:       76-91MHz, JAPAN  BAND_JP_WIDE:  76-108MHz, JAPAN wide
  channel=fmrx_seek(SEEK_DOWN); // find a chanel to start on. 
}
/* commands are 1 increase volume 2 decrease volume 3 scan  up x to exit 4. scan down x to exit */
void loop(void)
{
  static int vol=8;
  if(Serial.available()>0){
    switch(Serial.read()){
      case '1': // Increase Volume
        if(vol &lt; 0x0F){
          vol++;
        }
        fmrx_set_volume(vol);
        Serial.print("Volume+:");
        Serial.println(vol);
        Serial.print("\r\n");
        break;
        
      case '2': // decrease volume
        if(vol > 0){
          vol--;
        }
        fmrx_set_volume(vol);
        Serial.print("Volume-:");
        Serial.println(vol);
        Serial.print("\r\n");
        break;
        
        case '3': // Scan up Exit on 'x'
        do{        
        channel = fmrx_seek(SEEK_UP);
        Serial.print(channel);
        Serial.print("\r\n");
        delay(150); // change this amount to increase time stopped on a station 
        if(Serial.read()=='x'){break;} // Enter  'x' to exit scan up
         }
        while (1==1);
        break;

       case '4': // Scan Down Exit on 'x'
       do{       
        channel = fmrx_seek(SEEK_DOWN);
        Serial.print(channel);
        Serial.print("\r\n");
        delay(150); // change this amount to increase time stopped on a station 
        if(Serial.read()=='x'){break;} // Enter  'x' to exit scan up
        }
        while (1==1);
        break;
    }
  }
}</code></pre>
<p>The post <a href="https://www.ghostboxhacks.com/fm-ghost-box-becoming-a-ghost-box/">FM Ghost Box &#8211; Step 3 &#8211; Becoming a &#8216;Ghost Box&#8217;</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>FM Ghost Box &#8211; Step 2 &#8211; Software &#8211; Looking at Code</title>
		<link>https://www.ghostboxhacks.com/fm-ghost-box-software/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Tue, 28 Jan 2014 16:26:17 +0000</pubDate>
				<category><![CDATA[Ghost Box]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=54</guid>

					<description><![CDATA[<p>Arduino Software and Sample Program Now we need to setup the Arduino uno so you can control the Radio. Step 1 &#8211; Setup up the Software First download and install the Arduino Software. If you didn&#8217;t get the radio software frmx.zip, download it now. The FMX directory needs to be copied into your Arduino library [&#8230;]</p>
<p>The post <a href="https://www.ghostboxhacks.com/fm-ghost-box-software/">FM Ghost Box &#8211; Step 2 &#8211; Software &#8211; Looking at Code</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[catlist name=ghostbox orderby=&#8221;date&#8221; order=&#8221;asc&#8221; excerpt=&#8221;no&#8221;]</p>



<figure class="wp-block-embed-youtube wp-block-embed"><div class="wp-block-embed__wrapper">
https://youtube.com/watch?v=Vgv2mN-xYRc
</div></figure>



<h2 class="wp-block-heading">Arduino Software and Sample Program</h2>



<p>Now we need to setup the Arduino uno so you can control the Radio.</p>



<p><strong>Step 1 &#8211; Setup up the Software</strong></p>



<p>First download and install the <a href="https://arduino.cc/en/main/software#toc2">Arduino Software.</a></p>



<p>If you didn&#8217;t get the radio software frmx.zip, <a href="https://www.ghostboxhacks.com/wp-content/uploads/fmrx.zip">download it now</a>.</p>



<p>The FMX directory needs to be copied into your Arduino library directory.  For information on how to add files into your library, <a href="https://arduino.cc/en/Guide/Libraries">read this guide</a>.</p>



<p><strong>Let&#8217;s go!</strong></p>



<p>There&#8217;s always a learning curve the first time you start something like this.</p>



<p>The Arduino has a huge support community with thousnads of how-tos and help files to get you started.</p>



<p>If you get frusterated: I&#8217;m happy because that means you&#8217;re trying!</p>



<p><strong>Programming</strong></p>



<p>I won&#8217;t be posting any exotic code or cryptic commands.&nbsp; I&#8217;m going to try and make this simple, so first time programmers can see and understand.</p>



<p><strong>Here&#8217;s the sample code from the manufacture on the radio board:</strong></p>



<p>The Author of the program has added comments to help aid in understanding the program. The comments are displayed in red here.</p>



<pre class="wp-block-code"><code>========================================================================================================  
/**
  @file    fmrx_demo.ino
  @author  www.elechouse.com
  @brief   example of FMRX_MODULE
  
    For this demo, input character '1' from serial monitor to seek channel down, '2' to seek down
 '3' to volume up, '4' to volume down.'&amp;xxxx' (x is for a number) to manually set receive FM frequency
  
  @section  HISTORY
  
  V1.0 initial version
  
    Copyright (c) 2012 www.elechouse.com  All right reserved.
*/
/** include library */

#include &lt;FMRX.h>
float channel;
void setup(void)
{
  Serial.begin(9600);
  Serial.print("FM-RX Demo By Elechosue\r\n");
  
  /** I2C initial */
  i2c_init();
  
  fmrx_power();
  fmrx_read_reg(fmrx_reg_r);
  Serial.print("FMRX Module Power up.\r\n");

  /** set volume */
  fmrx_set_volume(10);
  Serial.println("Volume Set");
  
  /** receive signal strength set, range:0-127*/
  fmrx_set_rssi(15);
  
  /** 
    select a band, parameter:
    BAND_EU:       87-108MHz, Europe
    BAND_US:       87-108MHz, USA
    BAND_JP:       76-91MHz, JAPAN
    BAND_JP_WIDE:  76-108MHz, JAPAN wide
  */
  fmrx_select_band(BAND_EU);
  
  channel=fmrx_seek(SEEK_DOWN);
  Serial.println("Initial seek.");
  Serial.print("Channel:");
  Serial.print(channel, 2);
  Serial.println("MHz");
}

void loop(void)
{
  static u8 vol=10;
  if(Serial.available()>0){
    switch(Serial.read()){
      case '1':
        Serial.println("Wait...");
        channel = fmrx_seek(SEEK_DOWN);
        Serial.println("Seek down.");
        Serial.print("Channel:");
        Serial.print(channel, 2);
        Serial.println("MHz");
        break;
      case '2':
        Serial.println("Wait...");
        channel = fmrx_seek(SEEK_UP);
        Serial.println("Seek up.");
        Serial.print("Channel:");
        Serial.print(channel, 2);
        Serial.println("MHz");
        break;
      case '3':
        Serial.println("Wait...");
        if(vol &lt; 0x0F){
          vol++;
        }
        fmrx_set_volume(vol);
        Serial.print("Volume+:");
        Serial.println(vol);
        break;
      case '4':
        Serial.println("Wait...");
        if(vol > 0){
          vol--;
        }
        fmrx_set_volume(vol);
        Serial.print("Volume-:");
        Serial.println(vol);
        break;
   /** check data for setting new channel. Input data must start with '&amp;' and followed by 4 numbers, the first 3 is the integer part
    (Unit: MHz), the last one is the decimal part.And the channel must between 76MHz and 108Mhz.(eg: &amp;0756 for 75.6MHz, and &amp;0666 is out of range)
  */
        case '&amp;':
        u8 i,buf[4];
         float ch;
         i=0;
         delay(30);
         while(Serial.available()&amp;&amp;i&lt;4){
           buf[i]=Serial.read();
           if (buf[i]&lt;= '9' &amp;&amp; buf[i]>= '0') { 
           i++;}
           else{
           i=0;
           break;
           }
         }
         if (i==4){
           ch = (buf[0]-'0')*100+(buf[1]-'0')*10+(buf[2]-'0')*1+0.1*(buf[3]-'0');
           Serial.println(fmrx_set_freq(ch),2);
         }else{
           Serial.println("Input Error.");
         }
         /** dummy read for useless character */
         while(Serial.available()){
           Serial.read();
         }
         break;
    }
  }
}
=====================================================================================================================</code></pre>



<p>Ok! Take a breath! It&#8217;s not that bad- it just looks crazy.</p>



<p>My goal is to make you comfortable with building, running and modifying your very own ghost box. Then you can decide just how it should work and why!</p>



<p>So let&#8217;s tear into it a few lines at a time.</p>



<h2 class="wp-block-heading">The Code Title</h2>



<p>The first couple of lines of real code are the Code Title area.</p>



<p>Here is where the author is telling you who wrote this app and where they can be find.&nbsp; They also tell you the way the intend the code to work and any other info.</p>



<p>Remember: comments are in red. They are not acutal code, just author notes.</p>



<pre class="wp-block-code"><code>/**
  @file    fmrx_demo.ino
  @author  www.elechouse.com
  @brief   example of FMRX_MODULE
  
    For this demo, input character '1' from serial monitor to seek channel down, '2' to seek down
 '3' to volume up, '4' to volume down.'&amp;xxxx' (x is for a number) to manually set receive FM frequency
  
  @section  HISTORY
  
  V1.0 initial version
  
    Copyright (c) 2012 www.elechouse.com  All right reserved.
*/</code></pre>



<p>Alright, so that&#8217;s telling us that elechouse.com made the fmrx demo and how it works.</p>



<h2 class="wp-block-heading">Including Libraries</h2>



<p>Next we really start to build the program. Here is where the author sets up what library the Arduino will be using.<br>A library is a simple set of additional code that&#8217;s grouped together. Libraries make it easier to create complex programs.</p>



<pre class="wp-block-code"><code>/** include library */
#include </code></pre>



<p>Not too bad. There&#8217;s only one library called for in this basic program.</p>



<h2 class="wp-block-heading">Declaring Functions</h2>



<p>Now let&#8217;s look at the first section of the main program. Here the Author starts out by declaring a function called setup:</p>



<p>Communication is setup communicate to the computer and the Arduino:</p>



<pre class="wp-block-code"><code>Serial.begin(9600);</code></pre>



<p>Command is issued to signal to the computer the program is active:</p>



<pre class="wp-block-code"><code>Serial.print("FM-RX Demo By Elechosue\r\n");</code></pre>



<p>Radio module communication is started:</p>



<pre class="wp-block-code"><code>  /** I2C initial */
  i2c_init();</code></pre>



<p>Radio is not turned on &#8220;Initialized&#8221;:</p>



<pre class="wp-block-code"><code>fmrx_power();
fmrx_read_reg(fmrx_reg_r);</code></pre>



<p>Announce the Radio is running:</p>



<pre class="wp-block-code"><code>  Serial.print("FMRX Module Power up.\r\n");</code></pre>



<p>Set up the operations for the radio (volume, signal strength and band):</p>



<pre class="wp-block-code"><code> /** set volume */
  fmrx_set_volume(10);
  Serial.println("Volume Set");
  
  /** receive signal strength set, range:0-127*/
  fmrx_set_rssi(15);
  
  /** 
    select a band, parameter:
    BAND_EU:       87-108MHz, Europe
    BAND_US:       87-108MHz, USA
    BAND_JP:       76-91MHz, JAPAN
    BAND_JP_WIDE:  76-108MHz, JAPAN wide
  */
  fmrx_select_band(BAND_EU);
  
  channel=fmrx_seek(SEEK_DOWN);
  Serial.println("Initial seek.");
  Serial.print("Channel:");
  Serial.print(channel, 2);
  Serial.println("MHz");
}</code></pre>



<p>Ok, now we have the radio, Arduino and the computer all attached and talking.</p>



<h2 class="wp-block-heading">Setup and ready to Rock</h2>



<p>Next &#8230; time to do something.</p>



<pre class="wp-block-code"><code>void loop(void)
{</code></pre>



<p>Next it set up a couple variables that this program will need:</p>



<pre class="wp-block-code"><code>  static u8 vol=10;</code></pre>



<p>Look for an input from the host computer:</p>



<pre class="wp-block-code"><code>  if(Serial.available()>0){
    switch(Serial.read()){</code></pre>



<p>If the input is a 1, execute this code:</p>



<pre class="wp-block-code"><code>      case '1':
        Serial.println("Wait...");
        channel = fmrx_seek(SEEK_DOWN);
        Serial.println("Seek down.");
        Serial.print("Channel:");
        Serial.print(channel, 2);
        Serial.println("MHz");
        break;</code></pre>



<p>If the input is a 2 execute this code:</p>



<pre class="wp-block-code"><code>      case '2':
        Serial.println("Wait...");
        channel = fmrx_seek(SEEK_UP);
        Serial.println("Seek up.");
        Serial.print("Channel:");
        Serial.print(channel, 2);
        Serial.println("MHz");
        break;</code></pre>



<p>If the input is a 3, execute this code:</p>



<pre class="wp-block-code"><code>      case '3':
        Serial.println("Wait...");
        if(vol &lt; 0x0F){
          vol++;
        }
        fmrx_set_volume(vol);
        Serial.print("Volume+:");
        Serial.println(vol);
        break;</code></pre>



<p>If the input is a 4, execute this code:</p>



<pre class="wp-block-code"><code>      case '4':
        Serial.println("Wait...");
        if(vol > 0){
          vol--;
        }
        fmrx_set_volume(vol);
        Serial.print("Volume-:");
        Serial.println(vol);
        break;
  /** check data for setting new channel. Input data must start with '&amp;' and followed by 4 numbers, the first 3 is the integer part
    (Unit: MHz), the last one is the decimal part.And the channel must between 76MHz and 108Mhz.(eg: &amp;0756 for 75.6MHz, and &amp;0666 is out of range)
  */</code></pre>



<p>If the input is a &amp;, execute this code:</p>



<pre class="wp-block-code"><code>        case '&amp;':
        u8 i,buf[4];
         float ch;
         i=0;
         delay(30);
         while(Serial.available()&amp;&amp;i&lt;4){
           buf[i]=Serial.read();
           if (buf[i]&lt;= '9' &amp;&amp; buf[i]>= '0') { 
           i++;}
           else{
           i=0;
           break;
           }
         }
         if (i==4){
           ch = (buf[0]-'0')*100+(buf[1]-'0')*10+(buf[2]-'0')*1+0.1*(buf[3]-'0');
           Serial.println(fmrx_set_freq(ch),2);
         }else{
           Serial.println("Input Error.");
         }
         /** dummy read for useless character */
         while(Serial.available()){
           Serial.read();
         }
         break;
    }
  }
}</code></pre>



<h2 class="wp-block-heading">What FMRX program does.</h2>



<p>Seems like a lot, but it&#8217;s really a pretty simple program.</p>



<p>Here&#8217;s what frmx is doing:</p>



<ol class="wp-block-list"><li>Grab a library to tell us about the radio.</li><li>Setup the basic items we need.</li><li>Look for inputs from the host computer.</li><li>Execute the input code.</li><li>Repeat at # 3.</li></ol>



<h2 class="wp-block-heading">Run FMRX_demo on your Arduino now!</h2>



<p>Download the Manufactures example code, install the Arduino<br>program on your computer, Mac, PC or Linux.</p>



<p>Compile the FMRX_demo program and upload it to your Arduino!</p>



<p>Miss something? You bet. For more help with setting up your Arduino<br>Search the web there are thousands of sites that help the first time user.</p>



<h2 class="wp-block-heading"><a href="https://www.ghostboxhacks.com/webpress/fm-ghost-box-becoming-a-ghost-box/">Next: Making a &#8216;Ghost Box&#8217;!</a></h2>



<p>Next installment: Modifying the code and creating a working &#8220;Ghost Box!&#8221;</p>
<p>The post <a href="https://www.ghostboxhacks.com/fm-ghost-box-software/">FM Ghost Box &#8211; Step 2 &#8211; Software &#8211; Looking at Code</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>FM Ghost Box &#8211; Step 1 &#8211; Hardware &#8211; Getting Started</title>
		<link>https://www.ghostboxhacks.com/fm-ghost-box-step1/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Mon, 27 Jan 2014 20:02:13 +0000</pubDate>
				<category><![CDATA[Ghost Box]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=23</guid>

					<description><![CDATA[<p>[catlist name=ghostbox orderby=&#8221;date&#8221; order=&#8221;asc&#8221; excerpt=&#8221;no&#8221;] &#160; You&#8217;ll Need the Following Supplies Arduino and USB cable Serial FM radio module with Amplifier male to female single pin jumper wires &#160; More About your Supplies 1 &#8211; Arduino and USB cable For this Project we will be using the Arduino Uno R3. This is a processor board [&#8230;]</p>
<p>The post <a href="https://www.ghostboxhacks.com/fm-ghost-box-step1/">FM Ghost Box &#8211; Step 1 &#8211; Hardware &#8211; Getting Started</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>[catlist name=ghostbox orderby=&#8221;date&#8221; order=&#8221;asc&#8221; excerpt=&#8221;no&#8221;]</p>
<p>&nbsp;</p>
<h2>You&#8217;ll Need the Following Supplies</h2>
<ul>
<li style="list-style-type: none;">
<ul class="list">
<li>Arduino and USB cable</li>
<li>Serial FM radio module with Amplifier</li>
<li>male to female single pin jumper wires</li>
</ul>
</li>
</ul>
<h2>&nbsp;</h2>
<h2>More About your Supplies</h2>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_1.jpg"><img loading="lazy" decoding="async" class="alignleft wp-image-40 size-medium" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_1-300x207.jpg" alt="Arduino UNO R3" width="300" height="207" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_1-300x207.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_1-150x103.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_1.jpg 450w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><strong>1 &#8211; Arduino and USB cable</strong><br />
For this Project we will be using the Arduino Uno R3.<br />
This is a processor board with built in interface for USB. Easily available from numerous sources including our own <a href="https://www.ghostshop.com/product-category/ghostboxhacks/">Ghost Box Hacks.</a></p>
<p>The Arduino Uno is a microcontroller board based on the ATmega328 (<a title="" href="https://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf">datasheet</a>). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.</p>
<p>There are several types of Arduino boards, however we will only be using the UNO. Most all the Adruino versions will work for these projects, but it may be easier for beginners to follow the Arduino Uno R3.</p>
<p>&nbsp;</p>
<hr>
<p><strong><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_2.jpg"><img loading="lazy" decoding="async" class="size-medium wp-image-41 alignleft" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_2-300x300.jpg" alt="Serial FM Radio Module with Amplifier" width="300" height="300" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_2-300x300.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_2-150x150.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_2-100x100.jpg 100w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_2.jpg 451w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>1 &#8211; Serial FM radio module with Amplifier</strong></p>
<p>This module communicates with the Arduino through I2C interface. All commands are sent through I2C interface.</p>
<p><strong>Features:</strong></p>
<ol>
<li>On board 3W amplifier</li>
<li>Standard 5V power supply</li>
<li>I2C interface 5V TTL</li>
<li>3.5mm headset jack</li>
</ol>
<p>This device is available from <a href="https://www.ghostshop.com/product-category/ghostboxhacks/">Ghost Box Hacks</a>.</p>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmrx.zip">Download the FM Radio Arduino Library and Demo Software</a></p>
<p>&nbsp;</p>
<hr>
<h2>Connect the Arduino to the FM Radio!</h2>
<p>&nbsp;</p>
<p><strong><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_3.jpg"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-42" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_3-300x225.jpg" alt="Connect Arduino to FM Radion 1" width="300" height="225" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_3-300x225.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_3-150x112.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_3.jpg 451w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Connect the Arduino to the FM Radio</strong></p>
<p><em>Now we start the fun stuff!</em><br />
Look closely at your Arduino and Radio &nbsp;locate the following pins on both items:</p>
<p><strong>On the radio</strong>&#8211; just to the inside of the board, behind the black connector.</p>
<p>You&#8217;ll need find the following:&nbsp; SCL SDA VCC GND</p>
<p><strong>On the Arduino</strong>&#8211; locate the pins located on the two black connection bars.</p>
<p>You&#8217;ll need find the following:&nbsp; A5 A4 GND 5V</p>
<p>The two devices wire:</p>
<table class="basic">
<tbody>
<tr>
<th>Radio</th>
<th>Uno</th>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
<tr>
<td>VCC</td>
<td>5v</td>
</tr>
<tr>
<td>SDA</td>
<td>A4</td>
</tr>
<tr>
<td>SLC</td>
<td>A5</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<hr>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_4.jpg"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-43" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_4-300x225.jpg" alt="FM Radio Connected" width="300" height="225" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_4-300x225.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_4-150x112.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_4.jpg 454w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Here&#8217;s how I connected mine for this demonstration.<br />
I used some male to female single pin jumper wires.</p>
<p>This&nbsp; allows me to quickly change the setup if I decide to try something different in the future.</p>
<p>[divider]</p>
<hr>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_5.jpg"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-44" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_5-300x237.jpg" alt="fmbox1_5" width="300" height="237" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_5-300x237.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_5-150x118.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_5.jpg 459w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Note the wires correspond to the chart below:</p>
<table class="basic">
<tbody>
<tr>
<th>Board</th>
<th>Uno</th>
<th>Wire</th>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
<td>Black</td>
</tr>
<tr>
<td>VCC</td>
<td>5V</td>
<td>Red</td>
</tr>
<tr>
<td>SDA</td>
<td>A4</td>
<td>Blue</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<hr>
<p>[divider]</p>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_6.jpg"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-45" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_6-300x213.jpg" alt="fmbox1_6" width="300" height="213" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_6-300x213.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_6-150x106.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_6.jpg 452w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>The Radio Board has a couple items you can add.</p>
<p>The Output jack disables the amplifier when head phones are<br />
plugged in.</p>
<p>If you want to use an external antenna and speakers, look close at the board and the picture I have to the left.</p>
<p>The Radio has an internal 3 watt amplifier. It&#8217;s plenty of load- we just need to add speakers &#8230; but you can just use headphones if you like.</p>
<p>The Radio uses the cord of your plugged-in head phone as the antenna, but they also gave us an external antenna connection as well.</p>
<p>Note where I added a single pin in the lower right hand corner.</p>
<p>** The PDF included in the Radio MFG zip file show this in detail. <a href="https://www.ghostboxhacks.com/wp-content/uploads/fmrx.zip">Download the FM Radio Arduino Library and Demo Software</a></p>
<p>&nbsp;</p>
<hr>
<p><a href="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_7.jpg"><img loading="lazy" decoding="async" class="alignleft size-medium wp-image-46" src="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_7-300x293.jpg" alt="fmbox1_7" width="300" height="293" srcset="https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_7-300x293.jpg 300w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_7-150x146.jpg 150w, https://www.ghostboxhacks.com/wp-content/uploads/fmbox1_7.jpg 455w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Here&#8217;s the way I use my radio board:<br />
I added two speakers Right and Left since the radio is an FM stereo.<br />
I also attached a wire for an external antenna.</p>
<p>That&#8217;s the basics.</p>
<p>We&#8217;ll add some more hardware next month:<br />
A couple of switches and a battery in case you want to have a completely stand alone device.</p>
<p>Once the four wires are connected between the Uno board and the radio, you can use a set of head phones and run the &#8220;Box&#8221; using your computer.</p>
<hr>
<p>&nbsp;</p>
<p><iframe loading="lazy" src="//www.youtube.com/embed/Vgv2mN-xYRc" allowfullscreen="allowfullscreen" width="640" height="360" frameborder="0"></iframe></p>
<h2><a title="FM Ghost Box – Step 2 – Software – Looking at Code" href="https://www.ghostboxhacks.com/webpress/fm-ghost-box-software/">Next &#8211; FM Ghost Box – Step 2 – Software – Looking at Code</a></h2>
<p>The post <a href="https://www.ghostboxhacks.com/fm-ghost-box-step1/">FM Ghost Box &#8211; Step 1 &#8211; Hardware &#8211; Getting Started</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How far will we go?</title>
		<link>https://www.ghostboxhacks.com/how-far-will-we-go/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Sun, 12 Jan 2014 23:52:29 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=15</guid>

					<description><![CDATA[<p>With the advent of simple to use inexpensive processors, it&#8217;s a great time to experiment with microprocessor controlled projects. Low cost, easy and a VERY LARGE community for programming and hardware support. How far will we go?  It&#8217;s my intention to do 5-7 full &#8220;Box&#8221; projects with stand-a-lone operation or PC support. The first projects [&#8230;]</p>
<p>The post <a href="https://www.ghostboxhacks.com/how-far-will-we-go/">How far will we go?</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>With the advent of simple to use inexpensive processors, it&#8217;s a great time to experiment with microprocessor controlled projects. Low cost, easy and a VERY LARGE community for programming and hardware support.</p>
<p>How far will we go?  It&#8217;s my intention to do 5-7 full &#8220;Box&#8221; projects with stand-a-lone operation or PC support.<br />
The first projects for GBH &#8220;Ghost Box Hacks&#8221;</p>
<p>Project #1.<br />
4 Wire hook-up, ultra simple scanning, FM Ghost box.<br />
This will be a VERY easy project, with many features:</p>
<ul class="list">
<li><span style="font-size: 13px;">    S</span><span style="font-size: 13px;">can up / scan down</span></li>
<li><span style="font-size: 13px;">    Scan to station</span></li>
<li><span style="font-size: 13px;">    Random Scan</span></li>
<li><span style="font-size: 13px;">    Mute between stations</span></li>
<li><span style="font-size: 13px;">    Volume up and down</span></li>
</ul>
<p>The post <a href="https://www.ghostboxhacks.com/how-far-will-we-go/">How far will we go?</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Welcome to Ghost Box Hacks.</title>
		<link>https://www.ghostboxhacks.com/welcome-to-ghost-box-hacks/</link>
		
		<dc:creator><![CDATA[Bill Chappell]]></dc:creator>
		<pubDate>Sun, 12 Jan 2014 21:53:02 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://www.ghostboxhacks.com/webpress/?p=17</guid>

					<description><![CDATA[<p>I hope you enjoy these projects, I&#8217;ll do my best to keep them simple and low cost. Please be patient while we finish the site and post the first project. I&#8217;ll do my best to answer emails in a timely fashion and create an FAQ with common questions. Best Regards, Bill</p>
<p>The post <a href="https://www.ghostboxhacks.com/welcome-to-ghost-box-hacks/">Welcome to Ghost Box Hacks.</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I hope you enjoy these projects, I&#8217;ll do my best to keep them simple and low cost.<br />
Please be patient while we finish the site and post the first project. I&#8217;ll do my best to answer<br />
emails in a timely fashion and create an FAQ with common questions.</p>
<p>Best Regards,<br />
Bill</p>
<p>The post <a href="https://www.ghostboxhacks.com/welcome-to-ghost-box-hacks/">Welcome to Ghost Box Hacks.</a> appeared first on <a href="https://www.ghostboxhacks.com">GHOST BOX HACKS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
